VBA – 在Excel项目之间传递variables
我的问题:如何设置在其他Excel项目中声明的variables的值?
背景:我正在从一个不同的Excel项目调用一个私人子(我不知道是否重要,但我感兴趣的子是Excel加载项的一部分)。
在加载项我有:
- 公共sapEEID作为string
- Private Sub UpdateLetterTemplate
我能够运行子使用:Application.Run(“'解决scheme添加.xlam'!UpdateLetterTemplate”)
不过,variablessapEEID =“”
运行UpdateLetterTemplate私有子时有没有办法传递“17”作为sapEEID?
您可能需要修改您的子程序,但以下步骤将工作
- 添加引用:你需要添加一个引用到你的加载项(VBE – >工具 – >引用)
- ByRef参数:另外,请确保您的Sub可以采用
ByRef
参数。 看下面的示例代码。 - 调用子程序:你完成了,现在在你的代码中,一旦设置了引用,调用子程序并传递你的variables。
子程序的示例代码:
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