将输入框变量从一个子传递到另一个

Pass Input Box variable from one sub to another

我正在阅读另一个不需要全局声明的 post。

我有一个 Sub 要求用户输入一个值,在另一个 Sub 我使用输入的值根据他们的输入调用其他 Sub。

我的示例是否接近?谢谢

Option Explicit

Sub MonthTest()
Dim strMonth As String

strMonth = InputBox("enter Area here")

Call Test2

End Sub

Sub Test2(strMonth As String)

Select Case strMonth
    Case Is = "82"
        Call Area82
    Case Is = "80"
        Call Area80
    
End Select
End Sub

您必须将变量提供给调用函数,否则它不知道去哪里找。

变化: 呼叫测试2 到: 调用测试 2 strMonth

替换'Call Test2withTest2 strMonth, there's no need to use Call`

在 sub/function 中声明的变量只保留在 sub/function 本身,因为你在 Test2 中声明了一个参数,你需要在每次调用 Test2 (除非它声明为 Optional).

x1up 应该是 xlup(小写“L”,而不是 #1)

它是 EXCEL COM 库中定义的常量。 按 F2 并查看 EXCEL 库(您应该在 VBA 中的参考文献中)。您应该看到在库的(通用)部分或特定 ENum 名称下定义的 xlup 常量。