Я инициализирую пользовательскую форму, когда пользователь дважды щелкает мышью на любой ячейке определенного листа.Файл Excel перестает работать после одной или нескольких инициализаций.Пожалуйста, помогите решить эту проблему.Форма содержит список, заполненный многомерным массивом. Этот массив заполняется значениями из диапазона ячеек, содержащего 6 столбцов и различное количество строк.Вот мой код:
Private Sub UserForm_Initialize()
Dim lr, plr As Long
Dim a As Variant
Set psh = ThisWorkbook.Sheets("P")
psh.Activate
lr = GetFilteredRangeBottomRow() 'function to get row number of lastrow from filtered range
psh.Range("A1:F" & lr).SpecialCells(xlCellTypeVisible).Copy
On Error Resume Next
psh.Range("BA1").PasteSpecial xlPasteValues
psh.ShowAllData
plr = psh.Columns(53).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 'last row in column BA
a = psh.Range("BA1:BF" & plr).Value
With Form1.LBx 'LBx is the list box I am trying to populate
.ColumnCount = 6
.List = a
End With
End Sub