В зависимости от вашего подхода к заполнению вашего комбинированного списка, существует множество способов сделать это ... одним из примеров может быть заполнение вашего комбинированного списка, чтобы вы могли связать позицию списка со столбцом, например:
Option Explicit
Private Sub CommandButton1_Click()
Debug.Print Application.Match(ComboBox1.Value, ComboBox1.List, 0)
End Sub
Private Sub UserForm_Initialize()
With Sheets(1)
Me.ComboBox1.List = Array("Jan","Feb","Mar")
End With
End Sub
Вы можете проверить вышеизложенное и увидеть, что позиция списка (номер местоположения в массиве) отображается в непосредственном окне.
Так, если январь находится в столбце 11 (K),Вы можете вывести свои данные как:
Private Sub CommandButton1_Click()
'11-1 = 10, you would need to find last row in column for this:
Sheets(1).Cells(LastRow+1,10+Application.Match(ComboBox1.Value, ComboBox1.List, 0)).value = Me.TextBox1.Value
End Sub
Вы также можете сделать это без комбинированного списка, используя Match()
или Find()
.