vba - 用户窗体中的全局变量

标签 vba global-variables userform

我在论坛中搜索了这个问题并找到了一些答案,但对我来说不起作用。

我有两个用户表单。

在第一个中,我为名为 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 个用户表单 - UserForm1UserForm2

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将显示如下

enter image description here

关于vba - 用户窗体中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20800088/

相关文章:

VBA 宏触发与工作簿打开不同的宏

excel - 对 Excel 文件应用过滤器 - VBA

excel - 更改加载项用户窗体的父工作簿窗口

javascript - 从 VBA 到 Javascript 的转换

Python - 从其他模块中的函数重新分配全局变量的最佳方法

javascript - NodeJS 全局变量不可重新分配

excel - 在用户表单中旋转图片

VBA全局类变量

sql-server-2008 - 将 Access 应用程序连接到不同服务器中的 SQL Server 的可能方法?

python - 计算机生成一个数字,用户猜测数字,不管怎么猜总是不对