Я пытаюсь выяснить, как создать депобантный комбинированный список с 2 столбцами.вот макрос, который у меня есть сейчас:
Option Explicit
Dim DICT As Object
End Sub
Private Sub UserForm_Initialize()
Dim Analyst As String
Analyst = Sheets("Function_Reference").Range("b11")
'Get Analyst Name, from a hidden reference sheet.
Dim KEY As Variant
Set DICT = CreateObject("Scripting.dictionary")
For Each KEY In [Accounts].Columns(4).Rows
'The analyst name is in column 4, so I adjusted the offset accordingly.
If Not DICT.Exists(KEY.Value) Then
Set DICT(KEY.Value) = CreateObject("scripting.dictionary")
End If
DICT(KEY.Value)(KEY.Offset(, -3).Value) = ""
' offset -3 because account number is on column 1
Next KEY
If Analyst <> "All" then
Me.ComboBox1.List = DICT(Analyst).Keys
Else
Me.ComboBox1.List = [Accounts].Columns("A:B")
End If
'Load the userform with the correct list immedietly.
End Sub
В выпадающем списке есть 2 столбца, но только 1 граница.Столбец 1 - Счет, а Столбец 2 - Продавец.Номер счета может быть одинаковым для другого поставщика, поэтому столбец истинного ключа отсутствует, и вместо этого они оба должны использоваться вместе, Account-Vendor, но должны храниться в отдельных ячейках для целей отчетности.Просто, чтобы дать вам представление о том, как я ее использую. Когда форма заполнена, у меня есть:
Private Sub Accept_Click()
[Invoices].Rows(x).Columns(c) = Me.ComboBox1.value
[Invoices].Rows(x).Columns(c+1) = Me.ComboBox1.column(1)
End Sub
, которая перетягивает и номер счета, и имя поставщика в две разные ячейки из одного и того же списка.
Как мне отфильтровать этот комбинированный список в зависимости от имени аналитика?так что он будет перечислять только те строки, где строка Analyst = X
заранее спасибо!