Я все еще изучаю VBA и не могу понять, у меня так много проблем с объектом Collections.
У меня есть функция, которая добавляет пользовательские объекты (я создал очень простой классхранить некоторые данные), который выполняет типичные операции «чтение данных, создание представления объекта, вставка его в коллекцию».
Если я пытаюсь добавить «ключ» к вызову bag.add, я получаю«Ошибка компиляции. Ожидается: =» сообщение.
Если мне это не удается, похоже, что оно сработало, то при запуске программы появляется сообщение «Ошибка компиляции. Аргумент не является обязательным» и выделяется «getRevColumns = bag».line.
Я не могу понять, что происходит со мной!Я подозреваю, что что-то не так с тем, как я инициализировал свою сумку ?!PS: columnMap - это имя моего пользовательского класса.
Function getRevColumns() As Collection
Dim rng As Range
Dim i As Integer
Dim bag As Collection
Dim opManCol As Integer, siebelCol As Integer
Dim opManColName As String, siebelColName As String
Dim itm As columnMap
Set bag = New Collection
Set rng = shSiebelMap.UsedRange.Columns(5)
i = 1
For i = 1 To rng.Rows.count
If StrComp(UCase(rng.Cells(i).value), "Y") = 0 Then
opManCol = rng.Rows(i).OffSet(0, -2).value
opManColName = rng.Rows(i).OffSet(0, -4)
siebelCol = rng.Rows(i).OffSet(0, -1).value
siebelColName = rng.Rows(i).OffSet(0, -3)
Set itm = New columnMap
itm.opManColName = opManColName
itm.opManColNumber = opManCol
itm.siebelColName = siebelColName
itm.siebelColNumber = siebelCol
'WHY DOESN'T IT WORK!''
bag.Add (itm)
'MsgBox "opMan Col: " & opManColName & " : " & opManCol & ". Siebel Col: " & siebelColName & " : " & siebelCol'
End If
Next i
getRevColumns = bag
End Function