【问题标题】:Calling Excel's worksheet function from vba code从 vba 代码调用 Excel 的工作表函数
【发布时间】:2017-12-14 19:24:11
【问题描述】:

使用 worksheetfunction 的方法,我可以从 vba 代码中调用很多 excel 的函数,而无需重新发明轮子。 不幸的是,并非所有功能都可用,但其他简单功能可以在 vba 库下找到。 现在我需要使用两个函数:

  • address()
  • indirect()

但是两个都不能作为 vba 或 worksheetfunction 的方法

(这里有什么可用的:https://msdn.microsoft.com/en-us/library/office/ff822194(v=office.14).aspx)

使用编辑器上的对象浏览器我找不到这些功能... 我该怎么办?

【问题讨论】:

  • 请显示代码,我们可以根据上下文回答。
  • Range.Address 是你要找的。​​span>
  • IF() 也不可用,因为它具有直接的 vba 等效项。
  • 代替 INDIRECT():Range("youraddressstring")

标签: vba excel


【解决方案1】:

INDIRECT 是一种解析字符串的方法,这可以在 VBA 中轻松完成。 ADDRESS 也可以作为 Range 对象的成员找到。这就是它们不可用的原因。

【讨论】:

    【解决方案2】:

    这是一个小例子:

    A1 包含文本 B1
    B1 包含文本 金
    C1包含公式:=INDIRECT(A1):

    运行这个宏:

    Sub UsingEvaluate()
        MsgBox Evaluate("INDIRECT(A1)")
    End Sub
    

    将产生:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多