- 締切済み
エクセルのマクロについて
ファイルを開いた時にWebクエリを一括自動更新できるマクロを作りたいのですが、 下記だと「この操作によって[データの更新]コマンドはいったん中止されます。よろしいですか?」となり うまく動作しません。 Private Sub Workbook_Open() Sheets("データ1").Select ActiveWorkbook.RefreshAll ActiveWorkbook.Save End Sub どのように書き換えればよろしいのでしょうか。 教えてください。よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- avanzato
- ベストアンサー率54% (52/95)
すみません。 メッセージが表示されているタイミングは.Saveでしたので・・・。 .RefreshAllではBackgroundQueryが使えないので以下のように変更しました。 Private Sub Workbook_Open() Sheets("データ1").Select Selection.QueryTable.Refresh BackgroundQuery:=False ActiveWorkbook.Save End Sub こちらをお試しください。
- avanzato
- ベストアンサー率54% (52/95)
私の環境ではそのコードで問題なく動きましたが表示が出て困るということでしたらこちらを参考にして見てください。 Private Sub Workbook_Open() Application.DisplayAlerts = False 'ポップアップ警告非表示 Sheets("データ1").Select ActiveWorkbook.RefreshAll ActiveWorkbook.Save Application.DisplayAlerts = True End Sub もし、.RefreshAllに時間が掛ることにより.Saveが失敗するようでしたら.Saveの前の行に BackgroundQuery = False を追記して見てください。 (バージョンによっては動作しないと聞いたことがありますが・・・。)
- soaikats
- ベストアンサー率58% (14/24)
「Webクエリの一括更新」中に ActiveWorkbook.Saveをしているのでは? コメントまたは削除してみてください。 ただし自動で保存されなくなると思うので 自分で保存してください。