2017-08-02 4 views
0

4つの選択肢チェックボックスを使用してセルに値を割り当ててください。条件が真であれば、値はボックスごとに1です。リンクされたセルの値を合計して、セルの値が変わるようにしたいと思います。インスタンスの場合:すべてのチェックボックスの状態が真である4つの選択肢チェックボックスを使用してセルに値を割り当てます。

  1. リンクされたセルの値は、それらのいくつかに該当する4
  2. リンクされたセルの値は1-3
  3. からのすべてを変えることができています彼らが偽でリンクされたセルの値が0

     If CheckBox1.Value = True Then Range("D2").Value = 1 
    
    
        If CheckBox1.Value = False Then Range("D2").Value = 0 etc. 
    

私はVBAマクロを使用してこの問題を解決したいです。

答えて

0

これは私の問題への答えです:

ます。Option Explicit

Sub CheckBox1_Click() 


Dim count As Integer 
If (count = Null) Then 
count = 0 
End If 

count = 0 
If ActiveSheet.Shapes("Check Box 1").ControlFormat = xlOn Then count = count + 1 
If ActiveSheet.Shapes("Check Box 2").ControlFormat = xlOn Then count = count + 1 
If ActiveSheet.Shapes("Check Box 3").ControlFormat = xlOn Then count = count + 1 
If ActiveSheet.Shapes("Check Box 4").ControlFormat = xlOn Then count = count + 1 
Range("A1").Value = count 

End Subの

0

このようにすることができます。リンクされたセルに基づいて、真の場合は1、偽の場合はゼロを取得します。すべての値を合計します。

enter image description here

enter image description here

VBAソリューションの

Private Sub CheckBox1_Click() 
    Dim str As Integer 
    str = 0 
    If CheckBox1.Value = True Then str = str + 1 
    If CheckBox2.Value = True Then str = str + 1 
    If CheckBox3.Value = True Then str = str + 1 
    If CheckBox4.Value = True Then str = str + 1 
    Range("D2").Value = str 
    End Sub 
+0

ありがとうございますが、私はvbaマクロを使用してそれを並べ替えることをお勧めします。あなたが想像することができるように、この質問には大きな絵は含まれていません。 – Tom

+0

私は答えを更新しました。 – Maddy

+0

こんにちはMaddyさんありがとうございます。私はあなたのコードを挿入しています。チェックボックスをクリックしている間は、セルD2に変更はありません。それについての洞察はありますか? – Tom

0

ちょうどそれをクリックする前に、マクロのforeachチェックボックスを設定します。

Public count As Integer 

Public Sub btn_Click() 
Dim cbName As String 

If (count = Null) Then 
    count = 0 
End If 

cbName = Application.Caller 

If (Sheets("Tabelle1").Shapes(cbName).ControlFormat.Value = xlOn And count < 4) Then 
    count = count + 1 
ElseIf (count > 0) Then 
    count = count - 1 
End If 
    Range("A1").Value = count 
End Sub 

enter image description here

enter image description here

+0

タイプの不一致でTizzuの問題が発生しました – Tom

+0

ActiveXチェックボックスを使用していますが、これはもっと難しくなると思います。 https://stackoverflow.com/questions/38282148/add-identical-code-to-multiple-combo-ボックス フォーマットについて気にしない場合は、FormControllのチェックボックスを使用してください – Tizzu

+0

代わりに何をお勧めしますか? – Tom

関連する問題