
No.3ベストアンサー
- 回答日時:
こんばんは
ご質問文の通りに「監視」するのであれば、
・OnTime等で一定時間ごとにチェックする
あるいは、ボタンの変化がクリックで起こるとしてよいのなら
・マウスクリックを取得して、チェック(監視)する
ような方法が考えられます。
https://excel-excel.com/tips/vba_151.html
とは言え、いずれにしろ無駄に実行される確率が高いので、効率も悪く、下手なコードを書けば負荷の増大につながりかねません。
補足に、
>ボタンごとにマクロを割り付けるのではなく、
とありますが、ボタンのクリックをひとつのマクロで処理することは可能ですし、この方法であれば、必要な時にしか動作しないので効率が悪くなることもありません。
以下は、そのような一例です。
フォームコントロールのオプションボタンの場合を例として。
(ActiveXの場合は、扱いが変わる可能性があります)
1)例えば、標準モジュールに以下のコードを用意しておきます。
Sub optBtnCheck()
Set c = ActiveSheet.Shapes(Application.Caller)
MsgBox c.Name & "(" & c.AlternativeText & ") is ON"
End Sub
2)シート上にフォームコントロールのオプションボタンを作成
3)2)のボタンに1)のマクロを登録
4)3)のボタンをコピペで好きなだけ増やします。
以上で、ボタンをクリックすれば(=ONになるのと同値)、そのボタン名がメッセージボックスに表示されます。
(実際の処理内容は、なさりたいことに応じて書き換える必要があります)
※ すでにボタンを多数作成済みであれば、「マクロを登録する」マクロを作成して実行すれば、後からの登録も可能です。
※ 上記のままだと、「ONになっているボタン」をクリックしても動作しますが、状態が変化したかどうかは、単純にこれだけをチェックすれば済むものと思います。
※ ボタンのグループが複数存在する場合であっても、チェックタイミングの取得は同様にできるものと思います。
ありがとうございます。
勉強になりました。
ActiveXコントロールのオプションボタンだったので、
一括でマクロ登録出来なかったという事情もあり、
セル変化を検知できて、オプションボタンを検知できないのかという興味もありまして。
扱いやすいフォームコントロールのオプションボタンに置き換えて正攻法でいこうと思います。
No.2
- 回答日時:
単純にこう言うことじゃなくて?
Private Sub OptionButton1_Click()
MsgBox "op1"
End Sub
Private Sub OptionButton2_Click()
MsgBox "op2"
End Sub
ありがとうございます。
ボタンごとにマクロを割り付けるのではなく、
Worksheet.Changeイベントが、シート上のセル書き換えを監視して、マクロ処理を走らせるように、
シート上よオプションボタンの変更を検知してマクロ処理を走らせる、
みたいな方法を探していました。
単純に全オプションボタンに同じマクロ割り当てれば実現はできますが、
「オプションボタンの変更」をきっかけにできるか、
という点での質問でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAでOptionButtonのオンオフ取得
Excel(エクセル)
-
VBAでオプションボタンなどそれぞれの数を調べたい
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
エクセルVBAでオプションボタンを無効にする方法
Excel(エクセル)
-
5
コマンドボタンがあるかどうかを取得するには?
PowerPoint(パワーポイント)
-
6
VBAで英数字入力チェックしたい。
Visual Basic(VBA)
-
7
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
8
エクセルVBAで、ボタンの文字を変えたい
Excel(エクセル)
-
9
RightとLeft関数のライブラリがみつからなくなった
Visual Basic(VBA)
-
10
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
11
DoEventsがやはり分からない
Visual Basic(VBA)
-
12
ExcelVBAで今開いているユーザ情報を取得できますか?
Visual Basic(VBA)
-
13
動かなくなってしまった古いVBAを動くようにしたい
Visual Basic(VBA)
-
14
別インスタンスのエクセルを制御したい
Excel(エクセル)
-
15
Excel VBAで、実行時にsheet上のコマンドボタンのCaptionを変更する。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複雑なシフト表から...
-
エクセルの関数について
-
【マクロ】実行時エラー '424':...
-
【マクロ】変数に入れるコード...
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
Office2021のエクセルで米国株...
-
【マクロ】左のブックと右のブ...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルのVBAで集計をしたい
-
vba テキストボックスとリフト...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
エクセルシートの見出しの文字...
-
LibreOffice Clalc(またはエク...
-
【マクロ】別ファイルへマクロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
学校で買ったiPadがあるんです...
-
夕飯食べてる時、なんか、母に...
-
Googleマップで行動履歴とか見...
-
今の日本の監視管理社会を生き...
-
会社が従業員に無断で、工場に...
-
アプリについて
-
バイト前眠れないです。 大学生...
-
スター・ウォーズエピソード3を...
-
Excelシート上のオプションボタ...
-
OVO(OpenViewOp...
-
通信調査
-
大至急‼️学校のiPadについて
-
PCが監視されていることを逆探...
-
RSSが無いHPの更新を自動的に調...
-
教えて!gooの監視って、深夜も...
-
公安の国木田が怖いです どうし...
-
共有フォルダへのアクセスを監...
-
会社のPCのセキュリティ
-
Webカメラによる遠隔監視方法
-
環境衛生監視員の具体的な仕事内容
おすすめ情報