这是我的子():
Sub SendEmail()
MyPrompt = "want to add a message?"
Mysubject = PopMessage(MyPrompt)
End Sub
这是我的函数():
Public Function PopMessage(ByVal Mypromt As String) As String
'Open a existing userform with a MyPrompt MsgBox and catch user text
FormName = "UserForm1" ' choose here the desired UserForm
Dim Mytext As String
Mytext = ""
On Error Resume Next
MsgBox (MyPrompt) ' only for debuging
Response = MsgBox(Prompt:=MyPrompt, Buttons:=vbYesNo)
If Response = vbYes Then
If UserForm1 Is Nothing Then ' we want to check if userform exists
MsgBox ("Le Formulaire n'existe pas")
Exit Function
End If
Unload UserForm1 ' first we clear the userform
UserForm1.Show
Mytext = UserForm1.TextBox1.Text
End If
End Function
两者都在同一工作簿中。 MsgBox(MyPrompt) 返回空。 谢谢您的帮助。
最佳答案
为什么应该使用Option Explicit
的经典案例
你看出什么不同了吗? ;)
公共(public)函数 PopMessage(ByVal Mypromt As String) As String
MsgBox(我的提示)
这解释了您所面临的完全相同的问题。
关于excel - vba - Excel 2010。局部变量未在我的函数中初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19176051/