2016-10-28 68 views
1

我有這個功能的用戶窗體:如何刪除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始終可見。

回答

1

這是你如何將標籤的可見性設置爲false:

UserForm1.label1.Visible = false 

那麼它不應該是可見的了。

+0

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

+0

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

1

`Initialize事件發生在變量被設置之前(因爲如果沒有首先加載,就無法訪​​問表單的任何屬性)。

只要在運行時添加控件,就應該使用Activate事件。如果這是一個設計時間控制,你不能刪除它,只能隱藏它。或者,如果變量是而不是設置爲「Appro」,您可能只能將其添加到表單中。

+0

Thx爲您解釋 – Ferfa