以前にも似たようなご質問をしましたが、回答して頂いた内容が私では解らなかったので再度させて頂きます。
“クエリ”を実行させる前に『「本当に実行しますか?」とメッセージを表示させて、「yes」なら実行させて「no」なら実行させない』という仕組みを「マクロ」で作れないのでしょうか?
私が作成した方法は
マクロの
1行目
「アクション」のとこで「メッセージボックス」を選択し、アクションの引数「メッセージ」の箇所に「本当に実行しますか?」と入力。
2行目
「アクション」のとこで「クエリを開く」を選択し、アクションの引数「クエリ名」の箇所に「●●クエリ(任意のクエリ)」と入力。
そして保存します。
そのマクロを実行させても「本当に実行しますか?」のメッセージが出て、「OK」のボタンしか表示されないんです。
(当たり前なのかもしれませんが…)
そしてその「OK」をESCキーで回避してもクエリが実行されてしまいます。
(当たり前なのかもしれませんが…)
上記の知識しかありません。どなたか柔らかくご説明して頂けないでしょうか?よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
自分はマクロをほとんど使わないので、VBA風になりますが・・・
条件付のマクロにする([表示]→[条件])
1行目
条件:MsgBox("本当に実行しますか?",4)<>6
アクション:全マクロの中止
2行目以降 Yes の場合の処理
こんな感じで出来ると思います。
4 とか 6 とかは、VBAの定数です。
VBA内では vbYes 等の名前で参照しますが、マクロ中では使えないと思いますので、直接数字を書きます。
幾つか定数を書いておきます。
(VBAのヘルプの MsgBoxを調べれば詳しく書いてます。)
1 vbOKCancel [OK] ボタンと [キャンセル] ボタンを表示します。
4 vbYesNo [はい] ボタンと [いいえ] ボタンを表示します。
アイコンを表示するなら、上記の数字+下記の数字
16 vbCritical 警告メッセージ アイコンを表示します。
32 vbQuestion 問い合わせメッセージ アイコンを表示します。
48 vbExclamation 注意メッセージ アイコンを表示します。
64 vbInformation 情報メッセージ アイコンを表示します。
例:注意アイコン付き Yes/No :4 + 48 = 52
MsgBox(""本当に実行しますか?",52)<>6 となります。
戻り値の定数
1 vbOK
2 vbCancel
6 vbYes
7 vbNo
6 は Yes です。
<>6 でYesでなければ、中止・・・となります。
No.3
- 回答日時:
すみません、venzouさんの回答の通りなのですが・・・greentea69さんに
本当にお伝えしなければならない部分への触れ方があまりにもあっさりしていて
見過ごされてしまいそうな気がしたので、お節介ながら補足させて戴きます。
> 条件付のマクロにする([表示]→[条件])
というのは、マクロをデザインビューで開いたときのメニューから、「表示(V)」の
「条件(C)」をクリックして、「条件」欄を表示させる、ということです。
「アクション」欄の「メッセージボックス」というのは、メッセージを表示させるため
だけのもので、今回のご質問のように場合分けをする際には、MsgBox関数を
「条件」欄で使用する必要があります。
(なお、「『はい』ならマクロAを、『いいえ』ならマクロBを、それぞれ実行」といった
ような動作をさせる場合は、フォーム上にテキストボックス(「可視」を「いいえ」
に設定)を作成し、「値の代入」アクションで「式」にMsgBox関数を、「アイテム」
にそのテキストボックスをそれぞれ指定して、「条件」欄には
「Forms!フォーム名!テキストボックス名=6」といった式を入れるようにします。
・・・これは、今後の参考までに)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Excel(エクセル) VBAで「クエリと接続」の画面を出せますか? 2 2022/10/24 13:35
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
エクセルでマクロボタンを押す前に、実行するかどうか再確認させたいのですが・・・。
Excel(エクセル)
-
Accessのマクロで「yes、no」の選択ができますか?
Word(ワード)
-
マクロを実行する前に確認メッセージを出したい。
Excel(エクセル)
-
-
4
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
5
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
6
access 登録したデータを修正するフォーム
Access(アクセス)
-
7
accessでイベントを中止するようなコマンドはあるのでしょうか?
その他(データベース)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
access・カウント結果がゼロでも、「0」を表示させるには?
その他(データベース)
-
10
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
11
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
12
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
13
VBA 存在しないシートを選択した時にエラーメッセージを表示するには?
Visual Basic(VBA)
-
14
VBAで文字列を数値に変換したい
Excel(エクセル)
-
15
Access VBA DB(先頭の0値を消す方法)
PowerPoint(パワーポイント)
-
16
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
17
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
18
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
19
エクセルvbaで転記したのですが、数字のゼロが消えてしまいます。 ゼロも転記するためにはどうしたらい
Excel(エクセル)
-
20
コマンドボタンがきかなくなる
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
EXCELのセルへ、デジタル時計を...
-
マクロ 実行ボタンを押さずに...
-
ワードからエクセルへ貼り付け...
-
エクセル グラフの軸の最小値最...
-
モジュール内のマクロを全て実...
-
Wordの画面を左右にスクロール...
-
エラーになってないのにVBA...
-
Accessのクエリを実行するショ...
-
TeraTermのマクロについて
-
複数ファイルにある特定のシー...
-
Excelを開いた時に表示さ...
-
【Excel VBA】エラー番号400
-
エクセルで複数のシートをまと...
-
《エクセル2000》非表示になっ...
-
ワードマクロで画像を選択する方法
-
EXCEL 複数のシートの同一の位...
-
Excel VBA のdebug(F8キー) が...
-
Excel文字列中の太字(Bold)部分...
-
【ExcelVBA】名前を付けて保存→...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
EXCELのセルへ、デジタル時計を...
-
マクロ 実行ボタンを押さずに...
-
複数ファイルにある特定のシー...
-
Excelのワークシート上に検索窓...
-
Excel VBA のdebug(F8キー) が...
-
Excelを開いた時に表示さ...
-
エラーになってないのにVBA...
-
エクセルのマクロ機能で前のシ...
-
エクセル グラフの軸の最小値最...
-
モジュール内のマクロを全て実...
-
EXCEL 複数のシートの同一の位...
-
エクセルで複数のシートをまと...
-
ワードからエクセルへ貼り付け...
-
【Excel VBA】エラー番号400
-
Wordの画面を左右にスクロール...
-
Excelマクロでオプションボタン...
-
TeraTermのマクロについて
-
マクロ ブックをマクロなしでコ...
-
Wordで「原稿用紙○枚」を換算す...
おすすめ情報