
下記マクロでチェックボックスの右隣のセルにtrue、falseを表示させています
With ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 1)
.Value = Not .Value
End With
また別のマクロ(マクロボタンを作っている)で、チェックボックスのレ点を消しています
Dim chkBox As CheckBox
For Each chkBox In ActiveSheet.CheckBoxes
chkBox.Value = False
Next chkBox
2番目のマクロを実行すると、
レ点は消えるのでが、右隣はtrueのままでfalseになりません
жチェックボックスにレ点をいれると、falseになり、外すとtrueになります
チェックボックスのレ点を一括で消して、trueからfalseになるようにするにはどのようにすればよろしいでしょうか?
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
fujillinさんのおっしゃる通りなんですけど別の視点から
お話させてください。
vbaで大切なのは自分で確認することなんです。
何が起きているのかを自分の目でチェックする事で
より理解は確かなものになります。
例えば
With ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 1)
.Value = Not .Value
End With
この
.Value = Not .Value
の行にブレークポイントをセットしたことはございますか?
これをやってみるととにかくチェック可能なことが沢山あります。
例えばブレークポイントをセットしてチェックボックスを叩くと
その行で停止しますから、イミディエイトウィンドウに
? Application.Caller
? ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
? ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 1).Address
? ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 1).Value
これらが何を表示しているかの意味はご理解いただけるでしょうか?
それを表示されるものと、目に見えているセルの状態から
構造を頭の中で整理する作業が大切なんです。
No.1
- 回答日時:
こんばんは
ご質問の「チェックボックス」は、シート上に直接フォームコントロールのチェックボックスを設定しているものと仮定しての回答です。
(ActiveXのチェックボックスの場合は、少し話が変わりますので)
>チェックボックスのレ点を一括で消して、trueからfalseになるように
>するにはどのようにすればよろしいでしょうか?
一番簡単なのは、各チェックボックスのリンクセルとして、それぞれの左側のセルを設定して、1番目のマクロを削除することでしょう。
これによって、2番目のマクロでチェックボックスの値を変更した際に、自動的にセルの値にも反映されるようになります。
「そんなことは聞いてねぇ!」とおっしゃるのであれば・・
2番目のマクロでチェックボックスをクリアした際に、同時にセルの値もクリアに設定するようにしておけば済む話のように思います。
ちなみに、1番目のマクロは、チェックボックスの値に関係なくセルの値を反転(=トグル)表示するものになっていることは理解していますか?
例えば、チェックボックスを非選択、セル値をTRUEの状態から始めると、ずっと表示とチェック状態は逆転したままになります。
チェックボックスの値を反映してセル値を決める様にしておいた方が宜しいかも知れませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
エクセルでページ数をあるセル...
-
エクセル シート保護された共...
-
Excel ハイパーリンクのURLを別...
-
クリックすると文章が表示され...
-
Excelで、図形内の文字をセルに...
-
現在のセルの位置を返す関数は...
-
ページ内ハイパーリンクの表示...
-
フォントの色を指定して削除出...
-
エクセルマクロ 赤色の文字を検...
-
Excelでセルをクリックす...
-
Excel2007 色のカウント (VBA)
-
EXCELのセルや文字色の反映
-
セルの内容をテキストボックス...
-
エクセルシート内のある数値以...
-
エクセルでPDFリンクを大量...
-
空白セルを空セルに置き換える...
-
マクロの整理、正解を教えてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
Excelで、図形内の文字をセルに...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excel ハイパーリンクのURLを別...
-
マクロを実行すると画像がズレ...
-
太字に設定されているセルの個...
-
Excel2007 色のカウント (VBA)
-
フォントの色を指定して削除出...
-
エクセルVBA
-
Excel:セルの値(文字列)を数...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
エクセルでPDFリンクを大量...
-
セルの内容をテキストボックス...
-
シート保護とグループ化機能を...
-
ページ内ハイパーリンクの表示...
-
空白セルを空セルに置き換える...
おすすめ情報