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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドボタンを押すたびに大...
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
Excel:コマンドボタンの移動
-
PPTのコマンドボタンがクリック...
-
エクセルVBA
-
コマンドボタンがあるかどうか...
-
MS_AccessからPDFファイルを開...
-
エミュレータでジョイパットを...
-
エクセルでコマンドボタンを押...
-
ShowAllDataのエラーを回避したい
-
エクセル2007VBAでコマンド...
-
エクセルでマクロボタンを動か...
-
エクセルVBA シート上にあるコ...
-
閉じるボタンを左に表示したい
-
EXCELでNo.を変えて印刷したい
-
コマンドボタンがきかなくなる
-
Wordでドラッグした文字列を括...
-
ACCESSのコマンドボタン...
-
Sleipnirのツールバーのボタン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンを押すたびに大...
-
Excel:コマンドボタンの移動
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
コマンドボタンがあるかどうか...
-
Accessのコマンドボタンの立体...
-
PPTのコマンドボタンがクリック...
-
ShowAllDataのエラーを回避したい
-
エクセルVBAでOptionButtonのオ...
-
エクセルVBA
-
EXCELでNo.を変えて印刷したい
-
Excel VBA --- コマンドボタ...
-
エクセルVBA シート上にあるコ...
-
Wordでドラッグした文字列を括...
-
Accessユーザーフォームでコマ...
-
コマンドボタンがきかなくなる
-
excelコマンドボタンと内容を別...
-
ROCKET MOUSEの使い方
-
コマンドボタンで「終了ボタン...
-
エミュレータでジョイパットを...
おすすめ情報