【问题标题】:VBA - pass variable between Excel projectsVBA - 在 Excel 项目之间传递变量
【发布时间】:2014-07-17 20:51:20
【问题描述】:

我的问题:如何设置在其他 Excel 项目中声明的变量的值?

背景: 我正在从不同的 Excel 项目中调用私有子(我不知道这是否重要,但我感兴趣的子是 Excel 插件的一部分)。

在我的插件中:

  • 公共 sapEEID 作为字符串
  • 私有子 UpdateLetterTemplate

我可以使用以下命令运行子程序: Application.Run("'Solutions Add-In.xlam'!UpdateLetterTemplate")

但是,变量 sapEEID = ""

在运行 UpdateLetterTemplate 私有子程序时,有没有办法将“17”作为 sapEEID 传递?

【问题讨论】:

标签: vba excel global-variables add-in


【解决方案1】:

您可能需要稍微修改您的子例程,但以下步骤将起作用

  • 添加引用:您需要添加对加载项的引用(VBE -> 工具 -> 引用)
  • ByRef 参数: 另外,请确保您的 Sub 可以采用 ByRef 参数。请参阅下面的示例代码。
  • 调用子程序:你已经完成了,现在在你的代码中,一旦设置了引用,调用子程序并传递你的变量。

子程序示例代码:

Public Sub ChangeToTen(ByRef a as double)
    a = 10
End Sub

主文件中的调用代码:

Dim a as double
a = 1023.23

Call ChangeToTen(a)
MsgBox(a)          ' It will show 10

【讨论】:

  • 谢谢!我不知道你可以参考 Excel 插件 :)
猜你喜欢
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-12
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
相关资源
最近更新 更多