将输入框变量从一个子传递到另一个
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 Test2with
Test2 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 常量。
我正在阅读另一个不需要全局声明的 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 Test2with
Test2 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 常量。