私はVBAマクロを書いていますが、データベースも非常に大きいので時間がかかりすぎます。 これは配列を使って最適化することができますが、どのように作成するのか分かりません。 誰かが私を助けてくれますか?VBAの効率的なループ
'Identify how many rows are in the file
finalrow = ActiveSheet.Cells(Rows.Count, 6).End(xlUp).Row
'fill the empty fields which requires the part number and description
For i = 2 To finalrow
If Cells(i, 3) = 0 Or Cells(i, 3) = "------------" Or Cells(i, 3) = "e" Or Cells(i, 3) = "111)" Or Cells(i, 3) = "ion" Then
If Cells(i, 4) = 0 Or Cells(i, 4) = "-----------" Or Cells(i, 4) = "Location" Then
Range("A" & i & ":H" & i).Select
Selection.Delete Shift:=xlUp
i = i - 1
Else
For j = 1 To 3
Cells(i, j) = Cells(i - 1, j)
Next
End If
End If
If Cells(i, 1) = 0 Then
Cells(i, 1) = Cells(i - 1, 1)
End If
If Cells(i, 4) = 0 Then
Range("A" & i & ":H" & i).Select
Selection.Delete Shift:=xlUp
i = i - 1
End If
Count = Count + 1
If Count = finalrow Then
i = finalrow
End If
Next
それは、最適化する作業コードなので、あなたは[コードレビュー](http://codereview.stackexchange.com/)でそれを投稿することがあります。 「前」シナリオと「後」シナリオのデータ例と共に、コードの実際の目的についての詳細を追加してください – user3598756
削除する場合は、最後の行から最初の行に削除する必要があります(たとえば、For i = finalrow to 2 Step -1' )。数行のコードと多くの脳力を節約できました。私はあなたの周りの仕事であなたを称えなければならない。非常にきれいです。 –