Вчера написал код. Ниже привожу выдержку по коду, которая даёт проблему.
Код
' Раздаю определенения
Dim arr1 As New Collection, a1
Dim aFirstArray1() As Variant
Dim i1 As Long
' Присваиваю значения переменным. Т.к. данные на другой странице, использую WTIH
With Sheets("PROJECT DETAILS")
LastRow1 = .Cells.Find("*", .Range("A1"), , , xlByRows, xlPrevious).Row
PROJECTSLIST1 = .Range(.Cells(2, 1), .Cells(LastRow1, 1)).Value
End With
'Пытаюсь включить уникальные значения из списка "PROJECTSLIST1" в ListBox "ProjectsList" путём фильтрации через свойства Collection.
aFirstArray1() = PROJECTSLIST1
On Error Resume Next
For Each a1 In aFirstArray1
arr1.Add a1, a1
Next
For Each a1 In arr1
frm_PROJECTWISEREPORT.ProjectsList.AddItem arr1(a1)
Next
End If
На домашнем компьютере код выполнялся идеально, и добавлял в соответсвтующий ListBox уникальные значения списка PROJECTLIST1. И в случае ошибки (не уникальное значение) переходил к следующему пункту. Однако, открыв код на другом компе обнаружил, что код выдает ошибку. А именно в отрезке:
Код
aFirstArray1() = PROJECTSLIST1
On Error Resume Next
For Each a1 In aFirstArray1
arr1.Add a1, a1
Next
Я так понимаю, что это в связи с разными версиями EXCEL?!
И самое главное, как "заставить" ErrorHandler работать на всех компах? Честно гуглил пару часов, но ответа не добился. Видимо в силу слабых знаний VBA.
Забыл приложить сам файл. Файл во вложении. Проблемный код в форме "frm_PROJECTWISEREPORT"
Алексей Иванов, Открыл список из Reference, а там тысяча таких, и утилиты посика нет... Пошел по пути тупого просмотра по первым значениям "Mis*" но и такого там не нашел.
Подскажите, точное наименование того что надо отключить? Знатоки, слёно прошу помощи, плиз. =)