Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
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
Inhaltsverzeichnis

screenupdating

screenupdating
06.01.2022 19:32:36
Uli
Hallo an die Experten,
ich habe ein Problem mit excel 2019:
Aus einer Excel-Datei wird ein Makro gestartet. Dort steht zu Beginn "screenupdating=false" und am Ende "screenupdating=true". Dazwischen wird eine excel-Tabelle geöffnet, am Ende wird wieder die rufende Datei aktiviert, d.h. sie sollte wieder im Vordergrund stehen.
Dies funktionierte in excel 2011 seit Jahren anstandslos.
Bei excel 2019 wird im Makro 1 (siehe unten) die rufende Datei

W
am Ende nicht aktiviert, sodass die geöffnete Tabelle

WUE
im Vordergrund steht statt im Hintergrund.
Wird das Makro allerdings manuell in Einzelschritten durchlaufen, läuft es korrekt und die Datei

W
.steht im Vordergrund wie im Makro 2.
Hier die beiden Test-Makros:
Makro 1:
Sub Testscreen_mit_SCREENUPDATING()
PFAA = "C:\Temp\"
WUE = "TestKunden"
WUEx = WUE & ".xlsx"
S = ActiveSheet.Name
W = ActiveWorkbook.Name
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Application.ScreenUpdating = False
On Error GoTo A3
Workbooks.Open Filename:=PFAA & WUEx
A3:
Windows(W).Activate
Sheets(S).Select
Application.ScreenUpdating = True
End Sub
Makro 2:
Sub Testscreen_ohne_SCREENUPDATING()
PFAA = "C:\Temp\"
WUE = "TestKunden"
WUEx = WUE & ".xlsx"
S = ActiveSheet.Name
W = ActiveWorkbook.Name
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
' Application.ScreenUpdating = False
On Error GoTo A3
Workbooks.Open Filename:=PFAA & WUEx
A3:
Windows(W).Activate
Sheets(S).Select
' Application.ScreenUpdating = True
End Sub
Vielen Dank im Voraus
Uli

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: screenupdating
06.01.2022 22:20:38
onur
Warum

Windows(W).Activate    
und nicht

Workbooks(W).Activate 


AW: screenupdating
06.01.2022 23:46:16
Uli
Danke für die schnelle Antwort, aber:
1. die Formulierung "Windows(W).activate" verwende ich seit 2009 erfolgreich
2. Dein Vorschlag mit "workbooks..." löst das beschrieben Problem leider nicht.
Gruß
Uli
AW: screenupdating
07.01.2022 07:31:29
Luschi
Hallo Uli,
in Excel 2019 klappt das so:

Sub test1()
Dim wb1 As Workbook, wb2 As Workbook
Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open(Filename:="F:\Daten\Downloads\test datasize 1a.xlsx")
'jetzt ist Arbeitsmappe 2 (wb2) aktiv und auf dem Bildschirm präsent
Range("A1").Select
wb1.Activate
'jetzt ist Arbeitsmappe 1 (wb1) aktiv und auf dem Bildschirm präsent
'usw.
'am Schluß
Set wb2 = Nothing: Set wb1 = Nothing
End Sub
Ich verwende Objekt-Variablen nd damit kennt Excel seine Pappenheimer und reagiert korrekt.
Gruß von Luschi
aus klein-paris
Anzeige
AW: screenupdating
07.01.2022 11:15:26
Uli
Hallo Luschi,
wo ist Klein-Paris?
Danke für Deinen Vorschlag.
Dazu:
Ich habe ein Warenwirtschaftssystem in excel aufgebaut, in dem die erwähnte Thematik an sehr vielen Stellen (Anzahl im höheren 2-stelligen Bereich) auftaucht.
Deshalb warte ich noch auf eine elegantere Lösung, bevor ich mir den Änderungsaufwand antue.
Ich bin gespannt.
Gruß
Uli
AW: screenupdating
08.01.2022 11:09:26
Oberschlumpf
Hi Uli,
ich bin nich sicher, ob ich eine "elegantere Lösung" liefern kann.
Denn eigentlich funktioniert dein eigener Code auf meinem PC wohl genau so, wie du es erwartest.
Ach so...ich nutze Office 2016.
Ich habe trotzdem einen eigenen Code entwickelt, weil...
...dein Code erscheint mir unsauber
- wenn ich On Error GoTo... einsetze, trage ich vor Erreichen der Zielzeile (GoTo A3) ein Exit Sub ein, so dass die Fehlerbehandlung - nicht - durchgeführt wird, wenn es - nicht - zu einem Fehler kommt
- bei deinem Code fehlt halt das Exit Sub...aber ok, das ist meine Meinung...jeder kann, wie er will
...dein Code ist (mehr oder weniger) doppelt vorhanden. siehe Testscreen_mit_SCREENUPDATING und Testscreen_ohne_SCREENUPDATING
- im 1. Makro wird ScreenUpdating deaktiviert, im 2. Makro nicht...die "Gefahr" jedenfalls: fehlerhafte Programmierung doppelt möglich, wenn beide Makros angepasst werden müssen
- Ich hab nur 1 Makro programmiert, welches aber ein True- oder False-Argument erwartet. Wenn TRUE, dann ScreenUpdating = False (wie in Makro1 von dir), wenn FALSE, dann gar nix mit ScreenUpdating (wie in Makro2 von dir); am Ende meines Makros immer ScreenUpdating = True....mit meiner Version fehlerhafte Programmierung nur 1x möglich, da nur 1 Makro vorhanden
Für mein Makro sind allerdings ActiveX-Steuerelemente erforderlich (die ich deiner Tabelle hinzugefügt habe), da nur mit diesen ein Makro mit Parameter gestartet werden kann.
Du hast Formularsteuerlemente verwendet, mit denen nur ein zugewiesenes Makro gestartet werden kann. Bei dieser Makro-Zuweisung ist aber die Parameterübergabe nicht möglich (oder ich weiß noch nicht, wie das geht)
So, genug erklärt :-)
hier, versuch mal
https://www.herber.de/bbs/user/150240.zip (erst entpacken, dann starten!)
Hilfts?
Ciao
Thorsten
Anzeige
AW: screenupdating
09.01.2022 15:36:33
Uli
Hallo Thorsten,
Danke für Deine Bemühungen.
Leider kann Dein Vorschlag für mich keine Lösung sein, da der Fall in meinem Warenwirtschaftssystem vielleicht 50 bis 100 mal (oder noch mehr) im code vorkommt.
Vor ein paar Minuten bin ich bei weiteren Versuchen mit den beiden Makros auf ein anderes Phänomen gestoßen, das auf Fehlfunktionen beim ebenfalls neuen RDS auf unserem server hindeutet. Admin ist verständigt.
Leg meine Frage erst mal auf Eis. Ich melde mich wieder, sobald weitere Erkenntnisse vorliegen oder nicht vorliegen.
Schönen Sonntag noch und Gruß
Uli
AW: screenupdating
09.01.2022 19:09:17
Oberschlumpf
Hi Uli,
"...Leider kann Dein Vorschlag für mich keine Lösung sein, da der Fall in meinem Warenwirtschaftssystem vielleicht 50 bis 100 mal (oder noch mehr) im code vorkommt...."
Allein schon wegen der erwähnten Häufigkeit würde zumindest ich den Code aber ganz schnell anpassen!
Denn...
...nur 1x ! das hier...

Sub Makroname(ByVal janein As Boolean)
If janein = True Then
'hier der Code, wenn Parameter = True
Else
'hier der Code, wenn Parameter = FALSE
End If
End Sub
...schreiben müssen, bedeutet auch - nur 1x obiges Makro korrigieren zu müssen, wenn ein Fehler kommt
Und dazu dann, wie du schreibst, 50 oder 100x oder mehr das hier...

Makroname True
Makroname False
Makroname True
Makroname False
Makroname True
Makroname False
...usw
...schreiben müssen macht doch die Ganze Programmierung viel einfacher!
Na ja, das is meine Meinung, du weißt sicher besser, wieso das Anpassen der Programmierung - erst mal in einer Kopie-Datei - bei dir nicht möglich ist.
Ciao
Thorsten
Anzeige
AW: screenupdating
09.01.2022 19:25:41
Uli
Hallo Thorsten,
wenn meine neueste Vermutung sich als unzutreffend herausstellt, nehme ich Deinen Vorschlag auf, denn:
das geschilderte Problem taucht ja nicht bei einem lokalen PC auf, sondern bei den clients unseres servers.
Und zeitgleich mit der Installation von office 2019 wurde zum Jahreswechsel auch ein neuer RDS installiert, der in den ersten Tagen des neuen Jahres schon mal dadurch aufgefallen ist, dass er beim Managment von Dateien eigene ungewohnte / unpassende Wege ging.
Heute habe ich bei weiteren Tests mit meinen 2 kleinen Testmakros einen Hinweis auf letzteres erhalten und sie dem admin weitergegeben, denn das ist sein Verantwortungsbereich.
Ich träume nach wie vor davon, überhaupt nichts ändern zu müssen!
Bis dann
Uli
Anzeige
AW: screenupdating
09.01.2022 19:44:38
Uli
Nachtrag:
Bei meiner eben beendeten Raucherpause ist mir noch folgender Hinweis eingefallen:
Die VBA-Codierung scheint ja nicht des Pudels Kern zu sein, denn sie läuft korrekt, wenn ich das Makro im debugging-Modus schrittweise durchsteppe.
Es scheint, dass der RDS Probleme hat beim schnellen handling von Dateinamen: Am Makro-Ende (mit screenupdate) ist die Zuordnung der Dateinamen der rufenden und der gerufenen Datei falsch, nämlich vertauscht und deswegen ist auch die falsche Datei im Vordergrund.
Ich bin gespannt auf die Rückmeldung vom admin.
Schönen Sonntach noch und Gruß
uli
Anzeige
AW: screenupdating
07.01.2022 07:09:53
Oberschlumpf
Hi
könntest du denn eine Bsp-Datei mit deinem Code per Upload zeigen, so dass wir besser testen könnten?
Ciao
Thorsten
AW: screenupdating
07.01.2022 11:06:09
Uli
Hallo Thorsten,
ich habe 2 Test-Dateien hochgeladen:

TESTSCREEN
mit den Makros (https://www.herber.de/bbs/user/150224.xlsm)
und

TestKunden
zum Öffnen (https://www.herber.de/bbs/user/150225.xlsx)
Gruß
Uli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige