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

チェックボックス 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

各コントロールまとめて転記シリーズ

ユーザーフォームを使うと配置したコントロール(テキストボックスやラベルなど)とセルとの間で値のやり取りが多くなります。

よく使うのでまとめてみました。

値の場所転記したい場所説明ページ
セルの値ラベル名VBAコード
セルの値テキストボックスの値VBAコード
セルの値コマンドボタンの表示名VBAコード
セルの値セルの値VBAコード
テキストボックス入力値セルの値VBAコード
波乗りアヒル
波乗りアヒル

成績表作成には知っておきたいExcel-VBAもくじ

ボウリングハンデキャップのつけ方
HDCPの種類はリーグのルールにより複雑に ボウリングの成績表(リーグ戦)で必ず必要になるのが、ハンデキャップ(HDCP)です。 ボウリングご予約の時に一番多く使われているのが、女性にだけハンデキャップをつけてあげることが多いですね。 だいだい何点ぐらいのハンデキャップが多いの?
ボウリングリーグ対戦表の数字を名前に自動変換する方法
リーグ戦の対戦表をエクセルで作る時、数字で表されている番号を名前に自動的に変換できると作業時間が短くなり効率的ですね。たった2つのエクセル関数を使うだけで、簡単にできるんです。今回の回戦数を入力するだけで一発変換完了。もちろんお客様にスケジュール対戦表として渡すことも簡単ですよ。
人数に応じてリーグ対戦表を自動選択する方法
複数の表があり、条件に合った表を選んで、さらにセルの値を選んで数字を名前に自動変換できると、とても便利なエクセルができますよね。ボウリングのリーグ対戦表も人数により表が異なるので、参加人数が決まったら、自動的に表を選んで対戦番号がこれも自動的に参加者名に変換されると便利で作業効率がアップして時間短縮になりますよ。
波乗りアヒル
波乗りアヒル

エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?

コメント