Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Screen Update richtig verwenden
#1
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.
Antwortento top
#2
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
[-] Folgende(r) 1 Benutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • StrammerMax
Antwortento top
#3
Ich schaue gleich mal, ob das etwas bewirkt.
Antwortento top
#4
... 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
Lucky Joe

[Windows 10, Office 2016]
Antwortento top
#5
Hallo

ich habe noch eine Frage zum Code selbst:  gibt es da viele Select Anweisungen wie:   Range().Select / Sheets().Select  ??

mfg  Gast 123
Antwortento top
#6
Nur 90%

Schau mal: https://www.clever-excel-forum.de/thread...#pid148952
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antwortento top
#7
Hallo

@snb   Danke für den Hinweis, dann ist mein Rat an den Frager seinen Code ohne Worksheet.Select usw. aufzubauen.

mfg  Gast 123
Antwortento top
#8
(31.01.2019, 18: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.
Antwortento top
#9
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
Antwortento top
#10
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
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste