使用从一个子过程到另一个子过程的输入框数据

时间:2013-08-09 10:31:47

标签: excel-vba vba excel

需要一些问题的帮助,我希望这一切都有意义。

我有一个子程序对表单进行排序,然后有一个输入框显示,询问用户名。

我有以下代码执行此操作,然后将其添加到表单上的特定单元格:

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变量而没有运气。

所以任何帮助都将不胜感激

由于    加雷

1 个答案:

答案 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