|
だいたいのコードは把握してます。まずマクロの冒頭に
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
と追加して下さい。そして
With ActiveSheet.QueryTables.Add(〜)
の下に、色々なプロパティの設定が記述してあると思いますが、もし
RefreshPeriod プロパティへ、数値を渡しているコードがあったら削除します。
そして新たに
.EnableRefresh = False
を追加します。そしてその With 構文の最後に
With .ResultRange
.Copy
.PasteSpecial xlPasteValues
End With
End With
と追加し、続けてループ構文の Next の直前に
Application.CutCopyMode = False
さらにマクロの最後に
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
を入れて下さい。
要するに、クエリーの更新を止めることで負荷を減らし、取得したデータは即座に
値のみに変えてしまえば良いのではないか ? という発想なのです。
テストしてみて下さい。
|
|