我在论坛中搜索了这个问题并找到了一些答案,但对我来说不起作用。
我有两个用户表单。
在第一个中,我为名为 Word 的变量赋予了一个值。
在第二个中,我有一个标签,我需要将标题变成变量 Word。
示例:
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-然后在ThisWorkbook
Private Sub Workbook_Open()
UserForm1.Show
UserForm2.Show
End Sub
所以当你关闭UserForm1时,UserForm2将显示如下
关于vba - 用户窗体中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20800088/