Bei Userform schliessen Arbeitsblatt wechseln

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Bei Userform schliessen Arbeitsblatt wechseln
von: MarkusX
Geschrieben am: 24.09.2015 12:54:39

Hallo Forum,
Mit folgendem Code moechte ich gerne eine UserForm verlassen und dabei in eine andere Arbeitsmappe wechseln. Eigentlich ganz simpel und funzt auch:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Unload Me
    Sheets("Andere_Mappe").Select
End Sub

Das Problem ist nun, dass diese "Andere_Mappe" nun irgendwie gesperrt scheint. Keine Zelleingaben mehr mgl., kein schliessen ueber das Kreuz. ABER wechsel ich in eine weitere Mappe und wieder zurueck zu "Andere_Mappe" ist alles wieder OK.
Was ist da los? Kann mir jemand erlaeutern was ich eigentlich mit UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) da anstelle, die F1-Hilfe war hier nicht hilfreich. Ich suche nun schon seit langem nach einer Loesung, werde leider aber weder in den Foren noch in der Hilfe etc. fuendig.
Danke,
MarkusX

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: fcs
Geschrieben am: 24.09.2015 13:19:01
Hallo Markus,
die Zeile
Unload.Me
ist überflüssig, da dieses Makro ausgeführt wird, bevor der Schließen(inkl. Unload-Prozess) für das Userform ausgeführt wird.
Die Blockade des selectierten Sheets könnte daher rühren, dass
Application.ScreenUpdating noch auf False gesetzt ist.
Füge die Zeile
Application.ScreenUpdating = True zusätzlich ein.
evtl. ist
Sheets("Andere_Mappe").Activate
günstiger als .Select, sollte bei Tabellenblättern aber keine Rolle spielen.
Gruß
Franz

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: MarkusX
Geschrieben am: 24.09.2015 15:05:39
Hallo Franz!
Vielen Dank fuer Deine Antwort.
Select und Unload Me hab ich rausgenommen, danke fuer den Tip!
Application.ScreenUpdating = True fuehrt leider nicht zum Ziel, das Arbeitsblatt ist immer noch blockiert.
Weitere Info: wenn ich zu einem anderem Arbeitsblatt hin- und wieder zu "Andere_Mappe" zurueckwechsle, loest sich die Blockade ... seltsam!
Hast Du evtl. noch eine andere Idee?
Muss ich evtl. an dieser Zeile etwas aendern?:
QueryClose(Cancel As Integer, CloseMode As Integer)
Gruesse
Markus X

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: fcs
Geschrieben am: 24.09.2015 18:04:15
Hallo Markus,
mit den Parametern der Query-CloseProzedur hat das nichts zu tun.
Via CloseMode kann man steuern was passieren soll, je nachdem wer (User, Code, Windows oder Taskmanager) versucht das Userform zu schließen.
Versuche einfach mal im Makro erst ein anderes Blatt und dann das gewünschte Blatt zu aktivieren. Evtl. funktioniert das ja.
Gruß
Franz

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: MarkusX
Geschrieben am: 24.09.2015 18:36:50
Hallo Franz,
Ich dachte deshalb an QueryClose, weil ja das Arbeitsblatt "Andere_Mappe" danach nicht mehr ueber X ("rechts oben") geschlossen werden kann.
Weitere Funktion die nicht mehr geht: scrollen mittels Maus (ueber die scroll-bar geht es aber noch).
All diese Dinge sind aufgehoben, wenn ich zwischen den Arbeitsblaettern wechsle und zurueckkehre... Daher hatte ich Deine Idee auch schonmal ausprobiert, fuehrt leider aber auch nicht zum Ziel.
Ich danke Dir fuer die Unterstuetzung! Hast Du evtl. noch weitere Ideen?
Gruesse
Markus X

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: fcs
Geschrieben am: 24.09.2015 23:00:37
Hallo Markus,
da bin ich jetzt mit meiner theoretischen Weisheit erst einmal am Ende.
Probiere zusätzlich nach dem Blatt.Activate auch noch einen
ActiveCell.Select
Das ist zwar eigentlich Unfug aber evtl. bewirkt es ja etwas.
Ansonsten kommen nur noch Kobinationen von Blattschutz-Einstellungen und Scroll-Area-Einstellungen in Frage, aber das kann eigentlich nicht sein, wenn es nach dem manuellen Umweg über ein anderes Blatt wieder funktioniert.
Gruß
Franz

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: MarkusX
Geschrieben am: 25.09.2015 09:24:54
Hallo Franz,
nein das war's leider auch nicht ... meinst Du nicht doch, dass es etwas mit der Art und Weisse wie ich die Userform geschlossen habe (und daher evtl. doch QueryClose) zu tun hat??
Ansonsten schau ich mir doch mal die Blattschutz-Einstellungen und Scroll-Area-Einstellungen an, evtl. komme ich da weiter.
Vllt. hat ja auch noch jemand anders Ideen, deshalb lass ich die Frage mal weiter offen.
Gruss und danke,
Markus X

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: fcs
Geschrieben am: 25.09.2015 12:46:53
Hallo Markus,
erstelle mal eine Kopie deiner Datei und lade sie hier hoch.
Anonymisiere sensible Daten und lösche nicht benötigtes Zeug. Tritt der Fehler noch auf, dann lade die Datei hier hoch. Dann man sich das mal anschauen. Evtl. passieren da ja doch feststellbare Sachen, die das Phänomen verursachen.
Gruß
Franz

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: MarkusX
Geschrieben am: 25.09.2015 13:03:42
Hi,
hier die abgespeckte Version:
https://www.herber.de/bbs/user/100394.xlsm
Hinter Button "Aggiorna dati record" verbirgt sich die Userform1, die bei schliessen ueber das X (rechts oben) die Probleme verursacht.
Hoffe es ist einigermassen klar. Falls nicht einfach nachhaken.
Danke fuer die Muehen!
Gruss
Markus X

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: fcs
Geschrieben am: 25.09.2015 15:34:31
Hallo Markus,
ich hab die Datei unter Windows 7 / Office 2010 getestet.
Die Umschaltung beim Schließen von Userform1 via Schließkreuz zum 1. Tabellenblatt funktioniert reibungslos.
Ich probiere nachher nochmals unter Windows 10/Ofice 365/Excel 2013.
Gruß
Franz

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: MarkusX
Geschrieben am: 25.09.2015 15:54:57
Ohmann, ich hab mir ueberlegt, ob es klug ist sofort von Windoofs 8.1 auf 10 umzustellen ... aber die Kacheln wollte ich einfach loswerden ...
Bin gespannt, was weiter bei Dir rauskommt.
Gruss
Markus X

Bild

Betrifft: AW: Bei Userform schliessen Arbeitsblatt wechseln
von: fcs
Geschrieben am: 26.09.2015 00:08:52
Hallo Markus,
ich hab jetzt noch weiter rumprobiert.
Unter Windows Vista und Excel2010: 0 Problemo
Unter Windows 10 und Office 365/Excel 13: das von dir beschriebene Problem.
Bei mir wurden sämtliche Menü-Funktionen deaktiviert und erst nach einem manuellen Wechsel des Blattes wieder funktionsfähig.
Ich konnte das auch problemlos nachbauen in einer neuen Datei.
Da scheint es in Excel 2013 und/oder Windows 10 ein massives Problem zu geben, wenn beim Schließen eines Userforms - egal ob via "Unload Me" oder "Me.Hide" noch ein anderes Blatt per Select oder Activate angezeigt werden soll.
Die Lösung sieht wie folgt aus:
Du musst die Selektion des Blattes in das Makro einbauen in dem die Userform per Show aufgerufen wird.
Also zum Beispiel im Modul5:

Public Sub UserForm1_anzeigen()
   Sheets("Dettagli record").Select
   UserForm1.Show
   Sheets("Scelta cliente").Select
   
End Sub
Im Userform-Code kanst das Makro
Private Sub UserForm_QueryClose
löschen.
Gruß
Franz

Bild

Betrifft: Geloest
von: MarkusX
Geschrieben am: 26.09.2015 07:06:43
Guten Morgen Franz,
hab Deine Loesung gerade eingebaut und siehe da! Das war's scheint's, so laeuft alles einwandfrei!
Perfekt, ich danke Dir, auch fuer Deine Ausdauer! Und wie so oft, ist die Loesung ganz einfach, man muss nur drauf kommen ;)
Mal gespannt, ob das Prob bei den naechsten Versionen von Win10 geloest wird ...
Viele Gruesse,
Markus X

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bei Userform schliessen Arbeitsblatt wechseln"