Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

Tabellenblatt über Name öffnen

Tabellenblatt über Name öffnen
11.11.2022 17:05:47
curliem
Hallo Zusammen,
vielleicht kann mir wieder jemand helfen.
Ich habe ein Arbeitsblatt mit mehreren Tabellenblättern. Über unten stehendes Makro kann ich über eine Userform gewisse Tabellenblätter in Abhängigkeit vom Inhalt der Zelle "B2" öffnen.
Ich möchte im selben Makro gerne zusätzlich weitere Tabellenblätter öffnen, aber nicht in Abhängigkeit von Zelle "B2", sondern in Abhängigkeit des "Tabellennamens".
Ich hab schon viel rumgebastelt, bin aber nicht zu einer Lösung gekommen. Als Beispiel möchte ich das Tabellenblatt mit dem Namen "Verwaltung" öffnen.
Mein bisheriger Code sieht so aus: Auf das was in bold dabei steht komme ich nicht drauf:

Private Sub cmd_ok2_Click()
Dim i As Long
Application.ScreenUpdating = False
For i = Sheets.Count To 1 Step -1
With Sheets(i)
If .Range("B2") = Date Or _
.Range("B4") = Date
Abfrage: wenn Tabellenblattname = "Verwaltung"Then
.Visible = True
Else
.Visible = xlVeryHidden
End If
End With
Next i
Unload Me
End Sub
Ich freu mich schon auf eure Antworten.
Danke

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt über Name öffnen
11.11.2022 17:09:36
ralf_b
if sheets(i).name = "Verwaltung" then
AW: Tabellenblatt über Name öffnen
11.11.2022 17:13:51
Piet
hallo
so sollte es klappen. freut mich wenn es hinhaut!
mfg Piet
  • 
    Private Sub cmd_ok2_Click()
    Dim i As Long
    Application.ScreenUpdating = False
    For i = Sheets.Count To 1 Step -1
    With Sheets(i)
    If .Range("B2") = Date Or _
    .Range("B4") = Date Or _
    .Name = "Verwaltung" Then
    .Visible = True
    Else
    .Visible = xlVeryHidden
    End If
    End With
    Next i
    Unload Me
    End Sub
    

  • AW: Tabellenblatt über Name öffnen
    11.11.2022 17:23:56
    GerdL
    Hallo C.
    du könntest diese Schleife genauso vorwärts laufen lassen.
    
    Private Sub cmd_ok2_Click()
    Dim i As Long
    Application.ScreenUpdating = False
    For i = Sheets.Count To 1 Step -1
    With Sheets(i)
    If .Range("B2") = Date Or .Range("B4") = Date Then
    .Visible = True
    Else
    Select Case .Name
    Case "Verwaltung", "Verkauf"
    .Visible = True
    End Select
    Else
    .Visible = xlVeryHidden
    End If
    End With
    Next i
    Unload Me
    End Sub
    
    Gruß Gerd
    Anzeige
    AW: Tabellenblatt über Name öffnen
    11.11.2022 17:56:35
    Yal
    Hallo Curliem,
    da die Notwendigkeit "von Hinten" ( = Step -1 ) sich hier nicht erschliessen lässt, schlage ich die Verwendung von eine Objekt-Variable in Kombination mit einem For each auf der Auflistung aller Worksheets.
    
    Private Sub cmd_ok2_Click()
    Dim ws As Worksheet
    Application.ScreenUpdating = False
    For Each ws In Worksheets
    If ws.Range("B2") = Date Or ws.Range("B4") = Date Or ws.Name = "Verwaltung" Then
    ws.Visible = True
    Else
    ws.Visible = xlVeryHidden
    End If
    Next ws
    Unload Me
    Application.ScreenUpdating = True
    End Sub
    
    VG
    Yal
    Anzeige
    AW: Tabellenblatt über Name öffnen
    12.11.2022 12:23:21
    curliem
    Hallo, Ralf, Piet, Gerd und Yal,
    danke für eure schnellen Antworten. Ich hab den Code bereits eingefügt, und alles funktioniert wunderbar. Ich nutze die Variante von Ralf und Piet und lasse die Schleife nun auch vorwärts laufen. Danke dir Gerd und Yal für den Hinweis. Ob ich nun For Each ws in Worksheets(Yal) oder For i = 1 To Sheets.Count nutze bleibt sich wahrscheinlich gleich, oder gibt es hier einen erwähnenswerten Unterschied?
    Die Option von Gerd hat nicht funktioniert. Trotzdem Danke. Das Select Case schau ich mir auch mal näher an. Ist auch eine interessante Funktion.
    Liebe Grüße curliem
    Anzeige
    AW: Tabellenblatt über Name öffnen
    12.11.2022 14:26:21
    Yal
    Hallo Curliem,
    For i = 1 To Worksheets.Count und For each haben die einzige Unterschied, dass bei dem Weg über den Zähler i Du die umgekehrte Reihenfolge einstellen oder die Werte von i selbst verwenden kannst, falls erforderlich.
    VG
    Yal
    AW: Tabellenblatt über Name öffnen
    12.11.2022 15:33:55
    curliem
    Danke Yal

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige