首页 > 解决方案 > 具有多个输入的调用模块

问题描述

我已经尝试找到解决此问题的方法,但一直无法解决。

通用形式:

模块1

Sub Source()
Call Module2.Run
End Sub

模块2

Sub Run()
Value = 10
     Some code which uses Value as input
End Sub

我想要做的是能够在 Module1 中定义多个值,然后使用每个值运行 Module2.Run() 。

模块1

Sub Source()
Value = 10, 20, 30
Call Module2.Run (10)
Call Module2.Run (20)
Call Module2.Run (30)
End Sub

模块2

Sub Run()
Value = Input from Module1.Source()
     Some code which uses Value as input
End Sub

或类似的东西。任何投入将不胜感激。

标签: vbaexcelinputsubroutine

解决方案


您可以像这样通过参数传递参数

Sub Sub1 ()
    Dim myVal as Long
    myVal = 1000
    Sub2 (myVal) 'The "Call" is not necessary
End Sub


Sub Sub2 (myVal as Long) 'This sub requires an input to run (myVal)
    MsgBox myVal
End Sub

推荐阅读