Excel VBA: я работаю со списком, и мне нужно заполнить информацию в текстовое поле или список. Combobox получает значение из столбца E (E содержит дату, которая повторяется). Таким образом, поле со списком должно содержать уникальные значения. Затем в списке я хочу получить информацию в соответствующей строке. Например, если в столбце E 1–10 октября, даты с 5 по 10 октября - два раза. Поэтому я хочу, чтобы в combobox были уникальные даты, например, с 1 по 10 октября. Если я выберу 7 октября, то в списке появится информация о двух записях, соответствующих дате 7 октября. Более того, поля, которые мне нужны, находятся в столбце G, J, K, L, M столбца. Если это возможно визуализировать по-другому в пользовательской форме, тогда, пожалуйста, предложите.
Я работал над следующим кодом.
'=========================================================================================
'For collecting unique value in userform combobox
Private Sub UserForm_Initialize()
UserForm2.ComboBox1.Clear
Dim v, e
With Sheets("Atorvastatin").Range("E2:E1000")
v = .Value
End With
With CreateObject("scripting.dictionary")
.comparemode = 1
For Each e In v
If Not .exists(e) Then .Add e, Nothing
Next
If .Count Then Me.ComboBox1.List = Application.Transpose(.keys)
End With
Set xRg = Sheets("Atorvastatin").Range("E2:Q1000")
End Sub
'--------------------------------------------------------------------------------------------
Private Sub ComboBox1_Change()
Dim var1 As Long
Me.TextBox1 = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 3, False)
End Sub