[[20050419150336]] 『マクロを設定したボタンに警告を…』(まったけ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロを設定したボタンに警告を…』(まったけ)
 毎度初歩的な質問で恐縮です。
 項目をすべてクリア(全消去の意)するマクロを実行させるボタンを配置しているのですが、
 以前誤って、数値の入力後すぐにこのボタンを押してしまい、せっかく入力した数値が一瞬
 にして消えてしまったことがありました。
 このボタンを押した際、アラートのようなものを表示させる方法はありますか?
 形式はどんなものでも、要はクリアする前に確認を促すメッセージが表示されればよいの
 ですが…

 こんな感じでどうでしょうか?
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.