【发布时间】:2017-04-23 18:12:17
【问题描述】:
我在这里想要完成的是
1) 是迭代 O 列中的值以及那些不为空的值 - 过滤标题为 DATA 的工作表以仅显示列 B = X 的值并使用 VLOOKUP() 将查找值返回到相应的行在 P 列
2) 如果 O 列为空,则过滤标题为 DATA 的工作表以仅显示 B 列 X 的值,并使用 VLOOKUP() 将查找值返回到 P 列中的相应行。
我尝试了下面的语法,但我收到了一个错误
对象“_Worksheet”的方法“Rarnge”失败
我需要在下面的代码中做些什么不同的事情来获得返回我想要的值的语法?
Dim destSheet As Worksheet: Set destSheet = Sheets("Main")
For i = Range("A" & Rows.Count).End(3).Row To 2 Step -1
If Not IsEmpty(Cells(i, "O").Value) Then
Sheets("Data").Select
Selection.AutoFilter
ActiveSheet.Range("$A:$C").AutoFilter Field:=2, Criteria1:="<>"
Sheets("Main").Select
Application.CutCopyMode = False
form2 = "=IFERROR(VLOOKUP(RC[-15],Lookup!C[-15]:C[-13],3,FALSE),"""")"
destSheet.Range("P:P" & lr).Formula = form2
Else
Sheets("Data").Select
Selection.AutoFilter
Sheets("Main").Select
Application.CutCopyMode = False
form3 = "=IFERROR(VLOOKUP(RC[-15],Lookup!C[-15]:C[-13],3,FALSE),"""")"
destSheet.Range("P:P" & lr).Formula = form3
End If
Next i
【问题讨论】:
标签: vba excel excel-2013