如何在另一个用户表单上更新标签的标题?

时间:2017-11-08 16:34:49

标签: excel vba excel-vba

我正在使用VBA来Showuserform。 在此表单上,我有按钮可以打开另一个userformAddAmountForm)。 当我点击按钮打开AddAmountForm时,我还想更新AddAmountForm上标签的标题。

以下是我在第一个用户表单上尝试过的内容:

Private Sub AssocDuesAddbtn_Click()
    AddAmountForm.Show
    With AddAmountForm
        .AddName.Caption = "Assoc. Dues"
        .Repaint
    End With
End Sub

但是,这不会更新标题,它仍然是相同的。

将会有几个按钮打开第二个用户窗体,每个按钮都需要根据每个按钮更新的内容将标签更新为不同的标签。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

AddAmountForm.Show

AddAmountForm形式displays the default instance,形式上。这意味着下一条指令只会在表单关闭后执行

您可能需要在之前更改其标签

With AddAmountForm
    .AddName.Caption = "Assoc. Dues"
    .Show
End With

也就是说,使用表单的默认实例会在后端,一天或另一天咬你。表格是对象,将其视为:

With New AddAmountForm
    .AddName.Caption = "Assoc. Dues"
    .Show
End With

如果标题是编译时常量(字符串文字是编译时常量表达式),那么没有理由在运行时分配它 - 只需在表单中设置标签的标题设计师的属性工具窗口(F4)。