アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもこちらで大変お世話になっています。

エクセルでマクロを組み、ボタンを作成しました。
ボタンをクリックすると、組んだマクロが開始されるのですが
その前に一度、「実行しますか?はい(実行)・いいえ(キャンセル)」といったような確認をさせたいのです。
このようなことは可能でしょうか?
可能ならば方法を教えてください。

どうぞよろしくお願いします。

A 回答 (3件)

こんにちは。



>エクセルでマクロを組み、ボタンを作成しました。
元のコードがどうなっているのか分りませんので、実際は、どうしてよいのか具体的には、こちらでは分りません。

いくぶん、重複してしまいますが、それ以前のステップから書かないといけないようですが、よく読んで、試してみたください。

最初に、私の#2で書いたコードをそのまま貼り付けても、エラーが出ます。

それは、コマンドボタン(CommandButton)には、二種類あるからです。

1つは、コントロールツールのボタンと、もう1つは、フォームのボタンです。
それは、どちらなのかおわかりなりますか?

中身自体は、

'---------------------------------
If MsgBox("実行しますか?", vbQuestion + vbOKCancel) = vbCancel Then
  MsgBox "終了します。"
  Exit Sub
End If
  '実行継続
'---------------------------------

このようにはなるのですが、外側が違ってきます。

コントロールツールの場合は、コントロールツールから、右クリックして、コードの表示とすると、

Private Sub CommandButton1_Click()

End Sub

と中身の空のプロシージャが出てきますから、そこに中身の点線で囲まれた上記のコードを入れてあげます。

フォームのツールの場合は、

例えば、

Sub ボタン1_Click()
If MsgBox("実行しますか?", vbQuestion + vbOKCancel) = vbCancel Then
  MsgBox "終了します。"
  Exit Sub
End If
  '実行継続
End Sub

のようにして、右クリック-マクロの登録で、この名前「ボタン1_Click」を探して、登録します。

次に、「実行継続」の部分に、どんなものを入れるか、これは教えてもらってはいませんので、ご自分で入れられるなら、それを入れてください。もし、出来ないようなら、ここで公開してください。
    • good
    • 5
この回答へのお礼

できました!!
ご親切に丁寧に教えてくださって、感謝です。
ありがとうございました。

お礼日時:2005/09/23 21:46

こんばんは。



同じような内容を書いて恐縮しますが、こうしたらどうでしょうね。
ただし、これは、コントロールツールバーの中のボタンに対して、[右クリック]-[コードの表示]でVisual Basic Editor 画面を出してから、書き付けるものです。

Private Sub CommandButton1_Click()
If MsgBox("実行しますか?", vbQuestion + vbOKCancel) = vbCancel Then
  MsgBox "終了します。"
  Exit Sub
End If
  '実行継続
End Sub

フォームツールバーのコマンドボタンのほうが作りやすいけれども、コントロールツール側のボタンは、編集ボタン(青い三角定規のツールアイコン)を押さないと、勝手に変更することが出来ません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
さっそく書きつけてみたのですが、よくわかりません・・・。
「コンパイルエラー」と出たり、「End Sub」を記入してください、と出ます。
まったく意味がわかりません・・・。
どうしたら良いでしょうか??
すみませんが、引き続き教えてください。

お礼日時:2005/09/22 15:36

マクロを編集するとVBAの画面が出てきますよね?



ここで先頭に
If (vbYes <> MsgBox("実行していい?", vbYesNo)) Then
Exit Sub
End If
と入れてあげればご希望の仕様を満足できる思い増す。
    • good
    • 3
この回答へのお礼

ありがとうございます。

教えてくださったように入力すると
「コンパイルエラー」と出てしまうのですが・・・。

エクセル初心者の私にはムリな望みだったのでしょうか???・・・・・・。

お礼日時:2005/09/22 15:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています