ユーザーフォームに配置したチェックボックスの使い方としては、基本的にチェックを入れたら指定したセルに文字や数字を記載するために使いますが、その逆の使い方でセルの値を読み取って自動的にチェックを入れることができないのかなと思ったことありませんか?
例えば住所録でDM送付「希望あり」と「希望無し」をチェックボックスで選択しておいて、個人データが呼び出された時に、ユーザーフォームのチェックボックスも自動的にチェックの有無が表示されるようにしたい。
このような場合、チェックボックスのプロパティでは状況判断する設定は無いので、IFステートメントを使って表示させることが可能なので、ご紹介いたします。
基本的なチェックボックスの使い方については重複してしまうので、ここでは省略しますので下記を参考にしてください。
セルの値からチェックボックスの状態を取得しよう
IFステートメントで取得
下の図のようにセルA1に「DM」と入力されていたら、DM希望するチェックがある状態として(True)、空欄だったらDM不要ととしてチェックが無い状態として(False)とします。
そうすることにより、セルA1の値が【DM】となっていたらチェックを入れた状態にして、空欄だったらチェックを外すことができるので、セルの状態によってチェックボックスの状態を自在にコントロールできるようになります。
それでは、ユーザーフォームに配置したコマンドボタン1をクリックするとチェックボックス1がセルA1の状態を認識してチェックの有無ができるようなVBAコードをご紹介します。
Private Sub CommandButton1_Click()
If Range(“A1”).Value = “DM” Then
CheckBox1.Value = True
Else
If Range(“A1”).Value = “” Then
CheckBox1.Value = False
End If
End If
End Sub
- コマンドボタン1がクリックされたら
- もしセルA1の値がDMだったら
- チェックボタン1の状態をチェック有にする
- そうではなく
- もしセルA1の値が空欄だったら
- チェックボックス1の状態をチェック無しにする
- Ifステートメント終了
- Ifステートメント終了
- マクロ終了
もちろん、セルA1の値を消して空欄にしたらコマンドボタンを押してもチェックボックスには何も入りません。
実際にはこのような使い方はしませんが、セルの値によってチェックボックスの状態を取得する事ができるようになるVBAコードを記述することができました。
関連記事
紅葉スポット
-
日光自然博物館へバスで日光駅から紅葉景色へ滞在時間50分
【紅葉見頃】10月中旬~11月下旬 中禅寺湖から竜頭の滝や戦場ヶ原方面と反対方向に行くと、中禅寺湖を一望できる半月山展望台と中禅寺湖展望台があり、その途中の中禅… -
伊香保温泉365段の石段の先に紅葉ライトアップされた河鹿橋絶景へ
石段と温泉街で古くから観光客が多く訪れる伊香保温泉には、群馬県の紅葉スポット人気1位・全国でもトップクラスの紅葉スポットがあります。 石段をゆっくりと登ってい… -
那須塩原駅からバスで紅葉名所のもみじ谷大吊橋へ滞在時間60分
【紅葉見頃】10月下旬~11月中旬 塩原ダムに架かる大吊橋の周辺にもみじが植えられていて紅葉の季節になると真っ赤に染まるので、もみじ谷大吊橋という名で那須塩原市… -
フリーパスで10月の茨城紅葉スポットへ
【茨城県内の人気紅葉スポット】 関東地方で紅葉名所といえばなんといっても日光ですが、紅葉シーズンになると平日でもいろは坂は大渋滞なのに休日ともなると日光駅周辺… -
草津温泉スキー場の天狗山紅葉とライトアップされた西の河原散策へ
10月になると早々に紅葉を見ることができるので、今年の紅葉狩りのスタートはここ草津温泉からと言っても過言ではありません。 草津温泉の湯畑が有名ですが、すぐ近くに… -
フリーパスで12月の茨城紅葉スポットへ
【茨城県内の人気紅葉スポット】 関東地方で紅葉名所といえばなんといっても日光ですが、紅葉シーズンになると平日でもいろは坂は大渋滞なのに休日ともなると日光駅周辺…