Registriert seit: 24.02.2017
Version(en): 365; (2013)
Hey Leute,
ich habe hier einige Methoden, die relativ wild Zeilen ein/ausblenden und sich teilweise gegenseitig referenzieren.
Wenn eine Methode anstößt flackert der Bildschirm teilweise 1-2 Sekunden und man sieht, wie er "arbeitet".
Das sieht natürlich nicht schön aus, daher möchte ich Application.ScreenUpdating = False setzen und erst am Ende wieder True.
Wenn ich das folgendermaßen nutze bringt es aber überhaupt nichts:
Code:
Private Sub Beispielmethode()
Application.ScreenUpdating = False
Ganz viel Code
Application.ScreenUpdating = True
End Sub
Der Bildschirm flackert immer noch wie wild. Habe das in jede Methode eingebaut - aber es hat sich nichts verändert.
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
31.01.2019, 16:35
(Dieser Beitrag wurde zuletzt bearbeitet: 31.01.2019, 16:36 von Der Steuerfuzzi.)
Hallo,
das kann ich eigentlich nicht nachvollziehen, bei mir flackert nichts. Eventuell hilft es, wenn Du zusätzlich die Berechnung auf manuell setzt:
Code:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
und danach wieder auf automatisch:
Code:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Gruß
Michael
Registriert seit: 24.02.2017
Version(en): 365; (2013)
Ich schaue gleich mal, ob das etwas bewirkt.
Registriert seit: 26.07.2017
Version(en): 365
... ansonsten probiere auch mal insgesamt folgende Einstellungen - aber immer mit Vorsicht und wissend, was du damit ausschaltest:
Code:
Application.ScreenUpdating = False ' Bildschirmaktualisierung
Application.DisplayStatusBar = False ' Statusleistenaktualisierung
Application.DisplayAlerts = False ' Meldungen unterdrücken
Application.Calculation = xlCalculationManual ' manuelle Berechnung
Application.EnableEvents = False ' Ereignisse deaktivieren
ActiveSheet.DisplayPageBreaks = False ' Seitenumbrüche nicht anzeigen
ActiveSheet.EnableFormatConditionsCalculation = False ' bedingte Formatierungen ausschalten
... und später auf jeden Fall wieder einschalten nicht vergessen!
Herzliche Grüße aus dem Rheinland
Jörg
[Windows 10, Microsoft 365]
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
Hallo
ich habe noch eine Frage zum Code selbst: gibt es da viele Select Anweisungen wie: Range().Select / Sheets().Select ??
mfg Gast 123
Registriert seit: 29.09.2015
Version(en): 2030,5
31.01.2019, 18:55
(Dieser Beitrag wurde zuletzt bearbeitet: 31.01.2019, 18:56 von snb.)
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
Hallo
@snb Danke für den Hinweis, dann ist mein Rat an den Frager seinen Code ohne Worksheet.Select usw. aufzubauen.
mfg Gast 123
Registriert seit: 24.02.2017
Version(en): 365; (2013)
(31.01.2019, 19:30)Gast 123 schrieb: Hallo
@snb Danke für den Hinweis, dann ist mein Rat an den Frager seinen Code ohne Worksheet.Select usw. aufzubauen.
mfg Gast 123
Und wie? Worksheet.select ist relativ selten. Aber Rows.select ist häufig.
Man sieht, wie er die ganzen Zeilen ein uns ausblendet und dabei alles neu skaliert.
Nach meiner Auffassung dürfte man sowas mit screenupdating = false eigentlich nicht sehen.
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
Hallo
Code:
Und wie? Worksheet.select ist relativ selten. Aber Rows.select ist häufig. (Wirklich???)
Lieber Frager, ich sage es sehr höflich, und bitte nicht beleidigt sein!!
Wir sind hier in einem Forum und sicher keine Leien oder Anfänger. Damit will ich sagen, das es viele gute Ratgeber gibt, Profis wie snb, neben dem ich nicht mal eine "5 Watt Birne" im Kronleuchter des Forums bin! Ich sehe ja was er drauf hat!! Alle Ratgeber ermahnen Anfänger die mit dem Makro Recorder arbeiten, Codes aufzeichnen, sich das Thema "Select" möglichst schnell abzugewöhnen!! In 90 % aller VBA Codes ist der Befehl überflüssig!
Hinter Range usw. kann man Endungen wie .Copy, Paste, PastSpecial direkt anhaengen -ohne- den Bereich zu selektieren. Da wir deinen Code bisher nicht gesehen haben können wir nicht sagen was du wo weglassen kannst.
Der Bildschirmaufbau wird zwar unterdrückt, meine Erfahrung ist das es bei vielen Selects trotzdem im Hintergrund flackert!
mfg Gast 123
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
01.02.2019, 10:04
(Dieser Beitrag wurde zuletzt bearbeitet: 01.02.2019, 10:04 von MisterBurns.)
Und ergänzend zu Gasts höflichen Ausführungen von mir ein etwas weniger freundlicher Beitrag:
Ich finde die Frage an sich lächerlich - wie soll man sowas sinnvoll beantworten, ohne dass du deinen Code zeigst?
Um zum tausendsten Mal den Autovergleich zu bemühen: "Bei meinem Auto klappert etwas, woran kann das liegen?". Was glaubst du, wird jeder Mechaniker zu dir sagen? Eben.
Und bei mittlerweile beinahe 200 Beiträgen in diesem Forum sollte dir das eigentlich schon bekannt sein.
Schöne Grüße
Berni