VBA Excel зависимый пользовательский комбинированный список с 2 столбцами - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь выяснить, как создать депобантный комбинированный список с 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

заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...