
以前にも似たようなご質問をしましたが、回答して頂いた内容が私では解らなかったので再度させて頂きます。
“クエリ”を実行させる前に『「本当に実行しますか?」とメッセージを表示させて、「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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
-
4
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
5
access テキストボックスの値取得
Access(アクセス)
-
6
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
7
Accessのフォームで、画面表示されているものを印刷する
Access(アクセス)
-
8
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
9
どこにもフォーカスを当てたくない
Access(アクセス)
-
10
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
11
access別のテーブルを参照してテキストボックスに値を表示、編集したい
Access(アクセス)
-
12
accessの日付フィールドから前年度だけを取り出したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
if関数の複数条件について
-
同じ名前(重複)かつ 日本 ア...
-
excel
-
【マクロ】数式を入力したい。...
-
表計算ソフトでの様式の呼称
-
空白のはずがSUBTOTAL関数でカ...
-
【関数】=EXACT(a1,b1) a1とb1...
-
【マクロ画像あり】❶1つの条件...
-
エクセルの文字数列関数と競馬...
-
【画像あり】【関数】指定した...
-
エクセルでフィルターした値を...
-
エクセルに写真が貼れない(フ...
-
エクセルのライセンスが分かり...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ】既存ファイルの名前...
-
【マクロ】【画像あり】4つの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
Wordの画面を左右にスクロール...
-
エクセル グラフの軸の最小値最...
-
EXCEL 複数のシートの同一の位...
-
モジュール内のマクロを全て実...
-
エクセルのマクロ機能で前のシ...
-
開いているフォルダを全て閉じ...
-
エクセルで複数のシートをまと...
-
マクロボタンをある条件の時に...
-
VBAでEXCELに埋め込んだPDFを開...
-
マクロボタンを作ってのマクロ...
-
【Excel VBA】エラー番号400
-
EXCEL2000 VBA マクロ実行中に...
-
【エクセル】 キーを押すと、...
おすすめ情報