[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロを設定したボタンに警告を…』(まったけ)
毎度初歩的な質問で恐縮です。 項目をすべてクリア(全消去の意)するマクロを実行させるボタンを配置しているのですが、 以前誤って、数値の入力後すぐにこのボタンを押してしまい、せっかく入力した数値が一瞬 にして消えてしまったことがありました。 このボタンを押した際、アラートのようなものを表示させる方法はありますか? 形式はどんなものでも、要はクリアする前に確認を促すメッセージが表示されればよいの ですが…
こんな感じでどうでしょうか? If vbYes = MsgBox("消去してもいいですか?", vbYesNo) Then MsgBox "消去します。" Else MsgBox "中止します。" End If (SoulMan)
if vbyes=msgbox("マクロを実行しますか?",vbyesno+vbquestion,"確認") then '処理 end if
(INA)
(SoulMan)さん、(INA)さん、ありがとうございます。 ちなみに教えていただいたこれらは、マクロ実行文の最後に挿入すればよいのですか? 例えば現在は、 Selection ClearContents から始まって、後はアクティブセルを指定して、 End Sub で終わっているのですが、このうちどこに教えていただいた文を挿入すればよいですか?
ブレイクポイントを設定して ここにあったらいいなぁ。。 と思われるところに記述されたらいいと思います。(SoulMan)
(SoulMan)さん、とても分かりやすい説明をしていただいて、ありがとうございます! マクロは、最近になって覚え始めたばかりなのですが、少しずつ楽しくなってきたところ で、教えていただいた方法も、早速試してみます。 ただ、何度か失敗するかもしれないので、結果報告が遅くなりましたら申し訳ありません。 (まったけ)
(SoulMan)さん、早速試してみました。 確かに、ボタンをクリックすると、確認のメッセージボックスが表示されるようにはなった のですが、〔消去しますか?〕で、〔はい〕をクリックする際は問題ないのですが、 〔いいえ〕を選択した際、〔中止します〕とメッセージが表示されるにも関わらず、〔OK〕 をクリックすると、中止されずにオールクリアされてしまいます。 元々のマクロ文がかなり長いので、ここに全文掲載することができないのですが、簡単に動作 の流れを説明すると、 消去したいセルの選択 → 選択したセルのクリア → 次回入力のために先頭のセルを選択 とこれだけの事です。 ただお恥ずかしい話、これを〔マクロの記録〕を利用して作成したため、途中にActiveWindow SmallScroll などの余計な記述が入ってしまうため、文が無駄に長くなってしまっています。 で、この命令文の冒頭部分に、教えていただいた文を挿入したのですが、前述の通り、 メッセージボックスそのものは表示されるものの、キャンセルを選択しても、結果的には キャンセルされずに、オールクリアされてしまいます。 文を挿入する場所が間違っているのでしょうか…
あっ!失礼しました。非常出口を作るのを忘れていました。(^^; If vbYes = MsgBox("消去してもいいですか?", vbYesNo) Then MsgBox "消去します。" Else MsgBox "中止します。" Exit Sub'これを追加してください。非常出口です。 End If (SoulMan)
(SoulMan)さん、本当に親切に教えていただいてありがとうございました。 これからもっとマクロについて勉強します。 (まったけ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.