2017-08-09 27 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

相关问题