【问题标题】:Use Vlookup() With VBA在 VBA 中使用 Vlookup()
【发布时间】:2016-12-06 19:43:45
【问题描述】:

我不断收到错误

需要对象

运行我的语法。这是我拥有的语法,但并不成功。如何将Vlookup() 值写入当前工作表单元格 T1?

Public Sub Test()
  Dim dblInfo
  dblInfo = Application.WorksheetFunction.VLookup("A2", Sheet1.Range("A2:F171"), 4, False)
  Range("T1").Select
  ActiveCell.FormulaR1C1 = dblInfo
End Sub

【问题讨论】:

  • 究竟是哪一行引发了“需要对象”错误?
  • 请注意,当查找失败并且您没有处理它时,您将面临另一个运行时错误 (1004)。 dblInfo 应使用显式类型声明(请不要使用匈牙利前缀); Dim whateverThisActuallyIs As Double。如果您的意思是 dblInfo 在查找失败时包含错误值,请将其声明为 As Variant 并改用后期绑定的 Application.VLookup 函数。有关详细信息,请参阅this answer

标签: vba excel vlookup excel-2013 worksheet-function


【解决方案1】:

如果你只是想在T1中输入VLookup公式

Range("T1") = "=VLookup(A2, Sheetname!A2:F171, 4, False)"

否则,如果你想计算VLookup然后输入结果...

Range("T1") = Application.WorksheetFunction.VLookup([A2], Sheetname.Range("A2:F171"), 4, False)

【讨论】:

  • 最佳解决方案是给我一个#NAME?在单元格 T1 和底部给了我相同的对象所需的错误
  • A2:F171 与 Range("T1") 位于不同的工作表上 - 如何限定工作表名称?
  • @SmallFriesBigGuys 已编辑
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多