Вот Sub на уровне Workbook:
Public Sub BuildList(targetSheet As Worksheet, ByRef targetListBox As ListBox, lastRow As Integer)
For r = 1 To lastRow
If Trim(targetSheet.Range("A" & r).Value) <> "" Then
With targetListBox
.AddItem Trim(targetSheet.Range("A" & r).Value)
.List(.ListCount - 1, 1) = Trim(targetSheet.Range("B" & r))
End With
End If
Next r
End Sub
Вот некоторый код в пользовательской форме, который вызывает его:
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim bottomRow As Integer
Set ws = Worksheets("Our Status Code")
bottomRow = ws.Range("A65536").End(xlUp).Row
ThisWorkbook.BuildList ws, StatusCodesListbox, bottomRow
End Sub
Когда он попадает в строку, которая вызывает BuildList, он выдает ошибку 13, и я не понимаю, почему.