Hi,
ich habe ein Makro das in einer Schleife für mehrere 100.000 Zeilen in 20 Spalten Berechnungen durchführt. Die Folge ist, dass das Makro fast 5 Minuten läuft. Der Startpunkt des Makros wird von Hand festgelegt (Startzelle).
Wie kann ich das Makro schneller machen?
Vielleicht kommt man ja irgendwie ohne Schleife aus?
Als Beispiel habe ich die Berechnung für 2 Spalten eingefügt.
Danke
Leon
Sub Schleife()
Dim Startzelle As Range
Dim intZeile, intZeileQ As Integer
Dim intSpalte As Integer
Dim A, h, s As Integer
A = 2
h = 15
s = 16
d = 235.2
r = 117.6
d0 = 18.4
Set Startzelle = Application.InputBox("Markieren Sie die Startzelle", Type:=8)
'Application.ScreenUpdating = False
intZeileQ = Startzelle.Row
intSpalte = Startzelle.Column
For intZeile = intZeileQ To Cells(Rows.Count, intSpalte).End(xlUp).Row
Cells(intZeile, h).Value = r - d0 - Cells(intZeile, A).Value
If Cells(intZeile, h).Value <= r Then
Cells(intZeile, s).Value = 2 * (r ^ 2 - (r - Cells(intZeile, h).Value) ^ 2) ^ 0.5
Else
Cells(intZeile, s).Value = d + d - (2 * (r ^ 2 - (r - Cells(intZeile, h).Value) ^ 2) ^ 0.5)
End If
'Application.ScreenUpdating = True
Next intZeile
End Sub
|