VBA初心者です。
素人質問ですが、どうぞよろしくお願いいたします。
BOOK1のSheet1にwebクエリが設定されています。
Sheet1にはコマンドボタンが二つあり、
CommandButtun1にはクエリを更新するマクロ。
CommandButtun2にはクエリを更新してブックを閉じるマクロがあります。
コマンドボタン2をクリックすると、Webクエリを更新して、
ブックをメッセージなしで上書き保存したいのですが、
下記のマクロではうまく動作しません。
クエリ更新のあとの、ブック保存、クローズするマクロが動作しない状況です。
CommandButtun1のWSH.Popupが原因のようですが、
何か回避方法がありましたら、ご教授いただけませんか?
CommandButtun1には下記のマクロ
Private Sub CommandButton1_Click()
'独自のエラーメッセージを表示する(On Errorステートメント)
On Error GoTo Err_Msg
'webクエリ更新
Range("H6").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
中略
Exit Sub
'エラーメッセージの指定
Err_Msg:
Dim WSH As Object
Set WSH = CreateObject("Wscript.Shell")
WSH.Popup "完了しました。", 3, "自動的に閉じます", vbYesNo + vbInformation
Set WSH = Nothing
End
End Sub
-------------------------------------------------------------------------
CommandButtun2には下記のマクロ
Private Sub CommandButton2_Click()
CommandButton1.Value = True
If ThisWorkbook.Saved = False Then
ThisWorkbook.Save
End If
ActiveWorkbook.Close
End Sub
No.1ベストアンサー
- 回答日時:
現象は
1.コマンドボタン2をクリックする
2.コマンドボタン1のWEBクエリ更新が実行される
3.エラーが発生して「自動的に閉じます」が表示される
4.コマンドボタン2に復帰して保存するつもりがされない
という事ですか?
だとしたらエラーメッセージの指定部分に書いているEnd命令で終了しているのが原因なので,
対策1:End命令を削る
対策2:エラーメッセージの指定ブロックに行かない(エラーを出さない)ようにコマンドボタン1のプログラムを改修する?
対策3:何かの理由でEnd命令が削れないなら,コマンドボタン2内にWEBクエリの更新を書いて(endさせず)引き続き保存を行う
などかなと思います。
ありがとうございます。
現象ですが、
"1.コマンドボタン2をクリックする
2.コマンドボタン1のWEBクエリ更新が実行される
3.エラーが発生して「自動的に閉じます」が表示される
4.コマンドボタン2に復帰して保存するつもりがされない"
3.の部分のエラーはありません。
クエリ更新のあと”完了しました”のポップアップ表示後、
EXCELに戻り、次のプログラムには移行しません。
End はクエリ更新処理を繰り返し行っているため、
削除はできない状態です。
プログラムの改修を試みたいと思います。
No.2
- 回答日時:
エクセル使ったことないけど(詳しくないけど)まず、
On error goto Err_Msg
をコメント化して(先頭に’をつけて)、実行しどの行で問題が発生しているのかを調べ、なんでそこでエラーが起きるのかを質問したほうが良いと思う。 エラーが起きた後のフローだけを書いてもらっても、わからない。 (問題は中略部分にあるんじゃないかな)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクロールしてもボタンを常に...
-
Excel:コマンドボタンの移動
-
コマンドボタンがあるかどうか...
-
[ExcelVBA] コマンドボタンを押...
-
EXCELのシート名を指定してその...
-
InDesignには「1段階戻る」の...
-
access レコード移動の早送り的な
-
ActiveXコントロールのコマンド...
-
エクセルでマクロボタンを動か...
-
実行中の作業を中止させるコマンド
-
エクセルVBA シート上にあるコ...
-
エクセルVBA
-
Excel VBAについて【図形を組み...
-
押したボタンの位置取得(共通の...
-
エクセルでコマンドボタンを押...
-
ビデオスタジオ12について
-
PowerPointファイルを上書き保...
-
パソコンに写真を取り組む件に...
-
Excelの「繰り返し」コマンドに...
-
ワードで数式を使うときに
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel:コマンドボタンの移動
-
コマンドボタンを押すたびに大...
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
コマンドボタンがあるかどうか...
-
エクセルVBAでOptionButtonのオ...
-
コマンドボタンで「終了ボタン...
-
Excel VBA --- コマンドボタ...
-
エクセルVBA シート上にあるコ...
-
ShowAllDataのエラーを回避したい
-
Accessのコマンドボタンの立体...
-
エクセルVBA
-
EXCELでNo.を変えて印刷したい
-
PPTのコマンドボタンがクリック...
-
マクロ登録ボタンに色をつける
-
実行中の作業を中止させるコマンド
-
エクセルのコマンドボタンの位...
-
[ExcelVBA] コマンドボタンを押...
-
Wordでドラッグした文字列を括...
-
チェックボックスで「いずれか1...
おすすめ情報