01.05.2019, 14:05
Hallo liebe Community,
ich möchte die Berechnungszeit für mein Makro verkürzen.
Dazu ersuche ich eure Hilfe, an welcher Stelle ich meinen Code noch verbessern kann.
Die Time-Elemente und MsgBox dienen nur zur Anzeige der Zeit. Das kommt am Ende wieder raus, wenn der Code MAXIMAL optimiert wurde
Danke vielmals!
Hier der Code:
Grüße und schönen 1. Mai
Martin
ich möchte die Berechnungszeit für mein Makro verkürzen.
Dazu ersuche ich eure Hilfe, an welcher Stelle ich meinen Code noch verbessern kann.
Die Time-Elemente und MsgBox dienen nur zur Anzeige der Zeit. Das kommt am Ende wieder raus, wenn der Code MAXIMAL optimiert wurde

Danke vielmals!
Hier der Code:
Code:
Option Explicit
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long
Private Sub Worksheet_Change(ByVal target As Range)
Dim ZA As Long, lTime As Long
lTime = GetTickCount
If Not Intersect(target, Range("D24:D117")) Is Nothing Then
ZA = Len(target.Value)
If target(1).Value = "" Then Exit Sub Else
If ZA < 120 Then Range(target.Address).Font.Size = 11 Else
If ZA > 119 And ZA < 151 Then Range(target.Address).Font.Size = 10 Else
If ZA > 150 And ZA < 201 Then Range(target.Address).Font.Size = 9 Else
If ZA > 200 And ZA < 241 Then Range(target.Address).Font.Size = 8 Else
If ZA > 240 And ZA < 351 Then Range(target.Address).Font.Size = 7 Else
If ZA > 350 And ZA < 401 Then Range(target.Address).Font.Size = 6 Else
If ZA > 400 Then MsgBox "Zeichenlimit von 400 erreicht. Bitte Inhalt in Mangel kürzen oder in dem darunterliegenden Feld weiterschreiben."
End If
lTime = GetTickCount - lTime
MsgBox "Makrolaufzeit " & CStr(lTime) & " ms", vbOKOnly
End Sub
Grüße und schönen 1. Mai
Martin