スポンサーリンク

チェックボックスでチェック有と無しそれぞれの処理を変える方法

チェックボックス Excel-VBA

ユーザーフォームに配置してチェックを入れる為のチェックボックス。

ボウリングのリーグ戦での成績表でもボックスの人数を設定する時に、チェックしたらその人数に設定するようにする為に使用していますが、チェック有の時は〇、チェックが無かったときは✖みたいに出来ないものか

なぜそんな疑問を持ったの?

ボウリングのリーグ戦では、総当たり戦なのですが、リーグ戦により中間ポジションマッチという対戦を行うものがあり、参加人数により当然変わります。

またJリーグのように対戦が1回だけならばいいのですが、プロ野球などは同じチームと何度も対戦する2回戦・3回戦なんてなったら中間ポジションが当然増えます。

そこで、チェックボックスのチェックが入った週はポジションマッチ、チェック無しは通常対戦みたいに出来たらいいのかなってね。

やってみたら意外と簡単だったので良かったかな。

スポンサーリンク

If~True ThenとElseで解決

よくよく考えたら、もともとチェックボックスを使う時はVBAのコードはこのように使いますよね。

Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then
Range(“A3”).Value = “〇”
End If
End Sub
  1. コマンドボタン1を押したら
  2. もしチェックボックス1にチェックが入っていたら
  3. セルA3に〇を入力する
  4. Ifステートメント終了
  5. マクロ記述終了

普段から使っていたのですが、Ifステートメント使っているなら、そうでない場合のElseを付け加えれば解決するんですよね。

そこで、チェックが無かったら✖を入力するって加えるだけでした。

そうするとこのようなVBAコードになります。

Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then
Range(“A3”).Value = “〇”
Else
Range(“A3”).Value = “✖”
End If
End Sub

Excel-VBAもくじへ

コメント