And*_*Dev 2 vba global-variables userform
我在论坛中搜索了这个并找到了一些答案,但对我没有用.
我有两个UserForms.
在第一个中,我给一个名为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
Run Code Online (Sandbox Code Playgroud)
但这不起作用.标签标题的值为零.有人可以帮我吗?
谢谢.
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
Run Code Online (Sandbox Code Playgroud)
第二表格
Private Sub UserForm_Click()
Label1.Caption = Word
End Sub
Run Code Online (Sandbox Code Playgroud)
正如我在评论中所说,你的方法应该有效.这是我试过的测试代码
1-英寸 Module1
Public Word As String
Run Code Online (Sandbox Code Playgroud)
2-创建2个用户表单 - UserForm1和UserForm2
2a-在UserForm1中
Private Sub UserForm_Activate()
Word = "This is Saturday"
End Sub
Run Code Online (Sandbox Code Playgroud)
2b-在UserForm2中
Private Sub UserForm_Activate()
Label1.Caption = Word
End Sub
Run Code Online (Sandbox Code Playgroud)
3-然后进去 ThisWorkbook
Private Sub Workbook_Open()
UserForm1.Show
UserForm2.Show
End Sub
Run Code Online (Sandbox Code Playgroud)
因此,当您关闭UserForm1时,UserForm2将显示如下
