VBA vlookup данных из другой книги - PullRequest
0 голосов
/ 21 декабря 2018

Попытка 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

Вот где макрос застрял с сообщением об ошибке: enter image description here

...