誰でもこのマクロの部分を手伝うことができますか?特定のマクロをより速く実行する方法
Dim LastRow, DataCount, temp As Double
i = 1
LastRow = 1
' skaicius sumeta i viena eilute
Do While LastRow <> 0
Range("A" & i).Select
If ActiveCell.Value = "ELEVATION\AZIMUTH" Then
'Cut all three row and paste
DataCount = Application.WorksheetFunction.CountA(Range(i & ":" & i))
Range("A" & ActiveCell.row + 1, "I" & ActiveCell.row + 1).Cut ActiveCell.Offset(0, DataCount)
Range("A" & ActiveCell.row + 2, "I" & ActiveCell.row + 2).Cut ActiveCell.Offset(0, DataCount * 2)
Range("A" & ActiveCell.row + 3, "I" & ActiveCell.row + 3).Cut ActiveCell.Offset(0, DataCount * 3)
Else
LastRow = Application.WorksheetFunction.CountA(Range("A" & i, "A" & i + 10))
End If
i = i + 1
Loop
私は行ごとに行くのループを修正理解し、それが終了することに時間がかかるですので、私は、5000行、より多くを持っている場合..テキスト「ELEVATIONで一つのセルを見つける
マクロ\ AZIMUTH "とそれに続くツリーの行を切断して1つの行に結合します。私はそれが前と後の見方を示すことができます。
おかげ
1つのクイックヒントは 'レンジ( "A" &I).Select'を削除し、ちょうど'レンジの場合( "A" &I)= "標高\方位" Then'また、カット操作やワークシートを作成しています関数呼び出しは毎回処理を遅くします。 –