Clever-Excel-Forum

Normale Version: Tabllenblätter aus/ einblenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe eine Datei in der es das Arbeitsblatt Overview gibt. Von diesem Blatt ausgehend will ich die anderen Blätter der Datei (es können bis zu 100 Stk. werden) einblenden bzw. ausblenden lassen.

Generell sollen alle Blätter alphabetisch sortiert werden, exklusive dem Overview: dieser soll immer an erster Stelle stehen bleiben.
Im Overview sind in Spalte D die Standorte aufgelistet. die Bezeichnung in Spalte D und die Benennung der Blätter sind gleich. Ziel ist es nun das wenn ich mir z.B. Aachen genauer anschauen mag, ich einfach auf den Standort in der Spalte D klicke und nur das Blatt des Standortes Aachen als Blatt (nebst dem Overview) angezeigt wird und die restlichen Blätter ausgeblendet werden.

Anbei mal eine Beispiel-Datei die das Ganze hoffentlich verständlich macht.

Wäre super dankbar wenn mir jemand dafür was zaubern könnte Blush

Beste Grüße
Leo
Moin

Es gibt fertige Tools/AddIns. Kommen die auch infrage?
Hi Leo

Was fehlt dir den dazu jetzt noch?
https://www.clever-excel-forum.de/Thread...gruppieren

Gruß Elex
Hi Elex,

der Aufbau der Datei musste leider geändert werden..
Die Logik zum letzten Beitrag ist eigentlich gleich geblieben, bis auf die im Beitrag beschriebenen Anforderungen.

Ich müsste eben in der Lage sein nicht mehr alle Standorte zu einem Land über das Blatt Übersicht (wie es damals hieß) mir anzeigen zu lassen sondern nur das Blatt welches ich über die Spalte D ausgewählt habe.
Ich habe tölpelhaft schon versucht den bestehenden Code umzustellen, allerdings ohne Erfolg..

Könntest du mir hier nochmal nachhelfen?

Beste Grüße
Leo

Servus Shift-Del,

eine VBA-Lösung wäre bevorzugt. Aus Interesse aber: welche Tools/ AddIns könnten das denn umsetzen?

Beste Grüße
Leo
Hi

In das Modul vom Blatt Overview.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim BN

For Each BN In Worksheets
  If BN.Name <> "Overview" Then BN.Visible = False
  If BN.Name = Target.Value Then BN.Visible = True
Next BN
Cancel = True
End Sub

Gruß Elex
Hi Elex,

vielen Dank!
Kann ich mir zusätzlich auch wieder alle Blätter anzeigen lassen. z.B. wenn ich in eine andere Zelle doppelklicke als einen in Spalte D vorhandenen Wert?
Super wäre es (wenn das geht) wenn man in Zelle D4 doppelklickt > alle Blätter wieder in alphabetischer Reihenfolge angezeigt zu bekommen

Beste Grüße
Leo 

& nochmals jetzt schon viiiiielen Dank :05:
Zitat:Kann ich mir zusätzlich auch wieder alle Blätter anzeigen lassen.

Meinst du jetzt alle, oder alle unter dieser Überschrift(alle von Spalte D).
Alle von Spalte D (sind alle Blätter) und das Blatt Overview waren gemeint. Wobei der Overview wie gesagt immer an erster Stelle stehen soll auch wenn alphabetisch sortiert wurde
Dann kann man so.


Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ArList As Object, BN As Variant

If Target.Column = 4 Then
    If Target.Row = 1 Then  'alle sortiert Einblenden
       Sheets("Overview").Move Before:=Sheets(1)
       Set ArList = CreateObject("System.Collections.ArrayList")
       For Each BN In Worksheets
          If BN.Name <> "Overview" Then ArList.Add BN.Name
       Next BN
       ArList.Sort
       ArList.Reverse
       For Each BN In ArList
         Sheets(BN).Move Before:=Sheets(2)
         Sheets(BN).Visible = True
       Next BN
       Sheets("Overview").Activate
    Else   'nur das gewählte Einblenden
       For Each BN In Worksheets
         If BN.Name <> "Overview" Then BN.Visible = False
         If BN.Name = Target.Value Then BN.Visible = True
       Next BN
    End If
Cancel = True
End If
End Sub

Klick auf D1 für alle.

Gruß Elex
Ahhhhhh perfekt :05: :05: :05:
Vielen Dankk :17: