ホーム > ユーザーフォーム > Lesson5: チェックボックス

チェックボックス
チェックボックス チェックボックス
チェックボックスは複数の選択肢から選んでもらう場合などに使われます。
チェックボックス
前の項目で作ったユーザーフォーム(テストの点数の入力)に追加します。
入力したい科目を選んで、入力できるように変更しましょう。
ツールボックスのチェックボックスを選んで配置します。
チェックボックス配置
教科名(国語)の横のチェックボックス(CheckBox1)のプロパティを設定します。
プロパティ 設定
オブジェクト名 chkKokugo
残りの教科の横にも同じようにチェックボックスを配置します。
残りのチェックボックスの配置
算数のチェックボックスは
プロパティ 設定
オブジェクト名 chkSansu
理科のチェックボックスは
プロパティ 設定
オブジェクト名 chkRika
理科のチェックボックスは
プロパティ 設定
オブジェクト名 chkSyakai
2006年5月
チェックボックス その2 チェックボックス その2
チェックボックスの配置が終わったので次は、チェックボックスにチェックが入った場合だけ
ワークシートに点数が入力されるようにします。
チェックボックスにチェックが入っているかを知るにはValueを見ます。
チェックが入っている場合は
  オブジェクト名.Value = True

チェックを外した場合は
  オブジェクト名.Value = False

コマンドボタン(入力)をクリックしたとき、チェックが入っている場合(True)は入力し、
チェックが入っていない場合(Fasle)は入力しない、つまり何もしないようします。
入力ボタンをクリックしたときの動作を変更します。
コマンドボタン(入力)をダブルクリックするとコードが表示されます。
国語の点数をワークシートに入力する部分を
  Range("D3").Value = txtKokugo.Value

条件分岐 If A Then B...もしAならばB を使って
チェックボックス(chkKokugo)がTrueときは入力するにようにします。
  If chkKokugo = True Then
    Range("D3").Value = txtKokugo.Value
  End If

(条件分岐がわからない場合は、VBA入門の制御構造If Then Else参照)
同じように、算数、理科、社会もTrueのときだけ入力するようにします。
Private Sub cmdEntry_Click()

  '入力ボタン
  
  Range("B3").Value = txtNo.Value
  Range("C3").Value = txtName.Value
  
  If chkKokugo = True Then
    Range("D3").Value = txtKokugo.Value
  End If
  If chkSansu = True Then
    Range("E3").Value = txtSansu.Value
  End If
  If chkRika = True Then
    Range("F3").Value = txtRika.Value
  End If
  If chkSyakai = True Then
    Range("G3").Value = txtSyakai.Value
  End If
  
  lblComment.Caption = "ワークシートに転記しました!"
  
End Sub

2006年5月
チェックボックス その3 チェックボックス その3
ワークシートのB3、C3、D3、E3、F3、G3を値を消して、
データクリア
コマンドボタン(入力フォーム)をクリック。
フォームにデータを入力します、こんな感じで。
成績入力
入力ボタンをクリックするとワークシートは
成績入力結果
チェックが入った国語と算数の点数が、シートに入力されました。

2006年5月