【问题标题】:VBA Lookup- lookup range errorVBA Lookup - 查找范围错误
【发布时间】: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.AddressLookupRange.Address 在公式中。
  • 所有排序的人,谢谢!命名范围就可以了。

标签: excel vba vlookup


【解决方案1】:

只是一些事情..

  1. 正如 FAURILLOU Amandine 所提到的,我认为您可以将 inRange 引用为 Range("B" & i) - 同意。
  2. 正如 Darren 所说,使用公式 - 同意。
  3. 我会亲自查看数据透视表,并尝试引用数据透视表的数据范围,而不是引用它。就像我尝试做的那样。这样,如果枢轴的位置改变了,你会没事的。快速浏览了一下对象模型,它会是这样的:

    Worksheets("MV Pivot").PivotTables("The Name").DataBodyRange

  4. 虽然您使用公式来查找数据透视数据列,但您实际上可以调用 Evaluate 函数。如果您在单元格中使用公式,如果数据透视表数据发生变化,它也会更改历史数据,因为它是一个公式。您可以通过简单地对结果进行硬编码来解决此问题。

说了这么多,请试一试,看看它是否有效/解决了您的问题。

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

希望对您有所帮助。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
相关资源
最近更新 更多