Я получаю 1004 ошибку при .Cells(i, 202).Value = f
Значение f в момент ошибки:
=IF(ISNA(VLOOKUP($BA$2, [Input2.xlsx]Sheet2!$A$2:$E$35, 3,),VLOOKUP( $BD$2, [Input2.xlsx]Sheet2!$B$2:$E$35, 2,),VLOOKUP( $BA$2, [Input2.xlsx]Sheet2!$A$2:$E$35, 3,)))
Мое требование:
Есть 3 столбца с значения # n / a, и я хотел заполнить значение, используя vlookup для всех 3 столбцов. Я попытался использовать условие if для проверки столбца # n / a и заполнить только эти столбцы, но это также не работает.
Может ли кто-нибудь помочь мне выяснить, как написать условие if для моих столбцов ( GT, GU, GV), чтобы проверить, есть ли # n / a, и записать в мою ячейку (мой номер столбца - 202). Я пытаюсь написать код для vlookup, как показано ниже:
Sub Macro()
Dim i As Long
Dim x As Range
Dim x1 As Range
Dim b As Range
Dim wb1 As Workbook
Dim ws1 As Worksheet
Dim y As Range
Dim wb2 As Workbook
Dim LastRow As Long
Dim y2 As Long
Dim lookupAdr As String, lookupAdr1 As String, f As String
Dim Test As Variant
Set wb1 = Workbooks.Open("C:\Users\padmini.chandrasheka\Desktop\SalesPipeline_Mapping\Input2.xlsx")
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Set x = wb1.Worksheets("Sheet2").Range("A2:E" & LastRow)
Set x1 = wb1.Worksheets("Sheet2").Range("B2:E" & LastRow)
Set wb2=Workbooks.Open("C:\Users\padmini.chandrasheka\Desktop\19_Dec_2019.xlsx")
Set y = wb2.Worksheets("Open").Range("A2:GT" & LastRow)
Set ws1 = wb2.Worksheets("Open")
'Test = wb2.Worksheets("Open").Range("GT2:GT" & LastRow).Value
With ws1
'If IsNull(Test) = True Then
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
lookupAdr = "[" & wb1.Name & "]" & "Sheet2!" & x.Address
lookupAdr1 = "[" & wb1.Name & "]" & "Sheet2!" & x1.Address
Set x1 = wb2.Worksheets("Open").Range("GT2:GT" & LastRow)
f = "=IF(ISNA(VLOOKUP(" & .Cells(i, 52).Address & ", " _
& lookupAdr & ", 3,),VLOOKUP( " _
& .Cells(i, 54).Address & ", " & lookupAdr1 & ", 2,),VLOOKUP( " _
& .Cells(i, 52).Address & ", " & lookupAdr & ", 3,)))"
'MsgBox f
Next i
.Cells(i, 202).Value = f
'End If
End With
End Sub