Bin bisher ein begeisteter passiver Teilnehmer in eurem Forum und habe dadurch auch schon sehr viel Hilfe erfahren.
Bei einem Problem komme ich aber leider nicht mehr weiter:
Ich rufe auf einem Tabellenblatt mit dem "SelectionChange" Ereignis eine Userform auf (wenn man in einem bestimmten Bereich klickt), die ich ungebunden öffnen lasse. Dadurch ist die weitere Bearbeitung und Navigation im Tabellenblatt möglich, was ich auch zulassen möchte. Beim Auswählen verschiedener Parameter auf dem Userform, starte ich dann ein Makro, welches auf Daten zweier anderer Tabellenblätter zugreift, die vorher ausgeblendet waren. Diese lasse ich einblenden, um so die dort vorhandenen Daten abzurufen. Danach werden die beiden Tabellenblätter vor Beenden des Makros wieder ausgeblendet.
Ich möchte aber nun erreichen, wenn der User manuell auf ein anderes (sichtbares) Tabellenblatt wechselt, dass die Userform geschlossen (nicht "Hide") wird. Da ich aber, wie vorher angeführt, mit Makros zwischen ausgeblendeten Tabellenblätter hin und her wechsle, kann ich auch am "Arbeits-Tabellenblatt" unter "Worksheet_Deactivate" die Userform nicht schließen lassen. An und für sich erschien es mir zuerst einfach, da ich beim Wechsel auf das andere Tabellenblatt unter "Worksheet_Activate" das Userform mit "Unload Userform1" wieder geschlossen habe. Funktionierte auch prima, aber wenn das Userform vorher nicht geöffnet war und ich auf dieses andere Tabellenblatt gewechselt habe, kam ein Laufzeitfehler ("Objektvariable oder With-Blockvariable nicht festgelegt"). Ich habe probiert, dies mit "If Userform1.visible=true then Unload Userform1 Else Exit Sub") zu umgehen, aber die Fehlermeldung kam trotzdem.
Hat vielleicht jemand eine Lösung dafür?
mfg
Peter