Попытка vlookup из другой книги (ее имя я ищу в определенной папке заранее).Я получил сообщение об ошибке Unable to get Vlookup property of the WorksheetFunction class
.Я добавил часы, чтобы посмотреть, есть ли у меня значимые переменные.Пытался поставить Thisworkbook.
перед sh_main
, но это тоже не работает.Я не знаю, что я делаю неправильно, любая помощь высоко ценится!
Sub Actual_inventory()
Assignments1
Dim directory As String, fileName As String, i As Integer
Dim col_unrestricted As String
Dim range_temp2 As Range
Application.ScreenUpdating = False
directory = "C:\Users\marcellh\Documents\Reports\Actual\"
fileName = Dir(directory & "*.xl??")
Workbooks.Open (directory & fileName)
'converts column A to number format:
Range("A:A").Select
With Selection
.NumberFormat = "General"
.Value = .Value
End With
'searches column "unrestricted":
Set range_temp2 = Workbooks(fileName).Sheets(1).Cells.Find("unrestricted")
col_unrestricted = range_temp2.Column
'---
i = first_data_set
Do While sh_main.Cells(i, col_color).Value <> ""
'vlookups based on old gmid, iferror then "":
sh_main.Cells(i, col_inventory_old_gmid).Value = Application.WorksheetFunction.VLookup(sh_main.Cells(i, col_old_gmid_code).Value, Workbooks(fileName).Sheets(1).Range("A:L"), col_unrestricted, False)
If IsError(sh_main.Cells(i, col_inventory_old_gmid).Value) Then
sh_main.Cells(i, col_inventory_old_gmid).Value = ""
End If
'vlookups based on new gmid, iferror then "":
sh_main.Cells(i, col_inventory_new_gmid).Value = Application.WorksheetFunction.VLookup(sh_main.Cells(i, col_new_gmid_code).Value, Workbooks(fileName).Sheets(1).Range("A:L"), col_unrestricted, False)
If IsError(sh_main.Cells(i, col_inventory_new_gmid).Value) Then
sh_main.Cells(i, col_inventory_new_gmid).Value = ""
End If
i = i + 1
Loop
Workbooks(fileName).Close
fileName = Dir()
Application.ScreenUpdating = True
MsgBox "Actual inventory has been loaded successfully"
End Sub
Вот где макрос застрял с сообщением об ошибке: