Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: FlorianF am Februar 17, 2017, 14:58:15 Nachmittag

Titel: Office 2016 Textboxen abhängig von Checkbox aktivieren
Beitrag von: FlorianF am Februar 17, 2017, 14:58:15 Nachmittag
Hi Leute,

ich will erreichen, dass bei aktiver Checkbox bestimmte Textboxen aktiviert werden und bei deaktivierter Checkbox die Textboxen ebenfalls deaktiviert werden. Der folgende Code funktioniert insoweit, dass nach dem ersten aktivieren der Checkbox auch die Textboxen aktiviert werden. Der Weg zurück, dass also die Textboxen wieder deaktiviert werden funktioniert nicht.

Private Sub chkDebitoren_AfterUpdate()
    'Wenn Checkbox Debitoren aktiviert ist auch die Textboxen aktivieren
    If chkDebitoren.Enabled = True Then
        txtDebitorenVon.Enabled = True
        txtDebitorenVon.Locked = False
        txtDebitorenVon.BackColor = &H80000005
        txtDebitorenBis.Enabled = True
        txtDebitorenBis.Locked = False
        txtDebitorenBis.BackColor = &H80000005
   
    'Wenn Checkbox Debitoren deaktiviert ist auch die Textboxen deaktivieren und Inhalt löschen
    ElseIf chkDebitoren.Enabled = False Then
        txtDebitorenVon.Enabled = False
        txtDebitorenVon.Locked = True
        txtDebitorenVon.BackColor = &H8000000F
        txtDebitorenVon.Text = ""
        txtDebitorenBis.Enabled = False
        txtDebitorenBis.Locked = True
        txtDebitorenBis.BackColor = &H8000000F
        txtDebitorenBis.Text = ""
    End If
End Sub

Hat jemand ne Ahnung woran das liegt?

Beste Grüße
Flo
Titel: Antw:Office 2016 Textboxen abhängig von Checkbox aktivieren
Beitrag von: maninweb am Februar 17, 2017, 15:31:55 Nachmittag
Hallo,

versuche es mal wie folgt. Locked brauchst Du in diesem Fall nicht, denn deaktivierte TextBoxen werden nicht
angesprungen. Locked ist für aktive, aber nicht editierbare Textfelder gedacht.

Code: Visual Basic
  1. Private Sub chkDebitoren_AfterUpdate()
  2.     If CBool(chkDebitoren.Value) Then
  3.         txtDebitorenVon.Enabled = True
  4.         txtDebitorenVon.BackColor = &H80000005
  5.         txtDebitorenBis.Enabled = True
  6.         txtDebitorenBis.BackColor = &H80000005
  7.     Else
  8.         txtDebitorenVon.Enabled = False
  9.         txtDebitorenVon.BackColor = &H8000000F
  10.         txtDebitorenVon.Text = ""
  11.         txtDebitorenBis.Enabled = False
  12.         txtDebitorenBis.BackColor = &H8000000F
  13.         txtDebitorenBis.Text = ""
  14.     End If
  15. End Sub

Ausserdem würde ich eher das Klick-Ereignis Private Sub chkDebitoren_Click() verwenden,
als das AfterUpdate Ereignis.

Gruß
Titel: Antw:Office 2016 Textboxen abhängig von Checkbox aktivieren
Beitrag von: FlorianF am Februar 17, 2017, 17:34:55 Nachmittag
Läuft, danke!!