AW: Comboboxen
16.12.2018 15:34:46
Beverly
Option Explicit
Dim lngZeile As Long
Dim varInhalt As Variant
Private Sub UserForm_Initialize()
Rows("1:4").Hidden = False
Fuellen
End Sub
Private Sub cb_P1_Change()
If cb_P1 "" Then
If TextBox1 "" Then
If TextBox1 cb_P1 Then
varInhalt = Application.Match(TextBox1, Range("A1:A4"), 0)
If IsNumeric(varInhalt) Then
Rows(varInhalt).Hidden = False
End If
End If
End If
varInhalt = Application.Match(cb_P1, Range("A1:A4"), 0)
If IsNumeric(varInhalt) Then
Rows(varInhalt).Hidden = True
End If
TextBox1 = cb_P1
Fuellen
End If
End Sub
Private Sub cb_P2_Change()
If cb_P2 "" Then
If TextBox2 "" Then
If TextBox2 cb_P2 Then
varInhalt = Application.Match(TextBox2, Range("A1:A4"), 0)
If IsNumeric(varInhalt) Then
Rows(varInhalt).Hidden = False
End If
End If
End If
varInhalt = Application.Match(cb_P2, Range("A1:A4"), 0)
If IsNumeric(varInhalt) Then
Rows(varInhalt).Hidden = True
End If
TextBox2 = cb_P2
Fuellen
End If
End Sub
Private Sub cb_P3_Change()
If cb_P3 "" Then
If TextBox3 "" Then
If TextBox3 cb_P3 Then
varInhalt = Application.Match(TextBox3, Range("A1:A4"), 0)
If IsNumeric(varInhalt) Then
Rows(varInhalt).Hidden = False
End If
End If
End If
varInhalt = Application.Match(cb_P3, Range("A1:A4"), 0)
If IsNumeric(varInhalt) Then
Rows(varInhalt).Hidden = True
End If
TextBox3 = cb_P3
Fuellen
End If
End Sub
Private Sub UserForm_Terminate()
Rows("1:4").Hidden = False
End Sub
Sub Fuellen()
cb_P1.Clear
cb_P2.Clear
cb_P3.Clear
For lngZeile = 1 To 4
If Rows(lngZeile).Height 0 Then
cb_P1.AddItem Cells(lngZeile, 1)
cb_P2.AddItem Cells(lngZeile, 1)
cb_P3.AddItem Cells(lngZeile, 1)
End If
Next lngZeile
End Sub
Ich empfehle, die Eigenschaft der TextBoxen Locked auf True zu setzen, damit dort keine Änderungen von Hand ausgeführt werden können.