#arrays #vba #dictionary #key #composite
#массивы #vba #словарь #Клавиша #составной
Вопрос:
Я пытаюсь перебирать большие данные Excel в словаре и извлекать их. Вот мой код, я пытаюсь много ошибок, и я застреваю. Пожалуйста, помогите мне с моим кодом ~!!
Sub Me()
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Set ws1 = Sheets("Sheet1")
lastrow = ws1.Range("B" amp; ws1.Rows.Count).End(xlUp).Row
LastCol = ws1.Cells(Range("C2").Row, ws1.Columns.Count).End(xlToLeft).Column - 1
vd = WorksheetFunction.Transpose(WorksheetFunction.Transpose(ws1.Range("C3").Resize(1, LastCol - 1)))
va = ws1.Range("b4").Resize(lastrow - 2, 1)
For i = LBound(va) To UBound(va)
dict.Add addToString(vd(1), va(i, 1)), ws1.Cells(i 3, 3).Value
Debug.Print dict("uniqueXXXuniqueYYY")
Next i
End Sub
Public Function addToString(ParamArray myVar() As Variant) As String
Dim cnt As Long
Dim val As Variant
Dim delim As String: delim = "unique"
For cnt = LBound(myVar) To UBound(myVar)
addToString = addToString amp; delim amp; myVar(cnt)
Next cnt
End Function
Комментарии:
1. Извините, почему ваша функция addToString() лучше, чем встроенная функция Join() ? Или простая конкатенация?
2. Какие ошибки и в каких строках?
3. Поскольку вы не включили заголовки строк / столбцов на своем скриншоте, это трудно связать с вашим кодом. Также «Много ошибок» не является полезным описанием точных ошибок, которые вы получаете. Пожалуйста, укажите текст ошибки и строки, в которых они встречаются.