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