Office: lange Laufzeit beim Formatieren

Helfe beim Thema lange Laufzeit beim Formatieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Gemeinde, habe eine Mappe mit mehreren Tabellenblättern - zurzeit 42 auf 41 Blättern habe ich einen Monat abgebildet welchen ich mit einem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von DietmarBurgard, 4. Mai 2020.

  1. lange Laufzeit beim Formatieren


    Hallo liebe Gemeinde,

    habe eine Mappe mit mehreren Tabellenblättern - zurzeit 42
    auf 41 Blättern habe ich einen Monat abgebildet welchen ich mit einem Makro formatiere.
    Auf dem ersten Blatt stelle ich einen Monat ein und auf den restlichen Blättern wird der Monat erzeugt mit Feiertagen, Samstagen und Sonntagen.
    Samstage blende ich aus und an Sonntagen verkleinere ich die Zeilenhöhe.

    Nur dauert das fast 2 Minuten bis die Zellen formatiert sind.

    Vielleicht hat einer von euch einen Tipp wie ich das Beschleunigen kann.

    hier die Passage um welche es sich dreht:
    For intI = 2 To ThisWorkbook.Worksheets.Count
    Sheets(intI).Select 'Tabellenblätter nacheinander auswählen
    On Error Resume Next
    For i = 15 To 48
    'Samstage Zellenhöhe auf 10
    If Weekday(Cells(i, 1), vbMonday) = 6 Then
    Rows(i).RowHeight = 10
    Else
    Rows(i).RowHeight = 20
    End If

    'Sonntage und leere Zellen ausblenden
    If Weekday(Cells(i, 1), vbMonday) = 7 Or Cells(i, 1).Value = "" Then
    Rows(i).Hidden = True
    Else
    Rows(i).Hidden = False
    End If
    Next i
    Next intI

    Ist nur ein Auszug aus dem Code.
    Im Anhang mal ein verkleinertes Beispiel.

    Würde mich über eine Verbesserung freuen.

    Danke

    Gruß
    Dietmar

    :)
     
    DietmarBurgard, 4. Mai 2020
    #1
  2. Der Code steht doch im Beitrag, warum muss dann eine makroverseuchte Mappe hochgeladen werden?

    Da ich mir deine Mappe daher nicht anschaue, nahm ich eine Testmappe, in der der gezeigte Makroteil nach 0,03125 Sekunden pro Blatt fertig war. Der Code ist nicht optimal, da es Redundanzen gibt, aber offenbar liegt es nicht am Code, wenn es so lange dauert.

    Hast du den Code mal im Einzelschritt durchlaufen lassen? Gibt es einen Schritt, der merklich länger dauert als andere? Welcher? Was passiert da noch?
     
    EarlFred, 5. Mai 2020
    #2
  3. Hallo und guten Tag,
    erst einmal Danke für deine Antwort.

    Verseuchte Datei?
    Auf meinem Rechner läuft Kaspersky aktuelle Version und Hitmanpro aktuelle Version - diese fanden keinen Schädling.

    Zur Sicherheit lies ich die Datei auf VirSCAN.org - Free Multi-Engine Online Virus Scanner v1.02, Supports 47 AntiVirus Engines! durchlaufen - dort werkeln ca. 40 Scanner - kein Schädling gefunden.

    Hänge auch ein paar Bilder von mir an.

    Hoffe das ist aus der Welt.


    Nun zu meinem Problem.

    Ja, ich ließ den Code Schritt für Schritt (schön mit F8) durchlaufen - sieht alles gut aus.
    Es läuft nix länger, fühlt sich alles gleich schnell an.

    In der Mappe bzw. in den Blättern sind ein paar Formeln vorhanden aber sonst auch nix.

    Gruß
    Dietmar
     
    DietmarBurgard, 6. Mai 2020
    #3
  4. lange Laufzeit beim Formatieren

    Hier der komplette code:
    Sub SonUndLeerRaus()
    'Sonntage und Leere Zellen ausblenden
    Dim intI As Integer
    Dim i As Integer
    Dim letzesAktivesBlatt As String
    'Meldungen ausschalten, Bildschirmaktualisierung ausschalten
    Call Meldungen_Aus
    'alle Blätter einblenden und zur Bearbeitung öffnen
    Call Alle_Blaetter_Einblenden_Schutz_auf
    'komplette Mappe neu berechnen
    Application.CalculateFull
    'automat.Berechnung ausschalten
    Application.Calculation = xlCalculationManual
    'Blatt für Blatt von Zeile 15 bis Zeile 48 formatieren
    For intI = 2 To ThisWorkbook.Worksheets.Count
    If Sheets(intI).Name = "FO DE 7-5-200-28 NK" Then
    GoTo weiter
    End If
    Sheets(intI).Select 'Tabellenblätter nacheinander auswählen
    On Error Resume Next
    For i = 15 To 48
    'Samstage Zellenhöhe auf 10
    If Weekday(Cells(i, 1), vbMonday) = 6 Then
    Rows(i).RowHeight = 10
    Else
    Rows(i).RowHeight = 20
    End If

    'Sonntage und leere Zellen ausblenden
    If Weekday(Cells(i, 1), vbMonday) = 7 Or Cells(i, 1).Value = "" Then
    Rows(i).Hidden = True
    Else
    Rows(i).Hidden = False
    End If
    Next i
    weiter:
    Next intI
    'Blätter ausblenden und Schutz einschalten
    Call Alle_Blaetter_Ausblenden_Schutz_zu
    'Meldungen einschalten, Mappenschutz aktivieren und Bildschirmaktualisierung einschalten
    Call Meldungen_Ein
    'automat.Berechnung einschalten
    Application.Calculation = xlCalculationAutomatic
    'Letztes aktives Blatt einblenden und Blatt "Start" aktivieren
    Call zu_Blatt_springen
    Worksheets("Start").Select
    End Sub


    ----------------------------------------
    Sub Meldungen_Aus()
    'Meldungen ausschalten, Mappenschutz aufheben, Bildschirmaktualisierung ausschalten
    Application.DisplayAlerts = False
    ActiveWorkbook.Protect Structure:=False, Windows:=False
    Application.ScreenUpdating = False
    End Sub

    Sub Meldungen_Ein()
    'Meldungen einschalten, Mappenschutz aktivieren und Bildschirmaktualisierung einschalten
    Application.DisplayAlerts = True
    ActiveWorkbook.Protect Structure:=True, Windows:=True
    Application.ScreenUpdating = True
    End Sub

    Sub Alle_Blaetter_Einblenden_Schutz_auf()
    'alle Blätter bis auf Start einblenden und Blatt-Schutz deaktivieren
    For i = 2 To Sheets.Count
    Sheets(i).Visible = True
    Worksheets(i).Unprotect
    Next i
    End Sub

    Sub Alle_Blaetter_Ausblenden_Schutz_zu()
    'alle Blätter bis auf Start ausblenden und Blatt-Schutz aktivieren
    For i = 2 To Sheets.Count
    Sheets(i).Visible = False
    Worksheets(i).Protect
    Next i
    End Sub
     
    DietmarBurgard, 6. Mai 2020
    #4
  5. DietmarBurgard, 6. Mai 2020
    #5
  6. Mappen mit enthaltenen Makros ("makroverseucht") öffne ich nicht. Was deine Virenscanner für eine Meinung haben interessiert mich da herzlich wenig.

    Aber vielleicht schaut ein anderer rein, der 'ne Sandbox hat oder dem das egal ist.
     
    EarlFred, 6. Mai 2020
    #6
  7. Ok,
    dir noch einen schönen Tag
    Gruß
     
    DietmarBurgard, 6. Mai 2020
    #7
  8. lange Laufzeit beim Formatieren

    Mach ne XLSX draus und lade hoch....
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Mase, 6. Mai 2020
    #8
  9. EarlFred, 6. Mai 2020
    #9
  10. Hallo nochmal,

    wenn ich alle Formeln aus den Tabellen raus hole läuft es in einem Bruchteil einer Sekunde.
    Habe es gerade versucht.

    Datei ist als xlsx dran
     
    DietmarBurgard, 6. Mai 2020
    #10
  11. Danke für den Tipp - das bringt mich leider nicht weiter.
    Gruß
     
    DietmarBurgard, 6. Mai 2020
    #11
  12. Jetzt, wo Du ein Teil aus #2 selbst auch noch belegen konntest, liegt es nahe, Deinen Code wieder in die Mappe zu schreiben und den Rest aus #2 versuchen umzusetzen.
    Dann wärst Du zum jetzigen Zeitpunkt sicher noch einen Schritt weiter.

    Schlage vor:

    [*]Schreibe das Makro wieder in das File (oder nimm das Original)

    [*]Klicke in Sub SonUndLeerRaus()

    [*]gehe via F8 in Einzelschritten durch und gib Rückmeldung welche Zeile(n) auffällig lange "rechnen"
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  13. lange Laufzeit beim Formatieren

    Hallo Marko,

    lies alles Schritt für Schritt per F8 durchlaufen - aber eine merkliche Verzögerung kann ich nicht feststellen, es läuft gleichmäßig. Das prüfen und formatieren der Zeilen scheint seine Zeit zu brauchen.
    Wobei ich am Inhalt nix ändere nur Zeilen ausblende, kleiner oder größer mache und einfärbe (was mit bedingter Formatierung gemacht wird).

    Wenn du dir den Code anschaust, siehst du da etwas was du anders schreiben würdest?

    Gruß
    Dietmar
     
    DietmarBurgard, 6. Mai 2020
    #13
  14. OfficeUser Neuer User
    Hallo Dietmar,

    die Mappe und den Code habe ich mir mal angeschaut und empfehle folgendes:



    Durchlaufzeiten:
    vorher13,27344 s
    nachher2,171875 s
     
    OfficeUser, 6. Mai 2020
    #14
  15. Hallo Marco,

    danke für deinen Hinweis.

    Wenn ich nun den Monat ändere dann werden die Tabellen nicht richtig formatiert.

    Wenn ich in Zelle B6 in Blatt Fo1 auf 01.05.2020 (beispielhaft) eintrage passen die Zeilen nicht mehr.

    Mache ich die beiden Hochkommas aus dem Code wieder raus passt die Formatierung wieder - läuft aber wieder so lange.
    1,187 zu 11,257

    Mit dem With wks ist richtig gut, darauf bin ich nicht gekommen.

    Bastle noch ein wenig weiter.

    Nochmal danke für eine Hilfe.

    Gruß
    Dietmar
     
    DietmarBurgard, 7. Mai 2020
    #15
Thema:

lange Laufzeit beim Formatieren

Die Seite wird geladen...
  1. lange Laufzeit beim Formatieren - Similar Threads - lange Laufzeit Formatieren

  2. Excel: längeren Text auf gesamte verbundene Zellen ausbreiten

    in Microsoft Excel Hilfe
    Excel: längeren Text auf gesamte verbundene Zellen ausbreiten: Hallo, ich "missbrauche" Excel gerade wieder für etwas untypisches. Ich bereite für die Band die vorhandenen Sheets in ein "lesbares Format" um. Also bei den vorhandenen hat man halt nur den...
  3. Variable Länge

    in Microsoft Excel Hilfe
    Variable Länge: Hallo zusammen, ich habe mal eine Frage. In einer Tabelle sind Spalten und Zeilen angegeben. Die Zeilen werden beispielsweise mit A1:H5 angegeben. Nun werden zwei Spalten mit Werten hinzugefügt....
  4. CSV-Import mit seeehr langen Zahlen

    in Microsoft Excel Hilfe
    CSV-Import mit seeehr langen Zahlen: Moin ihr Lieben, ich habe von einem Kunden eine CSV-Datei erhalten mit 19-stelligen Zahlen-Codes, teils auch mit führenden Nullen, die z.B. so aussehen: 0001234567890123456 0012345678901234567...
  5. Sprungkonstante für 5 kurze, dann 7 lange Monate als Gruppe

    in Microsoft Excel Tutorials
    Sprungkonstante für 5 kurze, dann 7 lange Monate als Gruppe: Gegeben sei entweder ... (1) der Monatserste: A1: 01.06.23 (n) oder der Ultimo: A1: 30.06.23 (x) oder der Äquidistanzstart: A1: 03.06.23 Dann ergeben ... (1) A2[:A13]: =A1+154-TAG(A1+153) (n)...
  6. Hilfe bei Formel-Vereinfachung/-Kürzung

    in Microsoft Excel Hilfe
    Hilfe bei Formel-Vereinfachung/-Kürzung: Hallo zusammen, ich stehe gerade auf dem Schlauch bei der Vereinfachung/Kürzung einer Formel. Mein aktuelles Ziel ist es in Excel die Umsätze bei der Einstellung neuer Vertriebsmitarbeiter zu...
  7. Formel vereinfachen, aktuelle Formel führt zu extrem langen Ladezeiten bei Excel

    in Microsoft Excel Hilfe
    Formel vereinfachen, aktuelle Formel führt zu extrem langen Ladezeiten bei Excel: Hallo zusammen, ich hoffe mal wieder auf eine gute Idee oder eine Hilfe aus dem Forum. Ich habe mal einen kleinen Ausschnitt meiner Datei hochgeladen, die ich erstellt habe. Mir geht es um eine...
  8. zählenwenn abkürzen der langen formel

    in Microsoft Excel Hilfe
    zählenwenn abkürzen der langen formel: guten morgen - eine Frage , da ich eine Mappe habe mit sehr vielen Zählenwenns, würde ich gerne wissen, ob man diesen Schlauch Abkürzen kann , und ob dies was bringt in der Berechnungszeit, wenn...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden