Office: Flackern des Bildschirms

Helfe beim Thema Flackern des Bildschirms in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Ich habe seit anfangs Jahr einen neuen Windows 11 Desktop-PC. Alles gut, nur ich habe hier ein Makro hochgeladen, dessen Code den Bildschirm flackern... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Fedi, 3. Oktober 2025.

  1. Fedi User

    Flackern des Bildschirms


    Ich habe seit anfangs Jahr einen neuen Windows 11 Desktop-PC.
    Alles gut, nur ich habe hier ein Makro hochgeladen, dessen Code den Bildschirm flackern lässt.
    Mit Win10 und Office 13 lief es hervorragend. Zwar habe ich mit Application.ScreenUpdating = False versucht, eben dies zu verhindern. Schuld werden die veralteten Codes "Select und Activate und die Formatbefehle" sein...
    Habe mir auch ein tausend seitiges Excel Buch gekauft, finde darin aber nicht die von mir gesuchte Lösung.
    Mein File öffnet meine 51 Jahre umfassende Steuerübersicht, aktualisert und sucht nach Fehler mit anderen Steuerdokumenten. Ich sende es mal und hoffe, dass mir jemand die verursachenden Codes korrigieren kann (Keine Angst, es ist ein sehr langer Code, aber wie schon aufgeführt wiederholt er sich 51 Mal).
    Ich bedanke mich im Voraus.
    Fedi
     
  2. Hallo Fedi,

    ich habe mir das jetzt mal nicht angetan und dein Makro heruntergeladen. Sicherlich hast du Recht mit deiner Vermutung, daß dafür die Select und Activate Methoden verantwortlich sind. Du solltest das also in deinem Code überarbeiten und in den meisten Fällen wird das nicht gebraucht. Wie man das vermeidet und direkt die Objekte in VBA anspricht, steht mit Sicherheit in deinem schönen Excel Buch.
    Btw.: normalerweise würde man auch einen Code nicht 51mal kopieren, sondern in einer Schleife abarbeiten.

    Unabhängig davon mal ein wirklich schlimmer, schneller Workaround:
    Merke dir die aktuelle Größe des Application Fensters und setzte diese auf eine Größe von z.B. einem Pixel. Nachdem dein Makro abgelaufen ist, restaurierst du die Größe wieder.
    Noch einfacher:
    Code:
    Application.WindowState = xlMinimized
    ' Todo: dein Makro
    Application.WindowState = xlNormal
    
    Knobbi38
     
    knobbi38, 3. Oktober 2025
    #2
  3. Fedi User
    Danke lieber Knobbi38 für die zielführende Antwort.
    Ich hatte die Files vor etwa 20 Jahren erstellt und war noch nie ein Makro-Guru und habe mir das Excel Buch angeschaut, finde aber keine Lösung und wie bereits beschrieben lief das Makro auf den alten Systemen einwandfrei.
    In 5 Jahren könnte ich 80 Jahre alt werden, aber falls ich dieses Makro total umschreiben müsste (auf den neuesten Stand), reicht mir mein Wissen und diese verbleibende Zeit wahrscheinlich nicht :-)
    Gruss von Fedi
     
  4. Klaus-Dieter Erfahrener User

    Flackern des Bildschirms

    Hallo Fedi,

    dann bin ich ja noch vier Jahre älter als du. Was dein Makro betrifft, das dürfte schon immer ein Bildschirmflackern verursacht haben. Auch wenn es schon "veraltet" ist, die von dir verwendeten Select- und Activate-Anweisungen hat man noch nie benötigt. Auf jeden Fall sind sie die Ursache für das Flackern. Auch mit den 51 sich wiederholenden Anweisungen bin ich ganz bei Knobbi. Natürlich verstehe ich, dass du hier deine Steuerdaten nicht offen legen möchtest, aber so ganz ohne Beispieldatei wird es eher schwierig, hier Lösungsvorschläge zu erstellen. Nur mal als Beispiel das:
    Code:
     Range("B8:BA8").Select
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent6
            .TintAndShade = 0.599993896298105
            .PatternTintAndShade = 0
        End With
       
        Range("B24:BA24").Select
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent6
            .TintAndShade = 0.599993896298105
            .PatternTintAndShade = 0
        End With
       
        Range("B32:BA32").Select
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent6
            .TintAndShade = 0.599993896298105
            .PatternTintAndShade = 0
        End With
    Kannst du durch das ersetzen:
    Code:
    With Range("B8:BA8,B24:BA24,B32:BA32").Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent6
            .TintAndShade = 0.599993896298105
            .PatternTintAndShade = 0
    End With
     
    Klaus-Dieter, 3. Oktober 2025
    #4
  5. d'r Bastler
    d'r Bastler Erfahrener User
    Moin Fedi,

    nur um es für uns Mitdenker etwas verständlicher zu machen: Stell doch mal eine Mappe ein, in der Du die zu verarbeitenden Informationen auf einem Blatt und Dein Wunschergebnis auf einem zweiten zeigst. Und einfach als Beschreibung: Was soll mit den Daten wie passieren.

    Einfach ganz klassisch nach dem EVA-Prinzip: Eingabe, Verarbeitung, Ausgabe.

    Dann eine VBA-Prozedur zu erstellen oder Deine anzupassen ohne Deinen Bildschirm zur 1px-Warnblinkanlage zu machen, lässt sich bestimmt realisieren.

    Schöne Grüße
     
    d'r Bastler, 3. Oktober 2025
    #5
  6. Fedi User
    Danke herzlich Klaus-Dieter
    für den Fingerzeig.
    Werde mich am Wochenende an diese Korrekturarbeiten wagen.
    Gruss Fedi
    Je älter man wird desto mehr ähnelt die Geburtstagtorte einem Fackelzug.
     
  7. Fedi User
    Merci an den d'r Bastler
    Das File Steuerzentrale (von wo aus das Makro) gestartet wird) öffnet die Datei Steuerkomplet und darin die Mappen
    Steuer00 und Check. In Steuer00 sind sämtliche Eckdaten meiner Steuererklärungen von den Jahren 1981 bis 2031
    aufgeführt. Diese Mappe wird von anderen Eingabefiles gespiesen. In der Mappe Check werden auch Daten eingeführt und alle Eingaben verglichen und auf Fehler überprüft.

    Und Merci auch an Klaus-Dieter
    Habe Deinen Vorschlag umgesetzt, es läuft, aber bringt nur eine kleine Verbesserung.
    Nachdem ich noch andere Select-Befehle versuchte zu eliminieren bekam ich von der Mappe Check Fehlermeldungen.
    Fazit: Lassen wir es flackern. Wenigsten rechnen die Files zuverlässig.

    Besten Dank an für Eure Hilfe
    Fedi

    Ich glaube nicht, dass man beim Schwimmen abnimmt. Ich habe jedenfalls noch kein schlankes Nilpferd gesehen.
     
  8. Klaus-Dieter Erfahrener User

    Flackern des Bildschirms

    Hallo Fedi,

    Kann man machen, muss man aber nicht. Insgesamt ist das kein sauberer Quelltext. Nur ohne Beispieldatei ist es schwierig, daran zu schrauben. Zeig doch mal die Stellen, die eine Fehlermeldung auslösen, da kann man bestimmt etwas machen. Mein Vorschlag lässt sich natürlich nicht überall 1:1 umsetzen.
     
    Klaus-Dieter, 4. Oktober 2025
    #8
  9. d'r Bastler
    d'r Bastler Erfahrener User
    @ Fedi:

    Ich glaube nicht, dass flackernde Steuerunterlagen gut sind. Von mir zumindest hat noch kein Finanzbeamter verbrannte Erklärungen akzeptiert... Flackern des Bildschirms *;)*
     
    d'r Bastler, 4. Oktober 2025
    #9
  10. Fedi User
    Habe bereits wieder die gesicherte Datei zurück kopiert. Was die Fehlermeldung auslöste wird also nicht mehr zu erforschen sein.
    Hatte mit einigen "Select"s gespielt und die Sache wahrscheinlich überreizt.
    Hier ("Select") gäbe es noch viele Verbesserungsmöglichkeiten..., vielleicht probiere ich wieder.

    Seid Ihr eigentlich 24 Stunden/Tag am Rechner?

    Mein Computer schlägt mich beim Schachspielen, aber ich bin sicher, dass ich ihn beim Kickboxing schlagen werde.
     
  11. Klaus-Dieter Erfahrener User
    Klar, und wenn das nicht reicht, nehmen wir die Nacht dazu.
     
    Klaus-Dieter, 4. Oktober 2025
    #11
    1 Person gefällt das.
  12. d'r Bastler
    d'r Bastler Erfahrener User
    Moin allerseits!

    @knobbi38 Du weißt also gar nicht, welch vergnügliche Lektüre Dir entgangen ist! Flackern des Bildschirms :rolleyes:

    @Fedi Ich habe Deine 77 Word-Seiten mal auf knapp 50 eingedampft (Leerzeilen und Absatzabstände) und dann Strg+H als Erbsenzähler bemüht.
    Der Zelltext " ... arbeitet ...", (unnötig wie'n Kropf mit Socken) erscheint "nur" 21 mal. Solche Ausgaben verschwenden Rechen- und Grafik-Leistung (dazu später mehr) und verlangsamen Deine Berechnungen unnötig. Also weglassen.

    Das Gleiche gilt für die 161 ! Interior-Anweisungen. Es gibt kaum eine lästigere Code-Bremse als Zellformatierung in Berechnungsprozeduren. Zu mal das auch eklatant gegen das substantielle EVA-Prinzip verstößt! So etwas macht man ganz am Schluss ein optimiertes Mal.

    Und dann kommt's richtig dicke: Select habe ich gleich 822 mal gefunden! Das ist grob jede vierte Zeile Deines Codes. Dass man beim Wechsel von einer Tabelle zur anderen diese erst aktivieren muss, ist klar. Aber dann eben mit .activate, nicht .select. Dann blieben aber immer noch über 800 übrig.

    Dann also mal mein zaghafter Versuch, die Sache etwas zu verschlimmbessern Flackern des Bildschirms *;)*

    Als erstes baust Du Dir mal eine Stoppuhr, mit der Du die Verarbeitungsdauer misst: Dazu setzt Du in irgendein (oder auch neues) allg. Modul ganz nach oben diesen Code:
    Code:
    Option Explicit
    Public dStart As Double
    
    Sub CodeTimer(Optional dTime As Double)
    Dim dDiff As Double
    
    If dTime > 0 Then
        dStart = dTime
        Exit Sub
    End If
    
    If dStart > 0 Then
        dDiff = Format(Timer - dStart, "0")
        dStart = 0
        MsgBox dDiff & " ms hat's gedauert", , "AppScrUpd = " & Application.ScreenUpdating
    End If
    
    End Sub
    
    Sub Test_Start()    'hier wird nur der Startzeitpunkt gesetzt, zu sehen ist nichts
        CodeTimer Timer
    End Sub
    
    Sub Test_Stop()     'hier wird die Laufzeit berechnet und angezeigt
        CodeTimer
    End Sub
    Dann fügst Du in Deine Sub UebersichtP als Zeile 2 diesen Befehl ein:
    Code:
    CodeTimer Timer
    und als vorletzte Zeile dann diesen:
    Code:
    CodeTimer
    Als Rückmeldung bekommst am Ende Deiner Sub Du eine MessageBox mit der Verarbeitungsdauer und dem Wert für AppScrUpd.

    Lass das mal laufen und poste das Ergebnis hier. Dann geht's weiter ...

    Schöne Grüße in die schöne Schweiz!
     
  13. d'r Bastler
    d'r Bastler Erfahrener User
  14. Fedi User
    Moin Moin
    Danke an d'r Bastler für dein Engagement (Wieso habe ich kein Mail erhalten von deiner Antwort vom Samstag?)

    Ich habe inzwischen mein Problem gelöst. Die Makros funktionieren jetzt einwandfrei.
    Ich konnte sogar zwei Dateien verbessern, Einzahlungen und Steuern.
    Mit dem Einsetzen von Application.ScreenUpdating an den richtigen Stellen läuft es jetzt wie geschmiert.

    Ebenso bei der Datei Einzahlungen und in dieser habe ich bereits etwa 90% Selects ersetzt und andere Code-Verbesserungen vorgenommen. Das Steuerfile werde ich auch noch optimieren.
    Ich bin sehr zufrieden.
    Die Zelltexte und Formatierungen bieten halt ein ungemein schöner Ablauf beim Fortschritt der Makros,
    wie in einem Film.
    Danke nochmals herzlich
    Fedi

    Die schwierigste Turnübung ist es noch immer, sich selbst auf den Arm zu nehmen.
    Werner Finck
     
  15. RPP63_neu
    RPP63_neu Erfahrener User
    Moin und SCNR!
    Wenn ich einen Film sehen will, gehe ich ins Kino.
    Das hat aber in einem Makro nix zu suchen!
    Ach ja, Thema hier war ja Flackern des Bildschirms …
    Schicke mal eine Fliege ins Kino.
    Was Dir als flüssiger Bewegungsablauf vorkommt, ist bei der Fliege unerträgliches Flackern.
    Deshalb gibt es auch so wenig Fliegen im Kino. Flackern des Bildschirms *:D*
    Menschen hingegen bevorzugen beim Ablauf eines Makros eher, dass sie augenblicklich ein Ergebnis sehen.
     
Thema:

Flackern des Bildschirms

Die Seite wird geladen...
  1. Flackern des Bildschirms - Similar Threads - Flackern Bildschirms

  2. Flackern trotz Application.ScreenUpdating = False

    in Microsoft Excel Hilfe
    Flackern trotz Application.ScreenUpdating = False: Hallo zusammen, ich probier schon eine Weil an dem nachfolgenden herum. Seit ich diese beiden Codes zum Hauptmakro ergänzt habe, springt er trotz Application.ScreenUpdating = False hin und her....
  3. Formular-Flackern

    in Microsoft Access Hilfe
    Formular-Flackern: Hallo Zusammen, wenn eine Zeitdifferenz in einem Formular anzeigen lassen will, flackert die Oberfläche. Wie kann ich das vermeiden? Habe schon etwas vom Echo off gelesen und eingebaut ... bringt...
  4. Flackern beim Scrollen in Formular verhindern?

    in Microsoft Access Hilfe
    Flackern beim Scrollen in Formular verhindern?: Guten Tag, habe hier eine Access DB mit einem Formular, was für die Bearbeitung und Erstellung von Datensätzen genutzt wird. Das Formular hat ca 40 Felder, in die Daten eingetragen werden...
  5. Starkes Flackern bei Navigieren von Datensätzen

    in Microsoft Access Hilfe
    Starkes Flackern bei Navigieren von Datensätzen: Hallo, ich habe folgendes Problem. Jedesmal wenn ich auf den Navigationstasten klicke(Datensatz vor-zurück erste DS letzter DS) dann flackert der Bildschirm sehr stark. Das geht teilweise so weit,...
  6. Bildschirm-Flackern eliminieren

    in Microsoft Access Hilfe
    Bildschirm-Flackern eliminieren: Hallo an alle, in meiner DB greife ich aus einem per Übersichtsmanager kreierten Formular auf meine selbsterstellten Formulare zu. Bei einem so zu öffnenden Formular habe ich in das...
  7. Flackern bei Makro abstellen und Abfrage evtl ändern

    in Microsoft Excel Hilfe
    Flackern bei Makro abstellen und Abfrage evtl ändern: Hallo zusammen, beim ausführen des Makros flackert der Bildschirm unheimlich. Habt Ihr ne Idee wie ich das abstellen kann? Screen.Updating = false hab ich bereits eingefügt. Ein weiterer...
  8. Visio Grafiken flackern in Word Dokumenten

    in Microsoft Word Hilfe
    Visio Grafiken flackern in Word Dokumenten: Hallo In unserer Firma haben einige Clients seit unserem letzen Rollout(neue HP Elitebooks) das Problem, dass im Word 02 die Visio Grafiken flackern. Ich hab schon auch nach dem Problem...
Schlagworte:
  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