これ何て呼びますか

VBAのフォーム上にチェックボックスが数個あります。
チェックされた数を合計しフォーム上に表示させることは可能でしょうか。

質問者からの補足コメント

  • エクセルVBAです。
    簡単なフォームを作りチェックボックスを数個作っていて、今は別なシートでチェックの有無を判別しその合計を求めていますが、別シートを使わずにできないかなと思いましたので。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/07/19 14:01

A 回答 (3件)

私はいろんなフォームを知っているせいか、フォームというと、フォームコントロールのフォームのフォームはUserFormとよく似ています。



ただ、ご質問レベルでは、フォーム側のものは、ほとんどてできません。フォームとは、UserForm のことを指しているのでしょうか?他にもあるからです。

でも、別のシートを使ってとか、難しいことをしますね。
UserForm の中だけでするなら、このようにします。他にもやり方はあっても、原理は、これと同じことです。

'//UserForm上にひとつのボタンを設けたとしたら、
Private Sub CommandButton1_Click()
Dim i As Long
Dim t As Long
For i = 1 To 10 'チェックボックスが10個あるとすれば。
If Me.Controls("CheckBox" & i).Value = True Then
 t = t + 1
End If
Next i
If t > 0 Then
  MsgBox t
End If
End Sub
    • good
    • 0

表示しているフォームのコードに以下の行を追加してください。


------------------------------------------------
Private Sub CheckBox1_Click()
Call Count_CheckBox
End Sub
Private Sub CheckBox2_Click()
Call Count_CheckBox
End Sub
'・・・同様にチェックボックスの数分行う。以下省略

'チェックボックスのチェックされた数をカウントし、テキストボックス1へ表示する
Private Sub Count_CheckBox()
Dim count As Long
count = 0
If CheckBox1.Value = True Then
count = count + 1
End If
If CheckBox2.Value = True Then
count = count + 1
End If
'・・・同様にチェックボックスの数分行う。以下省略

'テキストボックスにカウントした値を表示する
TextBox1.Text = count
End Sub
-----------------------------------------------
    • good
    • 0

なんのVBA?

この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!