下記マクロでチェックボックスの右隣のセルに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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) 2つのマクロでチェックボックスが連動しません 2 2024/04/27 14:44
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/04/03 17:56
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Visual Basic(VBA) VBAに関して 2 2023/11/09 20:57
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセル共有したが、アクセスできなくかった
Excel(エクセル)
-
CSVファイルについて質問です。
Excel(エクセル)
-
VBAについての質問です
Excel(エクセル)
-
-
4
Excelについて教えてください
Excel(エクセル)
-
5
pdfの表をexcelにはりつけて計算したい
Excel(エクセル)
-
6
Excelの表示についての質問
Excel(エクセル)
-
7
エクセルでバーコード作成し使用しているんですが、違うパソコンで同じエクセルファイルを使用したらバーコ
Excel(エクセル)
-
8
エクセル シート表示
Excel(エクセル)
-
9
エクセルのハイパーリンクがうまく機能しない
Excel(エクセル)
-
10
自動入力で今月はMONTH(TODAY())で良いのですが、翌月はどのようにすれば良いでしょうか。
Excel(エクセル)
-
11
【マクロ】顧客番号にて一致させ、情報を表へ上書きする為には
Excel(エクセル)
-
12
はがきについて。
Excel(エクセル)
-
13
一つのセルに(例えばA1)入力された3桁・4桁の数字を並べ替えて同一行のセルに表示させる。
Excel(エクセル)
-
14
エクセルファイルがファイルのダブルクリックで開けなくなりました
Excel(エクセル)
-
15
時間によってファイル名が変わるエクセルをほかのエクセルでデータを参照する方法
Excel(エクセル)
-
16
CELL関数のヘルプ文の意味?
Excel(エクセル)
-
17
エクセルでCtrl+Tでテーブルの作成ができますが、これがピボットテーブルですか?
Excel(エクセル)
-
18
エクセルで表
Excel(エクセル)
-
19
エクセルの「赤」の印刷がうまくできなくなりました。
Excel(エクセル)
-
20
エクセルの「入力規則」のプルダウンメニュの▼をセルの左側に出したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
現在のセルの位置を返す関数は...
-
フォントの色を指定して削除出...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
エクセルでPDFリンクを大量...
-
エクセルマクロ 赤色の文字を検...
-
セル背景や文字を点滅させる方法
-
空白セルを空セルに置き換える...
-
ページ内ハイパーリンクの表示...
-
Excelで挿入した図をセルの中央...
-
【EXCEL】先週の月曜日の日付を...
-
エクセルでページ数をあるセル...
-
エクセル 未入力セルがあると...
-
excelで セルの移動時に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excelで挿入した図をセルの中央...
-
太字に設定されているセルの個...
-
現在のセルの位置を返す関数は...
-
セルがクリックされた回数をカ...
-
エクセルでの検索ボックスの作...
-
Excel ハイパーリンクのURLを別...
-
エクセルでPDFリンクを大量...
-
Excel2007 色のカウント (VBA)
-
フォントの色を指定して削除出...
-
【EXCEL】先週の月曜日の日付を...
-
VBA 見つからなかった時の処理
-
エクセルでページ数をあるセル...
-
空白セルを空セルに置き換える...
おすすめ情報