HOME > エクセルVBA >チェックボックス

チェックボックスの使い方

 チェックボックスは「はい」「いいえ」や「オン」「オフ」などの2択を選ぶ場合に利用されるコントロールです。複数設置することができ、アンケートなどにもよく利用されます。

 チェックマーク用の四角いボタンとその説明用の文字列から構成されたコントロールです。

チェックボックス

チェックマークの表示位置

 チェックボックスのAlignmentを変更することでチェックマークの表示位置を変更することが出来ます。

チェックボックス ・AlignmentのプロパティがfmAlignmentRight
 デフォルトの設定であり、四角のチェックボックスが左側に設置されます。文字列も左寄せになります。


・AlignmentのプロパティがfmAlignmentLeft
 文字列は左寄せになり、四角のチェックボックスは右寄せになります。

チェックボックスの取得

 ユーザーフォームを作成してチェックボックスを設置しました。設置したチェックボックスにチェックの有無を確認する必要があります。

 チェックの有無はValueプロパティで確認することが出来ます。チェックが付いていればTrueなければFalseを返します。

 逆の言い方をすればValueプロパティをTrueにすればチェックが入り、Falseにすればチェックが外れます。下のプログラムを試して見ましょう。チェックボックスのボタンを押すたびにチェックが付いたり外れたりします。

チェックボックスの取得 チェックボックスの取得

Private Sub CommandButton1_Click()


  With UserForm1.CheckBox1
   If .Value = True Then
   .Value = False
   ElseIf .Value = False Then
   .Value = True
   End If
  End With


End Sub

グレーなチェックボックス

 基本的にチェックボックスは「 False」「True」の2種類を使い分けますが、もう一つ値が設定されていない状態「Null」も利用することが出来ます。

グレーなチェックボックス  グレーのチェックマークが付いているときは「 False」「True」のどちらでもない状態を表しています。

 クリックを押すとチェックが入り、もう一度クリックを押すとチェックが外れます。

使用例

 ココでは簡単な使用例を紹介します。アンケートなどによく使われる手法です。チェックボックスにチェックが入っている項目を取り出してメッセージボックスで表示しています。

 アンケートであればチェックされた項目をデータとしてセル上に追加できるようにしておけば簡単にデータベースを作成することが出来ます。

チェックボックスの利用例

 エクセルとワードにチェックを入れている状態です。この状態で確定ボタンを押すとメッセージボックスにチェックの入っているエクセルとワードが表示されました。

チェックボックスの利用例

 エクセルとパワーポイントにチェックを入れている状態です。この状態で確定ボタンを押すとメッセージボックスにチェックの入っているエクセルとパワーポイントが表示されました。

 ユーザーフォームを作成して下記プログラムを入力すると上のように動きます。簡単に言えばチェックボックスにチェックが入っていれば項目を変数に代入し、メッセージボックスに表示しています。チェックボックスにチェックが無ければ変数を空にします。

Option Explicit


Dim my_a As String
Dim my_b As String
Dim my_c As String


Private Sub CommandButton1_Click()


  If UserForm1.CheckBox1.Value = True Then
  my_a = UserForm1.CheckBox1.Caption
  ElseIf UserForm1.CheckBox1.Value = False Then
  my_a = ""
  End If
  If UserForm1.CheckBox2.Value = True Then
  my_b = UserForm1.CheckBox2.Caption
  ElseIf UserForm1.CheckBox2.Value = False Then
  my_b = ""
  End If
  If UserForm1.CheckBox3.Value = True Then
  my_c = UserForm1.CheckBox3.Caption
  ElseIf UserForm1.CheckBox3.Value = False Then
  my_c = ""
  End If
  MsgBox my_a & " " & my_b & " " & my_c


End Sub

選択系コントロール その1  エクセル職人  選択系コントロール その3「トグルボタン」

▲TOPへ移動