2014-09-20 48 views
0

在VBA中使用excel 2010.這是我第一次使用VBA和用戶表單。現在我有一個準系統用戶表單「UserForm1」試圖排除這個問題。它由屬於組名「WK」的兩個單選按鈕「OptionButton1」和「OptionButton2」以及兩個文本框「TextBox1」和「TextBox2」組成。用預設值初始化用戶窗體?

當我運行用戶窗體時,我想要選擇「OptionButton1」並且隨後運行if/then語句。但是,現在我無法做到這一點。我的代碼:

Public Sub UserForm1_Initialize() 
UserForm1.Show 
Me.OptionButton1.Value = False 
Me.OptionButton1.Value = True 
MsgBox ("dia locked") 
Me.TextBox1.Value = "blah" 
End Sub 

Public Sub UserForm1_Activate() 

End Sub 

Public Sub OptionButton1_Click() 

If Me.OptionButton1.Value = True Then 
MsgBox ("dia locked") 
Me.TextBox1.Value = "blah" 
End If 

End Sub 

Private Sub TextBox1_Change() 

End Sub 

當我運行窗體時,沒有任何反應,「OptionButton1」爲false。如果我點擊它,將顯示消息框,文本框顯示文本。它不會在啓動時執行它。我試着進入optionbutton屬性並將'value'設置爲true,這使得它在啓動時爲真,但是messagebox仍然不顯示,文本框爲空直到我點擊它。

...請幫助。謝謝。

+0

在'Me.OptionButton1.Value = True'行後面的類初始化時只需要調用click子 - 即'OptionButton1_Click'。就是這樣;) – 2014-09-20 19:21:29

+0

謝謝Cor_Blimey!這非常出色。我發誓這種語言比其他任何語言都有更多可能的命令。 – 2014-09-20 19:27:00

回答

1

我想通了。

我突然發現下拉菜單。顯然我應該把Userform_Initialize(),而不是UserForm1_Initialize(),而不是OptionButton1_Click()我把代碼放入OptionButton1_Change()運行後續的初始化序列。

你們這些傢伙是真棒醬。我從閱讀你的線索中學到了一切。謝謝!

+0

http://msdn.microsoft.com/en-us/library/office/jj692790%28v=office.15%29.aspx有一個有用的主題/語言參考 – 2014-09-20 19:29:56