Vba Userform中的全局变量
我在论坛上搜索了一下,找到了一些答案,但对我来说并不适用 我有两个用户表单 在第一个例子中,我给一个叫做Word的变量赋值 在第二个例子中,我有一个标签,我需要标题成为变量词 例如:Vba Userform中的全局变量,vba,global-variables,userform,Vba,Global Variables,Userform,我在论坛上搜索了一下,找到了一些答案,但对我来说并不适用 我有两个用户表单 在第一个例子中,我给一个叫做Word的变量赋值 在第二个例子中,我有一个标签,我需要标题成为变量词 例如: Public Word as String Private Sub Userform1_Activate Word = "Today Is Saturday" End Sub Private Sub Userform2_Activate Label1.Caption = Word End Sub
Public Word as String
Private Sub Userform1_Activate
Word = "Today Is Saturday"
End Sub
Private Sub Userform2_Activate
Label1.Caption = Word
End Sub
但这是行不通的。标签标题的值为零。
有人能帮我吗
谢谢
First Form
Private Sub CommandButton5_Click()
Db = "C:\Users\Desktop\db.txt"
Set File1 = CreateObject("Scripting.FileSystemObject")
Set File2 = File1.OpenTextFile(Db, 1)
Do Until File2.AtEndOfStream
If (File2.Readline = TextBox1) Then Exit Do
If File2.AtEndOfStream Then WordNotFound.Show
If File2.AtEndOfStream Then TextBox1.Value = ""
If File2.AtEndOfStream Then Exit Sub
Loop
Word = File2.Readline
MsgBox Word
TextBox1.Value = ""
End Sub
第二种形式
Private Sub UserForm_Click()
Label1.Caption = Word
End Sub
正如我在评论中所说,你的方法应该有效。这是我试过的测试代码 1-在
模块1中
Public Word As String
2-创建2个用户表单-UserForm1
和UserForm2
2a-在用户表单1中
Private Sub UserForm_Activate()
Word = "This is Saturday"
End Sub
2b-在用户表单中2
Private Sub UserForm_Activate()
Label1.Caption = Word
End Sub
3-然后在本工作簿中
Private Sub Workbook_Open()
UserForm1.Show
UserForm2.Show
End Sub
因此,当您关闭UserForm1时,UserForm2将显示如下
这应该行得通。你能展示一下显示用户表单的顺序吗?我已经把它们添加到了我的第一篇文章中,看看。看看我的示例代码。希望这有帮助。Pankaj Jaju,你的代码运行得很好。但我打算只使用Useforms。我不能只用这两种形式吗?因为我想稍后创建一个exe文件。如果它使用的是“ThiwWorkbook”和一个模块,我不确定它是否有可能。我只是向您展示了我的测试代码。您可以在任何地方执行.Show
。例如,您可以使用UserForm2。在UserForm1
code的末尾显示。在调用UserForm2
之前,请确保设置了Word
。哦,谢谢,我明白了!但是,作为字符串语句的公共单词呢?它需要放在一个单独的模块中吗?不一定。您可以在UserForm代码的开头使用它。