x mal schneller
08.02.2023 15:05:31
Yal
In der Tat.
Vergleicht man die beide Version, kommt man sogar auf ca 75 mal schneller.
Man muss erst die Aufgabe 10.000 durchlaufen lassen, sodass die Zeiten aussagekräftig sind. Da viel Nebenrechnung auf dem Rechner stattfinden, empfieht es sich mehrere Laufe zu machen und eine Durchschnitt zu rechen.
Sub GegebeneZeichen_zählen()
Dim Zähler As Integer
Dim i&, j&, k& '&: Long
Dim s As String
Dim T, T1, T2
Dim Durchschnitt As Double
Const f = "0.00000"
For k = 1 To 10
'Version Variable
T = Timer
s = Range("A1").Text
For j = 1 To 10000
Zähler = 0
For i = 1 To Len(s)
If Mid(s, i, 1) = " " Then Zähler = Zähler + 1
Next i
Next j
T1 = Timer - T
'Version Zelle
T = Timer
For j = 1 To 10000
Zähler = 0
For i = 1 To Len(Range("A1").Text)
If Mid(Range("A1").Text, i, 1) = " " Then Zähler = Zähler + 1
Next i
Next j
T2 = Timer - T
Debug.Print Format(T1, f), Format(T2, f), Format(T2 / T1, f)
Durchschnitt = Durchschnitt + T2 / T1
Next k
Debug.Print Durchschnitt / 10
End Sub
Aber jetzt wissen wir es genau.
VG
Yal