-2
私のforloopで項目を繰り返して、項目をExcelに追加するとき。私のプログラムはかなり遅くなり、反復が起こるのを見るとほとんどクラッシュします。このすべてのプロセスを一度に行う方法はありますか?反復のスピードアップ
Set rng = Range("A1:C2")
For Each row In rng.Rows
For Each cell in row.Cells
'Do Something
Next cell
Next row
短い答えを:配列にすべてをロードし、アレイを投稿する代わりに、そのを通して繰り返しますバック。長い答えはあなたがしたいことにかかっています。何が求められているかに応じて短期間で切り捨てられます。 –
セルを1つずつ順番に繰り返すことは、おそらく***です。***あなたがVBAでできる最も遅いものです。 'Dim rng As Variant'、次に' rng = ActiveSheet.Range( "A1:C2").Valueは2Dバリアント配列を処理します。 'For'ループを使って配列を反復すると、それは夜となるでしょう。 –
メンテナンス性、可読性、性能などの向上に関する建設的なフィードバックを得るために、*実際の実際の作業コード*を[codereview.se]に投稿することができます。しかし、コードレビューのために。 –