如何删除UserForm中的标签?

问题描述:

我有这个功能的用户窗体:如何删除UserForm中的标签?

Sub CallUserForm_Appro() 
    UserForm1.MyVariable = "Appro" 
    UserForm1.Show 
End Sub 

Sub CallUserForm_User() 
    UserForm1.MyVariable = "User" 
    UserForm1.Show 
End Sub 

我的目标是消除“Label1的”如果按钮用户点击呼叫CallUserForm_Appro()

Public MyVariable As String 
Private Sub UserForm_Initialize() 
[...my code...] 
End Sub 

要从按钮我做打电话给我的用户窗体

所以,我试图在UserForm_Initialize()做:

Public MyVariable As String 
Private Sub UserForm_Initialize() 

[...my code...] 
If MyVariable = "Appro" Then 
    UserForm1.Controls.Remove "Label1" 
End If 

End Sub 

我没有错误,但我的Label1始终可见。

这是你如何将标签的可见性设置为false:

UserForm1.label1.Visible = false 

那么它不应该是可见的了。

+0

Thx,它的工作原理。所以,我在CallUserForm_Appro()函数中添加了你的代码 – Ferfa

+0

@Ferfa,谢谢,祝你有个愉快的星期五! :) – Vityata

`Initialize事件发生在变量被设置之前(因为如果没有首先加载,就无法访​​问表单的任何属性)。

只要在运行时添加控件,就应该使用Activate事件。如果这是一个设计时间控制,你不能删除它,只能隐藏它。或者,如果变量是而不是设置为“Appro”,您可能只能将其添加到表单中。

+0

Thx为您解释 – Ferfa