Try this. It assumes each named range is based on the OD letter using this naming convention:
OD_A
OD_B
OD_C
...etc
It gets the OD letter of the selected item from the second column of cboOD
Private Sub cboOD_Change()
Dim v As Variant, i As Long
If Me.cboOD.ListIndex = -1 Then Exit Sub
v = Sheets(1).Range("OD_" & Me.cboOD.List(Me.cboOD.ListIndex, 1))
With cboWt
.Clear
.ColumnCount = 3
.ColumnWidths = ";0;0"
For i = 1 To UBound(v, 1)
.AddItem v(i, 2)
.List(.ListCount - 1, 1) = v(i, 3)
.List(.ListCount - 1, 2) = v(i, 4)
Next i
End With
End Sub
Bookmarks