| 
    
     |  | だいたいのコードは把握してます。まずマクロの冒頭に 
 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
 
 を入れて下さい。
 要するに、クエリーの更新を止めることで負荷を減らし、取得したデータは即座に
 値のみに変えてしまえば良いのではないか ? という発想なのです。
 テストしてみて下さい。
 
 |  |