如何删除UserForm中的标签?

时间:2016-10-28 10:44:00

标签: vba excel-vba excel

我有一个具有此功能的UserForm:

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

要从我按下的按钮调用我的Userform:

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

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

我的目标是删除" Label1"如果用户点击按钮拨打CallUserForm_Appro()

所以,我试着在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始终可见。

2 个答案:

答案 0 :(得分:1)

这是将标签的可见性设置为false的方法:

UserForm1.label1.Visible = false

然后它不再可见了。

答案 1 :(得分:1)

`Initialize事件发生在变量设置之前(因为你不能在不首先加载的情况下访问表单的任何属性)。

只要在运行时添加控件,就应该使用Activate事件。如果它是设计时控件,则无法将其删除,只能将其隐藏。或者,如果变量设置为" Appro"

,您可能只会将其添加到表单中