Vielleicht kann mir jemand mit diesem Teil des Makros helfen?Wie man bestimmte Makro schneller laufen lässt
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
Wenn ich die Schleife verstehen korrigieren, indem Zeile gehen Reihe, aber ich habe mehr als 5000 Zeilen, so ist es eine lange Zeit dauert Ende zu sein ..
Makro der Suche nach einer Zelle mit dem Text „ELEVATION \ AZIMUTH "und danach Baumreihen abschneiden und zu einer Reihe zusammenfügen. Ich kann zeigen, wie es vorher und nachher aussieht.
Dank
eine schnelle Spitze ist entfernen 'Range ("A" & i) .Select' und schreibt nur' Wenn Range ("A" & i) = "ELEVATION \ AZIMUT" Then' Auch die Schnittoperationen und Arbeitsblatt Funktionsaufruf jedes Mal wird die Dinge verlangsamen. –