Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


628 / 76735 ←次へ | 前へ→

【81772】Re:コピペ高速化のコードについて(配列)
回答  γ  - 21/5/9(日) 14:25 -

引用なし
パスワード
   Function copy2(rngFrom As Range, rngTo As Range)
  Dim v
  v = rngFrom.Value
  rngTo.Resize(UBound(v, 1), UBound(v, 2)) = v
End Function
と定義しておいて、

Call copy2(ws1.Range("AA157:AD256"),ws2.Range("H155"))
などとしてみてはどうですか?

今のコードでもセルを一つずつコピーしているわけではないから、
どの程度のスピードアップにつながるのかは不明だが。
(3割くらいにはなるのかも)

以下のようにして速度を測り、その結果をフィードバックしてください。
 dim t
 t = Timer
 ' ここで作業
 Debug.Print Timer - t '経過時間の出力

それから転記先に計算式が多いのであれば、
手動計算モードにしてから処理実行し、終了後、自動計算に戻すとよいでしょう。
今のコードでも効果あるかもしれません。

# なお、転記元、先に一定の規則性のようなものがありそうで、
# 記述の短縮が図られそうな気もするが、それには触れません。

8 hits

【81771】コピペ高速化のコードについて(配列) やまた 21/5/8(土) 22:50 質問[未読]
【81772】Re:コピペ高速化のコードについて(配列) γ 21/5/9(日) 14:25 回答[未読]
【81773】Re:コピペ高速化のコードについて(配列) やまた 21/5/10(月) 0:34 発言[未読]

628 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free