需要一些问题的帮助,我希望这一切都有意义。
我有一个子程序对表单进行排序,然后有一个输入框显示,询问用户名。
我有以下代码执行此操作,然后将其添加到表单上的特定单元格:
Dim UserName as string
UserName = Application.InputBox(Prompt:="Please Enter your Name", Title:="Name Of User", Type:=2)
Range("A" & LastRow).Select
ActiveCell.FormulaR1C1 = "Name " & UserName
这很好用,但是我还有另一个工作簿打开了一些其他数据,这些数据在这个之后从子过程中排序,这也很好但我想要的是将UserName变量传递给另一个子过程所以我没有第二次显示输入框。
我已经尝试将变量声明为public并将其放在子过程内和所有子过程之外,没有运气。 我已经尝试将子过程中的UserName变量分配给所有其他子过程之外的公共变量UserName2,然后尝试再次使用UserName2变量而没有运气。
所以任何帮助都将不胜感激
由于 加雷
答案 0 :(得分:1)
将以下内容放在标准模块:
中Dim UserName As String
Sub MAIN()
Call FirstSub
Call SecondSub
End Sub
Sub FirstSub()
Dim LastRow As Long
LastRow = 3
UserName = Application.InputBox(Prompt:="Please Enter your Name", Title:="Name Of User", Type:=2)
Range("A" & LastRow).Select
ActiveCell.FormulaR1C1 = "Name " & UserName
End Sub
Sub SecondSub()
MsgBox UserName
End Sub
然后运行MAIN