2017-08-09 14 views
1

現在、私の作業用の分析テンプレートを作成中で、ユーザーフォームコードの作成に問題があります。私はこれらのチェックボックスに関連するすべてのマクロを書きましたが、別々の解析コマンドボックスをクリックしてそれらを有効にすることはできません。マクロはgraph_dur、graph_ram、dur_calc、ram_calcと呼ばれます。ユーザーフォームのチェックボックスに関連付けられたマクロを実行する方法

現在のところ、私はユーザーが "分析"コマンドボタンを押した後、計算が実行された後、どの分析をチェックオフできるユーザーフォームがあります。 see UserForm layout in linkチェックされていないボックスは、「分析」をクリックしたときにマクロを実行しないでください。

私は、チェックボックスがチェックされているときに "True"を返すことを理解しています。 What 私は理解していませんは、 "分析"が有効になっているときに真の返品をマクロの実行と関連付ける方法です。このコードは正しくありませんが、私の基本的なレイアウトを強調しようとします。

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

はい。 IfはIfと同じ行にあることに注意してください。あなたは '= True'を指定する必要はなく、あなたのElseは私が見る限り重複していました。 – SJR

関連する問題