【发布时间】:2016-01-20 22:46:30
【问题描述】:
我已经用尽了所有选择,所以我只能任凭你摆布。我正在尝试在 excel 中自动生成报告,但查找不起作用。这个想法是它在一个每天刷新的数据透视表上进行查找,然后移动到下一个空天并给出结果。我已经尝试过记录并且查找工作,但是每天它都会将查找范围移动一列,我无法修复它。我的代码如下,任何帮助将不胜感激。
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
谢谢
Logie143
【问题讨论】:
-
您要求 vba 输入公式 vlookup(B36:B36; N1:R104..;5;) 对吗?您是否尝试将 B36:B36 仅替换为 B36,或者在您的情况下为“B”& i &“...?
-
另外,您是否尝试避免使用选择,而是使用您写入的单元格的坐标?例如对于 B36 的单元格(36,2),因此有 lastcell = cells(36,2).End(xlToRight) ;和 lastcell.offset(0,1) ?
-
ActiveCell.FormulaR1C1期望 R1C1 格式而不是 A1 格式的公式。试试ActiveCell.Formula。另外 - 虽然不确定 -inRange.Address和LookupRange.Address在公式中。 -
所有排序的人,谢谢!命名范围就可以了。