Excel rechnet > 2h

hallo.

ich hätte da ne frage.

habe hier folgenden code:
Sub EintragenFormeln()
Dim l As Integer
Dim i As Integer
Dim medzeilenr As Integer

'Zuhause
For i = 3 To 2002 Step 1
medzeilenr = Worksheets(„BW Uebersicht“).Range(„AM“ & i).Value
Worksheets(„BW Uebersicht“).Range(„W“ & i).FormulaLocal = _
„=WENN(U“ & medzeilenr & „=W2;WENN(INDIREKT(AK“ & i & „&AM“ & i & „)=Ja“ & „;1;0):wink:
Next i

'Psychatrie
For i = 3 To 2002 Step 1
medzeilenr = Worksheets(„BW Uebersicht“).Range(„AN“ & i).Value
Worksheets(„BW Uebersicht“).Range(„X“ & i).FormulaLocal = _
„=WENN(U“ & medzeilenr & „=X2;WENN(INDIREKT(AK“ & i & „&AN“ & i & „)=Ja“ & „;1;0):wink:
Next i

'Krankenhaus
For i = 3 To 2002 Step 1
medzeilenr = Worksheets(„BW Uebersicht“).Range(„AO“ & i).Value
Worksheets(„BW Uebersicht“).Range(„Y“ & i).FormulaLocal = _
„=WENN(U“ & medzeilenr & „=Y2;WENN(INDIREKT(AK“ & i & „&AO“ & i & „)=Ja“ & „;1;0):wink:
Next i

'Anderem Heim
For i = 3 To 2002 Step 1
medzeilenr = Worksheets(„BW Uebersicht“).Range(„AP“ & i).Value
Worksheets(„BW Uebersicht“).Range(„Z“ & i).FormulaLocal = _
„=WENN(U“ & medzeilenr & „=Z2;WENN(INDIREKT(AK“ & i & „&AP“ & i & „)=Ja“ & „;1;0):wink:
Next i

'nach 3 Monaten
For i = 3 To 2002 Step 1
medzeilenr = Worksheets(„BW Uebersicht“).Range(„AQ“ & i).Value
Worksheets(„BW Uebersicht“).Range(„AA“ & i).FormulaLocal = _
„=WENN(U“ & medzeilenr & „=AA2;WENN(INDIREKT(AK“ & i & „&AQ“ & i & „)=Ja“ & „;1;0):wink:
Next i

'nach 6 Monaten
For i = 3 To 2002 Step 1
medzeilenr = Worksheets(„BW Uebersicht“).Range(„AR“ & i).Value
Worksheets(„BW Uebersicht“).Range(„AB“ & i).FormulaLocal = _
„=WENN(U“ & medzeilenr & „=AB2;WENN(INDIREKT(AK“ & i & „&AR“ & i & „)=Ja“ & „;1;0):wink:
Next i

'nach 9 Monaten
For i = 3 To 2002 Step 1
medzeilenr = Worksheets(„BW Uebersicht“).Range(„AS“ & i).Value
Worksheets(„BW Uebersicht“).Range(„AC“ & i).FormulaLocal = _
„=WENN(U“ & medzeilenr & „=AC2;WENN(INDIREKT(AK“ & i & „&AS“ & i & „)=Ja“ & „;1;0):wink:
Next i

'nach 12 Monaten
For i = 3 To 2002 Step 1
medzeilenr = Worksheets(„BW Uebersicht“).Range(„AT“ & i).Value
Worksheets(„BW Uebersicht“).Range(„AD“ & i).FormulaLocal = _
„=WENN(U“ & medzeilenr & „=AD2;WENN(INDIREKT(AK“ & i & „&AT“ & i & „)=Ja“ & „;1;0):wink:
Next i

End Sub

Excel rechnet bei mir hier über 2h und dann funktionierts auch. jedoch geht das nicht schneller?

Grüße, Sebastian

Hi Sebastian,

Excel rechnet bei mir hier über 2h und dann funktionierts
auch. jedoch geht das nicht schneller?

bau mal anfangs des Codes ein:
Application.Screenupdating=False
und am Ende:
Application.Screenupdating=True

Gruß
Reinhard

Hallo Reinhard.

bau mal anfangs des Codes ein:
Application.Screenupdating=False
und am Ende:
Application.Screenupdating=True

Werde heute abend es versuchen.

danke für deine antwort.

grüße,
sebastian

Hallo Sebastian
zusätzlich zum guten Tipp von Reinhard finde ich, du solltest das Ganze in einen einzigen Loop packen. Das Worksheet ist ja immer dasselbe und nur die Ranges sind anders. Das kannst du alles untereinander schriebn.
Erich

Hallo Erich.

K, werd ich machen. melde mich dann, wenn ich weiss wie lange er denn jetzt rechnet. danke!

Grüße,
Sebastian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Lösung
Hallo.

Durch die beiden Codeschnipsel:
Anfang:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Ende:
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

Dauert die Rechenzeit nur noch