У Вас куча ошибок:
Тип переменной последней строки указали неправильный - причём тут Range?
Не указываете, чей ЛистБокс.
Неверная запись открытия книги...
И зачем на событие Активации? Делайте один раз - на инициализацию.
Код |
---|
Private Sub UserForm_Initialize()
Dim LastRow As Long
Dim strFName As String
Dim x As Integer
Dim Wb As Workbook
strFName = ThisWorkbook.Path & "\расход.xlsx"
Set Wb = Workbooks.Open(strFName)
Me.ListBox1.Clear
LastRow = Wb.Sheets("прайс").Cells(Rows.Count, 5).End(xlUp).Row
x = 0
For i = 3 To LastRow
Me.ListBox1.AddItem ""
Me.ListBox1.List(x, 0) = Wb.Sheets("прайс").Cells(i, 5).Value
Me.ListBox1.List(x, 1) = Wb.Sheets("прайс").Cells(i, 6).Value
Me.ListBox1.List(x, 2) = Wb.Sheets("прайс").Cells(i, 18).Value
Me.ListBox1.List(x, 3) = Wb.Sheets("прайс").Cells(i, 19).Value
Me.ListBox1.List(x, 4) = Wb.Sheets("прайс").Cells(i, 20).Value
x = x + 1
Next
Windows("расход").Close
End Sub
|