Guten Morgen,
ich habe 10 Checkboxen, welche neben einem Textfeld stehen. Ist die Checkbox angehakt, soll das entsprechende Textfeld enabled sein. Wird die Checkbox abgehakt, soll das Textfeld disabled und ausgegraut sein.
Da ich nicht 10 Mal den gleichen Code schreiben möchte, möchte ich eine Funktion nutzen, welche 10 Mal aufgerufen wird.
Checkbox:
Option Explicit
Dim strFeld As String
Dim chkFeld As String
Private Sub chkThema1_Click()
strFeld = "txtThema1"
chkFeld = "chkThema1"
Feldfarbe strFeld, chkFeld
End Sub
Funktion zum Enablen und Einfärben:
Private Sub Feldfarbe(strFeld As String, chkFeld As String)
If Me.chkFeld.Value = True Then
Me.txtFeld.BackColor = RGB(255, 255, 255)
ElseIf Me.chkFeld.Value = False Then
Me.txtFeld.BackColor = RGB(220, 220, 220)
End If
End Sub
Andere Checkboxen schreiben in die Variablen beispielsweise "txtThema2" und "chkThema2". Die Übergabe der Variablen habe ich durch eine MsgBox getestet. Das funktioniert problemlos.
Es ergibt sich also folgende Frage: Wie kann ich (oder wieso kann ich nicht) in eine Eigentschaftenabfrage /-bestimmung eine Variable einbauen?
(Me.chkFeld.Value = True führt zu der Fehlermeldung "Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden")
Ich wäre dankbar für jeden Tipp!
|