2017-08-09 49 views
1

我目前正在爲我的工作分析模板,並且在編寫我的用戶窗體代碼時遇到困難。我寫了與這些複選框相關的所有宏,但無法通過單擊單獨分析命令框來激活它們。這些宏被稱爲:graph_dur,graph_ram,dur_calc,ram_calc。如何執行與用戶窗體中的複選框相關的宏

截至目前,我有一個UserForm,允許用戶檢查他們想要的分析,然後點擊「分析」命令按鈕後運行計算。 see UserForm layout in link當單擊「分析」時,任何未檢查的框都不應該運行它們的宏。

我明白,當一個複選框「檢查」,然後它返回「真」。什麼我不明白是如何在激活「分析」時將True返回與宏的運行相關聯。此代碼不正確,但嘗試突出顯示我的基本佈局。

Private Sub CheckBox1_Click() 

     If CheckBox1 = True 
      Then Call.Graph_duration 
      Else CheckBox1 = False 
     End If 
End Sub 

Private Sub CheckBox2_Click() 

     If CheckBox2 = True 
      Then Call.Graph_ram 
      Else CheckBox2 = False 
     End If 
End Sub 

任何幫助表示讚賞。

+0

你是什麼意思的「單獨分析命令框」? – SJR

+0

嘗試使用CheckBox1.Value = True,但是在您製作代碼的方式中,您已經調用了函數,通常您會創建一個按鈕,用於檢查所有複選框,然後調用函數 – danieltakeshi

+0

對不起,我的錯誤措辭。在附圖中,有一個名爲Analyze的命令按鈕。這個按鈕應該被激活以運行與選中的框關聯的宏。 –

回答

0

也許你的意思是這樣的 - 它應該附加到你的按鈕。如果你有很多複選框,那麼這將變得效率低下。

Private Button_Click() 

    If CheckBox1 Then 
     Graph_Duration 
    End If 

    If CheckBox2 Then 
     Graph_ram 
    End If 
    'etc 

End Sub 
+0

是這樣說的:「如果CheckBox 1已被選中,請做圖_...」? –

+0

如果沒有檢查盒子,它會什麼都不做? –

+0

是的。請注意,Then與If在同一行。你不需要指定'= True',而且我可以看到你的Else是多餘的。 – SJR

相關問題