Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bildschirmanzeige einfrieren

Bildschirmanzeige einfrieren
25.05.2003 11:04:15
Hans Jürgen
Kann ich während der Ausführung eines mit dem Makro-Recorder aufgezeichneten Makros, das jeweils in die Ecken des Sheets springt, die Bildschirmanzeige "einfrieren"?
Das Makro soll ausserhalb des sichtbaren Bildschirms seine Aufgaben erledigen und und der Cursor soll stehen bleiben, wo er beim Start des Makros stand. Am Ende evtl. ein "Refresh", aber kein Hüpfen der Anzeige während der Ausführung.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bildschirmanzeige einfrieren
25.05.2003 11:07:07
Georg_Zi

Hallo Hans Jürgen

ein Hallo zu Beginn und ein Gruß am Ende läst den Beitrag doch gleich viel freundlicher aussehen. Auch wenn Du den Beitrag am Computer eingibst sitzen an der anderen Seite doch Leute und keine Maschinen die Deine Frage beantworten und da sollte Zeit für die paar Worte doch vorhanden sein.

In VBA kannst Du zu 99% auf Select; Activate und ähnliche Befehle verzichten. Das mit dem Recorder aufgezeihnete NMakro muß noch bereibnigt werden.


Ein behelf

Bildschirmaktualsierung, Makro laufen lassen ohne Anzeige
damit die Ausführung des Makros nicht angezeigt wird, kann man vor den Code schreiben
application.screenupdating = False im Hintergrund ohne Anzeige
Man darf dann nur nicht vergessen, dieses wieder auf True zu setzen.
Generell sollte man aber alles mit Activate und Select vermeiden


Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Zur Zeit ist die automatische E-Mailbenachrichtigung abgeschaltet. Damit ist es dem Zufall überlassen, ob ich auf Rückfragen antworte.
Ich habe keine Lust in gewissen Abständen das Forum nach meinen Beiträgen zu durchsuchen, um zu sehen ob Rückfragen gibt.


Anzeige
Application.Screenupdating = False....
25.05.2003 11:08:45
Ramses

Hallo

Ein kleiner Gruss, wie "Guten Morgen Forum" o.s.ä., lässt DEINE Frage gleich viel freundlicher erscheinen und erhöht die Bereitschaft darauf zu antworten ;-)


... und mit

True

wieder einschalten

Gruss Rainer

Re: Guten Morgen an alle!
25.05.2003 11:20:55
Hans Jürgen

Sorry, habe ich natürlich vergessen: Guten Morgen an alle im Forum!
Und: vielen Dank für die prompten Antworten und Lösungen - eine Responsezeit von 4 Minuten habe ich noch in keinem Forum gefunden.
Deswegen habe ich wohl auch den guten Morgen vergessen, da in den anderen Foren die Antworten dann meistens erst nachts um 23:00 Uhr geschrieben werden - und dann könnte man den Spruch leicht als Beleidigung auffassen.
Aber nochmal: großes Lob an Initiator und Teilnehmer.

Anzeige
Danke: Bildschirmanzeige einfrieren
25.05.2003 11:59:47
Hans Jürgen

Hallo Freunde,
die Lösung mit application.screenupdating = False / True funktioniert einwandfrei.
@Hajo: bin ziemlicher Anfänger, was meinst Du mit Verzichten auf Select und Activate? Vielleicht beschreibe ich doch mal meine Problemstellung, die man evtl. ja auch leichter lösen könnte:
In Spalte Lx steht die Formel =WENN($Bx=$Bx+1;"";$Bx) (mit x meine ich die Zeile und da steht natür lich nicht x und x+1, sondern z.B. 10 und 11). D.h. ich schaue, ob in Spalte B eine Änderung eintritt und wenn ja, dann schreibe ich in die letzte Zeile, bevor sich vorne was ändert, den Wert aus Spalte B. Wenn ich in dieses Sheet eine Zeile einfügen oder löschen will, geht die Formel in Spalte L kaputt, da dann nicht mehr Zeile x und x+1, sondern x und x+2 verglichen werden. Folglich füge ich Zeile ein, Kopiere die vorhergehende Zeile und dann kopiere ich in Spalte L die oberste Formel runter bis ans Ende. Damit sind die Formeln wieder korrekt. Ich will vermeiden, dass die Anzeige flackert und möchte am Ende auch wieder da stehen, wo ich begonnen habe.

Sub ZeileEinfügen()
'
' ZeileEinfügen Makro
' Makro am 22.05.2003 von Hans Jürgen aufgezeichnet
'
' Tastenkombination: Strg+k
'
Dim ac As Range
Application.ScreenUpdating = False
Set ac = ActiveCell
ac.Select
ActiveSheet.Unprotect
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Copy
Selection.Insert Shift:=xlDown
Range("L3").Select
ActiveCell.FormulaR1C1 = "=IF(RC2=R[1]C2,"""",RC2)"
Range("M3").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-11]=R[1]C[-11],"""",RC[-3])"
Range("L3:M3").Select
Application.CutCopyMode = False
Selection.Copy
Range("L4").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
ActiveCell.Offset(0, -3).Range("A1").Select
Range("A4").Select
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ac.Select
Application.ScreenUpdating = True
End Sub

Das Makro funktioniert so, also kein dringender Handlungsbedarf. Würde mich nur interessieren, ob es durch Umstellung der Formeln in Spalte L z.B. einfacher geht.

Gruß
Hans Jürgen

Anzeige
Re: Danke: Bildschirmanzeige einfrieren
25.05.2003 12:52:04
Georg_Zi

Hallo Hans Jürgen

es läuft schon aber bei größeren Programmen spielt die Zeit schon eine Rollle. Lasse mal die Beiden Makro laufen.

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Zur Zeit ist die automatische E-Mailbenachrichtigung abgeschaltet. Damit ist es dem Zufall überlassen, ob ich auf Rückfragen antworte.
Ich habe keine Lust in gewissen Abständen das Forum nach meinen Beiträgen zu durchsuchen, um zu sehen ob Rückfragen gibt.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige