Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
712to716
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
712to716
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellen selektiv einblenden

Tabellen selektiv einblenden
31.12.2005 01:12:22
Peter
Guten Tag
Ich habe eine Tabelle mit je einem Sheet pro Tag (=366 Tabellen), mit dem Format "MMTT"
sowie vorangestellt 3 weitere Tabellen und am Schluss weitere 4 Tabellen (insgesammt 373 Tabellen).
Mein Wunsch war, dass immer die aktuelle Datei das Tages, sowie die 3 vorangestellten und die 4 Tabellen am Schluss eingeblendet sind, wenn nicht sowieso alle eingeblendet sind.
In diesem Forum hat mir jemand (finde leider den Beitrag nicht mehr) mit nachfolgendem Code geholfen (ursprünglich waren am Schluss nur 3 allgemeine Tabellen vorhanden).
Das hast wunderbar geklappt, bis ich hinten eine 4 Tabelle eingefügt habe - vielleicht hat es auch damit zu tun, dass die Tabelle "3112" auch ziemlich am Schluss erscheint.
Aufjeden Fall bewirkt nachfolgender Code heute, dass vorne - wie gewünscht 3 Tabellen angezeigt werden und hinten nur 2 (mit der Tabelle "3112" zusammen 6 Files.
Wie muss der Code verändert werden, dass auch heute die 4 letzten Tabellen angezeigt werden?
Ich war versucht, bei
Case 1 To 3, Worksheets.Count, Worksheets.Count - 2, Worksheets(aktuell).Index
Count - 2 auf Count - 4 abzuändern. Doch dann werden insgesamt nur 4 Tabellen angezeigt.
Danke fürs Feedback.
Peter

Sub ausBlenden()
Dim wks As Worksheet, aktuell As String
Application.ScreenUpdating = False
For Each wks In Worksheets
wks.Visible = True
Next wks
aktuell = Format(Month(Date), "00") & Format(Day(Date), "00")
On Error Resume Next
Sheets(aktuell).Activate
If Err.Number <> 0 Then
MsgBox " Es gibt noch kein Blatt mit dem Datum von heute ! Gesuchtes Sheet = " & aktuell, vbCritical
Exit Sub
End If
On Error GoTo 0
For Each wks In Worksheets
Select Case wks.Index
Case 1 To 3, Worksheets.Count, Worksheets.Count - 2, Worksheets(aktuell).Index
wks.Visible = xlSheetVisible
Case Else
wks.Visible = xlSheetHidden
End Select
Next wks
Application.ScreenUpdating = True
End Sub


Sub einBlenden()
Application.ScreenUpdating = False
Dim wks As Worksheet, aktuell As String
Application.ScreenUpdating = False
For Each wks In Worksheets
wks.Visible = True
Next wks
Application.ScreenUpdating = True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen selektiv einblenden
31.12.2005 12:29:24
Reinhard
Hi Peter,
Sub Einige()
Dim wks As Worksheet, n As Byte, ein
Application.ScreenUpdating = False
For Each wks In Worksheets
wks.Visible = False
Next wks
ein = Array("Tab1", "Tab2", "Tab3", "Tabw", "Tabx", "Taby", "Tabz")
ein(0) = Format(Month(Date), "00") & Format(Day(Date), "00")
For n = 0 To UBound(ein)
Worksheets(ein(n)).Visible = True
Next n
Application.ScreenUpdating = True
End Sub
Sub Alle()
For Each wks In Worksheets
wks.Visible = True
Next wks
End Sub

Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: Tabellen selektiv einblenden
31.12.2005 16:45:24
Peter
Hallo Reinhard
Hallo Forum
Vielen Dank für deine Hilfe.
Der Sub Einige () kann nicht ganz abgearbeitet werden und dies aus folgendem Grund:
mit der Schlaufe
For Each wks In Worksheets
wks.Visible = False
Next wks
werden vorerst alle Worksheets ausgeblendet. Das ist jedoch nicht möglich, weil mindestens ein Worksheet immer sichtbar bleiben muss.
Deshlb muss vielleicht doch mit Select Case wks.Index gearbeitet werden - wenn ich nur wüsste wie. Ich würde mich an sich auch gerne in "select case" einarbeiten, wenn ich nur wüsste, wo dies verständlich erklärt wird.
So oder so bin ich dankbar, wenn mir jemand bei diesem Problem weiterhelfen kann.
Nochmals kurz die ungelöste Fragestellung:
Das Workbook besteht aus folgenden Worksheets:
Am Anfang drei mit einem beliebigen Namen
dann 366 Sheets mit den Namen MonatTag (immer vierstellig): 0101, 0102, 0103, ... 1230, 1231
Am Schluss vier mit einem beliebigen Namen.
Eingeblendet werden sollen die ersten drei und die letzten vier, sowie jeweils der aktuelle Tag.
Für weitere Lösungsvorschläge bin ich dankbar.
Gruss, Peter
Anzeige
AW: Tabellen selektiv einblenden
31.12.2005 17:22:41
Reinhard
Hi Peter,

For Each wks In Worksheets
If wks.Name <> "Tab1" Then wks.Visible = False
Next wks
ein = Array("Tab2", "Tab3", "Tabw", "Tabx", "Taby", "Tabz")
oder deiner Idee folgend
For Each wks In Worksheets
Select Case wks.Index
Case 1 To 3, 367 To 371
wks.Visible = True
Case Else
wks.Visible = False
End Select
Next wks

Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: Tabellen selektiv einblenden
31.12.2005 17:31:45
Peter
Hallo Reinhard
Mit diesem Beitrag sollte ich zum Ziel kommen - werde im neuen Jahr nochmals ein Feedback geben.
Danke für die Unterstützung und alles Gute fürs neue Jahr!
Gruss, Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige