Excel VBA查找-查找范围错误
我已经用尽了所有的选择,只能听任你摆布了。我试图在excel中自动生成一个报告,但查找不起作用。其思想是,它在数据透视表上进行查找,该数据透视表每天都刷新,并移动到下一个空的一天,并给出结果。我尝试过录制,查找工作正常,但每天它都会将查找范围移动一列,我无法修复它。我的代码如下,任何帮助都将不胜感激Excel VBA查找-查找范围错误,excel,vba,vlookup,Excel,Vba,Vlookup,我已经用尽了所有的选择,只能听任你摆布了。我试图在excel中自动生成一个报告,但查找不起作用。其思想是,它在数据透视表上进行查找,该数据透视表每天都刷新,并移动到下一个空的一天,并给出结果。我尝试过录制,查找工作正常,但每天它都会将查找范围移动一列,我无法修复它。我的代码如下,任何帮助都将不胜感激 Range("B36").Select Selection.End(xlToRight).Select ActiveCell.Offset(0, 1).Select D
Range("B36").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Select
Dim row As Integer
For i = 36 To 40
Set inRange = Range("B" & i & ":B" & i)
Set LookupRange = Sheets("MV Pivot").Columns("N:R")
MsgBox (inRange)
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(" & inRange & "," & LookupRange & ",5,FALSE),0)"
ActiveCell.Offset(1, 0).Select
Next I
谢谢
后勤143只需要几件事
Sub Test()
Range("B36").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Select
Dim inRange As Range, LookupRange As Range
Dim row As Integer, i As Integer
For i = 36 To 40
Set inRange = Range("B" & i)
Set LookupRange = Range("$K$36:$P$41")
MsgBox (inRange)
ActiveCell.Formula = Evaluate("=IFERROR(VLOOKUP(" & inRange.Address & "," & LookupRange.Address & ",5,FALSE),0)")
ActiveCell.Offset(1, 0).Select
Next i
End Sub
希望有帮助。您要求vba输入公式vlookup(B36:B36;N1:R104;5;)对吗?您是否尝试仅用B36替换B36:B36,或者在您的情况下使用“B”&i&“…?此外,您是否尝试避免使用select而不是您写入的单元格的坐标?例如B36的单元格(36,2),从而使lastcell=单元格(36,2).End(xltorRight);和lastcell.offset(0,1)?
ActiveCell.FormulaR1C1
需要R1C1格式的公式,而不是A1格式的公式。请尝试ActiveCell.formula
。另外-尽管不确定-inRange.Address
和LookupRange.Address
在公式中。所有排序的人,谢谢!命名范围成功了。很好-引用Pivot表。Jon Peltier有一个关于如何引用不同部分的好页面: