Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
224to228
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ScreenUpdating

ScreenUpdating
03.03.2003 14:14:09
Kurt
Hallo zusammen

Kann mir jemand sagen, wo der Wurm drinsteckt? Ich versuche mit allen möglichen Techniken zu verhindern, dass das Tabellenblatt "Alle Werte" für einen bruchteil einer Sekunde sichtbar wird, bevor das Tabellenblatt "Erfassung VR" aktiviert wird.

Was mache ich falsch? Hier mein Code...

Sub Indikatoren_erfassen_VR()

ScreenUpdating = False
Sheets("Alle Werte").Select
Range("A10").Select
ActiveCell.FormulaR1C1 = "=YEAR(TODAY())"
Application.CutCopyMode = False
Range("A9:A10").Select
Selection.Copy
Range("A9").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select

ScreenUpdating = True
Sheets("Erfassung VR").Select
Range("C2").Select

End Sub

Danke im Voraus,

Kurt

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: ScreenUpdating
03.03.2003 14:15:48
Hajo_Zi

Hallo Kurt

verzichte auf Select und ähnliche Befehle.

Gruß Hajo

Errr - ich glaube die Antwort ist...
03.03.2003 14:25:10
Andreas Walter

ScreenUpdating = False
ScreenUpdating = True

Setzen nur die lokale Variable mit Namen "ScreenUpdating"

Du möchtest
Application.ScreenUpdating = False
Application.ScreenUpdating = True

PS nutz mal OPTION EXPLICIT und dann werden solche Sachen automatisch erkannt.

Re: ScreenUpdating
03.03.2003 15:05:19
Christopher Nolte

Hallo Kurt,

bei mir funktioniert das an- und ausschalten des Screen-updating immer einwandfrei. Allerdings verwende ich die Syntax

Application.ScreenUpdating = False bzw. True

Vielleicht funktioniert es ja damit.

Viele Grüße

Christopher

Anzeige
Re: Errr - ich glaube die Antwort ist...
03.03.2003 15:07:06
Kurt

Hallo Andreas

Bezüglich der Setzung von lokalen Variablen hast Du recht! Hatte ursprünglich auch ein "Application." davor. Aber auch mit der Anweisung Application erscheint das TB "alle Werte" jeweils!

Noch einen Vorschlag? Ich versuche noch Hajo's vroschlag umzusetzen, aber irgendwie muss ich ja auf die Zelle zugreifen, um den wert zu kopieren/Pasten!

Kurt

Errr - Vieles kann ich glauben...
03.03.2003 15:12:46
Andreas Walter

aber, dass nach einem
Application.ScreenUpdating=false,
irgendetwas (in Excel) sich am Monitor tut,
gehört nicht dazu.

Bitte nochmals verifizieren.
Bitte bitte option explicit um Schreibfehler zu vermeiden nutzen

Nutz mal vielleicht MSGBOX und sicher zu gehen, dass Dein
Application.ScreenUpdating=false bzw. True
an der richtigen Stelle ist.

Anzeige
Re: Errr - Vieles kann ich glauben...
03.03.2003 15:56:01
Kurt

Hallo Andreas

Nun, ich würde Deiner Bitte gerne Folge leisten. Habe Option Explizit eingefügt (am Anfang meines Macros). Nun erhalte ich die Fehlermeldung "Fehler beim Kompilieren: Innerhalb einer Prozedur ungültig."

Wo muss ich diese beiden Wörter einfügen, wenn nicht am Anfang des Macros?

Gruss Kurt

Vor dem ersten Sub in JEDEM Modul...
03.03.2003 16:09:47
Andreas Walter

Ganz ganz ganz oben in einem Modul

Und zwar vor dem ersten SUB in einem Modul
in einer separaten Zeile
Falls es mehrere Module gibt, dann in jedem Modul

Und bitte mit C option explicit (nicht Z)

Es ist wirklich zum Verzweifeln
03.03.2003 16:37:42
kurt

Andreas!

Ich habe alle Deine Ratschläge befolgt. Und trotzdem erscheint immer wieder für ganz kurze Zeit das TB "Alle Werte"! Hat das vielleicht damit zu tun, dass ich dort eine kurze Aktion ausführe. Ich teile eigentlich Deine Meinung, dass nach dem Befehl "Application.ScreenUpdating = False" keine Veränderung am Bildschirm erfolgen sollte, bis ich nicht auf True setze.

Hier nochmals mein Code!


Option Explicit
------------------------------
Sub Indikatoren_erfassen_VR()
'
' Indikatoren mit dem VR erfassen
'

Application.ScreenUpdating = False
Sheets("Alle Werte").Select
Range("A10").Select
ActiveCell.FormulaR1C1 = "=YEAR(TODAY())"
Application.CutCopyMode = False
Range("A9:A10").Select
Selection.Copy
Range("A9").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select

Application.ScreenUpdating = True
Sheets("Erfassung VR").Select
Range("C2").Select

End Sub

Anzeige
Re: Es ist wirklich zum Verzweifeln
03.03.2003 16:55:08
Folker

Versuch wirklich mal die selects zu vermeiden und direkt zu adressieren:
workbooks("xxx.xls").sheets(Alle Werte).range("A10").FormulaR1C1 = "=YEAR(TODAY())"
geht auch ohne Workbook, wenn du dich im gleichen Workbook befindest. Einfach immer statt z.B. range("A1").select + activecell.copy dann direkt adressieren range("A1").copy, damit alle selects weggehen.

manchmal ist es was ganz Banales
03.03.2003 17:29:33
Kurt

Erst einmal vielen Dank für all die tollen Inputs!
Jeder einzelne hat an der Lösung des Problems beigetragen.

Ich habe mir auch nochmals alles durch den Kopf gehen lassen und habe diese Zeilen

Application.ScreenUpdating = True
Sheets("Erfassung VR").Select
Range("C2").Select


wie folgt umgeschrieben

Sheets("Erfassung VR").Select
Application.ScreenUpdating = True
Range("C2").Select

und siehe da, es klappt!

Gruss und schönen Abend,

Kurt

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige