Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblätter automatisch schließen

Tabellenblätter automatisch schließen
20.10.2023 23:22:07
Hide Seek
Hallo zusammen,

ich möchte gerne von einer Startseite auf ausgeblendete Tabellenblätter zugreifen. Und wenn sich dann das Tabellenblatt öffnet, und ich wieder auf Blatt "Startseite" klicke, dann soll sich das zuvor geöffnete Blatt wieder schließen.

Ich habe von chatgpt diesen Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim ws As Worksheet
Dim TargetSheetName As String

' Das Tabellenblatt, das immer geöffnet bleiben soll (hier "Startseite" genannt)
TargetSheetName = "Startseite"

' Überprüfen, ob das aktivierte Blatt nicht das "Startseite"-Tabellenblatt ist
If Sh.Name > TargetSheetName Then
' Schließen Sie alle anderen Tabellenblätter
For Each ws In ThisWorkbook.Sheets
If ws.Name > Sh.Name And ws.Name > TargetSheetName Then
ws.Visible = xlSheetHidden
End If
Next ws
End If
End Sub

Aber es geht nicht. Habe verschieden Optionen durchprobiert, aber entweder schließen sich alle Blätter außer das aktive, oder eben keins.
Ich arbeite mit excel 365 auf MacOS.

Vielleicht kann mir jemand helfen.
LG
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter automatisch schließen
20.10.2023 23:40:03
Piet
Hallo

schau dir bitte deinen Code einmal genau an. Fällt dir dabei etwas auf (was ich sehe)
Du hast zwar eine If Anweisung mit Sh.Name, aber nirgendwo ist Sh als Objekt deklariert!
Ersetze doch Sh.Name einfach mal durch AktiveSheet.Name, dann sollte es klappen.

mfg Piet
Anzeige
AW: Tabellenblätter automatisch schließen
20.10.2023 23:58:28
Hide Seek
Hallo,
danke für die schnelle Antwort.

Ich habe leider keine Ahnung was ich ersetzen soll.
Der Code stammt ja von chatgpt ;)
Also du meinst jedes sh.name durch Aktive.name oder ist das die Variable für "Startseite"?
AW: Tabellenblätter automatisch schließen
21.10.2023 00:11:11
onur
Der ganze Code gehört in die "Sub Workbook_SheetDeactivate" und nicht "Sub Workbook_SheetActivate", denn:
Wenn alle Blättter (ausser Startseite) versteckt sind, wie willst du sie denn aktivieren können?
Ausserdem: Sh braucht nicht nochmal deklariert werden, dass wird schon durch "ByVal Sh As Object" erledigt.
Anzeige
AW: Tabellenblätter automatisch schließen
21.10.2023 00:40:09
Hide Seek
also wenn ich Deactivate schreibe, dann geht es gar nicht mehr.
AW: Tabellenblätter automatisch schließen
21.10.2023 00:41:57
onur
Wenn alle Blätter ausgeblendet sind, wie öffnest du denn eins davon?
AW: Tabellenblätter automatisch schließen
21.10.2023 01:36:31
Hide Seek
Ja genauso meinte ich das.
Wenn ich das in einer neuen Mappe "nachbaue" funktioniert es ohne Probleme.
Aber in meinem vorhandenen Projekt irgendwie nicht.
Überlagern sich vielleicht Prozesse?
Naja danke trotzdem :-)
AW: Tabellenblätter automatisch schließen
21.10.2023 01:39:23
onur
"Aber in meinem vorhandenen Projekt irgendwie nicht. " - wahrscheinlich Problem mit anderen Makros aus deinen früheren Versuchen, die du aber noch nicht gelöscht hast.
Anzeige
AW: Tabellenblätter automatisch schließen
21.10.2023 19:04:15
Piet
Hallo

läuft deine Datei jetzt, oder brauchst du noch Hilfe. Falls ja, lade dir bitte meine Beispieldatei herunter.
Tabellenblatt mit externer Datei verknüpfen - Jenny333 20.10.2023 18:41:36
In diesem Thread findest du eine Datei zum auflisten aller Makrocodes.

Du musst nur deinen Ordnerpfad in Zelle C1 eingeben, in Zelle F2 das Ja löschen, und den Cursor auf die Datei setzen, die du auflisten willst.
Dann kannst du uns das Blatt hochladen, und wir sehen alle Makrocodes die in deiner Datei vorhanden sind.

mfg Piet

Anzeige
AW: Tabellenblätter automatisch schließen
21.10.2023 19:42:56
Hide Seek
Also ich habe die Startseite komplett gelöscht und nochmal neu erstellt und jetzt funktioniert es mit dem code von Onur. Ich weiß alelrdings nicht wo genau das Problem vorher war
Ganz lieben Dank nochmal. :-)
Gerne !
21.10.2023 19:46:31
onur
Vermutlich hattest du das Sheet_Change des Workbook UND das Change-Event des Blattes benutzt (oder Sheet_Activate o.Ä.) , die sich dann natürlich in die Quere kamen.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige