質問: False .Refresh BackgroundQuery:=False★★ End With
回答: QueryTable.Refresh メソッド のヘルプには、 「BackgroundQuery」の引数の解説に、 「この引数を省略すると、 BackgroundQuery プロパティの設定に基づきクエリ モードが決定されます。」 と書いてあります。 ちなみに「QueryTable.BackgroundQuery プロパティ」のヘルプはこちら。 なので、 >”.Refresh BackgroundQuery:=False”で処理を待つなら、 > ”.BackgroundQuery = True”は不要のように思えます。 ということでOKなような気がします。 (同期処理にしたいならどっちかでFalse、非同期にしたいならどっちかでTrueにする。。。。的な。。。) あるは、ヘルプ通りとするなら、 「”.BackgroundQuery = ×××”」はやっておいて、 「”.Refresh”」は、BackgroundQueryを省略する。・・・・ みたいな・・・。 ただ、この手のことって、 マイクロソフトのことなので、 「まさかの」、 「書いた順番で何かが変わったりエラーになったりする」 「結局、同期にならない or 非同期にならない」 ということもある気がするので、 動きをよく観察しないといけないのかもしれません。 Do While Worksheets("シート名").QueryTables(1).Refreshing DoEvents Loop をRefreshしたあとに何故か書かないとエラーになるとか・・・。 そのほか、両方書いてしまったとき、どちらが優先されるかとか・・・。