Код показывает три ComboBox в пользовательской форме. Combobox2 выбирает четыре значения 1, 2, 3, 4 с листа ("Данные"), а Combobox3 выбирает 6 значений (A, B, C, D, E, F) с того же листа. Что мне делать, если я хочу управлять Combobox3 после выбора значения в Combobox2, например, если я выберу 1, я хочу, чтобы только A, B, C были в Combobox3, или если я выберу 2, то только D, E будут найдены в Combobox3 Combobox3 и т. д.?
Спасибо заранее за любые предложения!
Private Sub RapportFix_Initialize()
Dim ComboItems As Variant, i As Integer
Dim val As String
With RapportFix.ComboBox2 'Provtyp
.Clear ' remove existing entries from the listbox
ComboItems = Worksheets("Indata").Range("C5:C8").Value
ComboItems = Application.WorksheetFunction.Transpose(ComboItems)
' convert values to a vertical array
For i = 1 To UBound(ComboItems)
.AddItem ComboItems(i) ' populate the combobox
Next i
.ListIndex = -1 ' no items selected, set to 0 to select the first item
End With
With RapportFix.ComboBox3 'Kursplan
.Clear ' remove existing entries from the listbox
'Set sKursplanemoment = ComboBox3.Value
ComboItems = Worksheets("Indata").Range("M5:M10").Value
ComboItems = Application.WorksheetFunction.Transpose(ComboItems)
' convert values to a vertical array
For i = 1 To UBound(ComboItems)
.AddItem ComboItems(i) ' populate the combobox
Next i
.ListIndex = -1 ' no items selected, set to 0 to select the first item
End With
With RapportFix.ComboBox4 'Annat arbete
.Clear ' remove existing entries from the listbox
ComboItems = Worksheets("Indata").Range("E5:E8").Value
ComboItems = Application.WorksheetFunction.Transpose(ComboItems)
' convert values to a vertical array
For i = 1 To UBound(ComboItems)
.AddItem ComboItems(i) ' populate the combobox
Next i
.ListIndex = -1 ' no items selected, set to 0 to select the first item
End With
RapportFix.Show
End Sub
