eine Frage an euch Experten: Wird ein Programmdurchlauf (Wesentlich) schneller, indem ich Sverweise anstatt Verzweigungen mit If...then...else einbaue?
Hoffe jemand kann mir einen Tipp geben ;-)
mfg Hanna
Zuordnen = Switch(Stadt = "London", "Englisch", _
Stadt = "Rom", "Italienisch", Stadt = "Paris", "Französisch")
Function Prüfen (Test1 As Integer)
Prüfen = IIf(Test1 > 1000, "Groß", "Klein")
End Function
Option Explicit
Public Sub Test()
Dim Start, Wert
Dim intWert As Integer
Dim i As Double
Dim dummy
Const Ende = 1000000
Wert = "1"
intWert = 1
Start = Timer
For i = 1 To Ende
dummy = Switch(Wert = "1", True, Wert = "2", False)
Next i
Cells(1, 1) = "Sekunden für Switch mit Variant: " & Timer - Start
Start = Timer
For i = 1 To Ende
IIf Wert = "1", dummy = True, dummy = False
Next i
Cells(2, 1) = "Sekunden für IIf mit Variant: " & Timer - Start
Start = Timer
For i = 1 To Ende
If Wert = "1" Then dummy = True Else dummy = False
Next i
Cells(3, 1) = "Sekunden für If Then Else mit Variant: " & Timer - Start
Start = Timer
For i = 1 To Ende
dummy = Switch(intWert = 1, True, intWert = 2, False)
Next i
Cells(4, 1) = "Sekunden für Switch mit Integer: " & Timer - Start
Start = Timer
For i = 1 To Ende
IIf intWert = 1, dummy = True, dummy = False
Next i
Cells(5, 1) = "Sekunden für IIf mit Integer: " & Timer - Start
Start = Timer
For i = 1 To Ende
If intWert = 1 Then dummy = True Else dummy = False
Next i
Cells(6, 1) = "Sekunden für If Then Else mit Integer: " & Timer - Start
End Sub