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

Forumthread: Zeilen ausblenden bei bestimmten Werten

Zeilen ausblenden bei bestimmten Werten
08.08.2019 23:00:28
Excel_Dummy
Hallo zusammen :o)
Ich habe eine Exceldatei mit einem Tabellenblatt "Übersicht" und viele dazugehörige einzelne Tabellenblätter.
Folgenden Code habe ich bereits, der auch perfekt funktioniert:
--- Überträge die Namen der Tabellenblätter ab dem 6 Tabellenblatt in das Übersichtsblatt als _
Liste ---

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim lngWorksheets As Long 'Worksheets sind nur Tabellenblätter
Dim i As Long
lngWorksheets = ThisWorkbook.Worksheets.Count
ThisWorkbook.Sheets("Übersicht").Range("A11:A100000").ClearContents
For i = 6 To lngWorksheets
--- Fügt für jeden im Tabellenblatt Übersicht angelegten Eintrag einen Hyperlink zum jeweiligen  _
_
_
_
Tabellenblatt an ---
ThisWorkbook.Sheets("Übersicht").Hyperlinks.Add Anchor:=ThisWorkbook.Sheets("Übersicht").Cells(  _
_
_
_
11 + (i - 6), 1), Address:="", SubAddress:= _
"'" & ThisWorkbook.Worksheets(i).Name & "'!A1", TextToDisplay:=ThisWorkbook.Worksheets(i) _
_
_
_
.Name
Next i
-- Blendet alle Arbeitsblätter aus, die im Status "Change abgenommen" stehen haben ---
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
If wks.Cells(3, 5) = "Change abgenommen" Then
wks.Visible = xlSheetHidden
Else
wks.Visible = xlSheetVisible
End If
Next
End Sub

---
Nun möchte ich gerne noch erreichen, dass im Tabellenblatt "Übersicht", wo ja die Namen der Tabellenblätter aufgelistet sind, ebenfalls die jeweilige Zeile nur dann angezeigt wird, wenn das Tabellenblatt auch eingeblendet ist. Daher wurde ich gerne den ersten Code so modifizieren, dass nur eingeblendete Tabellenblätter aufgelistet werden.
Ich habe null Ahnung von VBA und bisher alles nur zusammenkopiert. Daher freue ich mich sehr über eine Lösung für mein "Problemchen".
Danke und eine gute Nacht :))
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ausblenden bei bestimmten Werten
09.08.2019 06:50:23
Hajo_Zi
For i = 6 To lngWorksheets
if ThisWorkbook.Worksheets(i)=xlSheetVisible then
End If
Next I
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Zeilen ausblenden bei bestimmten Werten
09.08.2019 13:16:49
Excel_Dummy
Hallo 😀 Das hilft mir leider noch nicht weiter.
Ich versuche es noch mal anders zu erklären.
Es gibt ein Tabellenblatt „Übersicht“.
Dort stehen in der Spalte A alle Namen der in der Exceldatei vorhandenen Arbeitsblätter.
Nun soll folgendes passieren.
Wenn ein Tabellenblatt ausgeblendet wird, so soll auch die Zeile in der Tabelle Übersicht ausgeblendet werden, wo wie erwähnt der Name des Tabellenblatts aufgelistet ist.
Hat noch jemand eine Idee?
Danke und liebe Grüße
Anzeige
Wenn Hajo "live" schreibt (wie er..
09.08.2019 15:30:55
{Boris}
Hi,
...es selbst immer nennt), dann steht ihm die Intellisense natürlich nicht zur Verfügung, was dann mitunter zu fehlerhaftem (Antwort-)code führt.
Korrekt geschrieben muss es heißen:

For i = 6 To lngWorksheets
If ThisWorkbook.Worksheets(i).Visible Then
'hier der bisherige Code
End If
Next i
VG, Boris
Anzeige
AW: Wenn Hajo "live" schreibt (wie er..
09.08.2019 20:55:55
Excel_Dummy
Hallo Boris,
ich habe deinen Vorschlag mal getestet. Vielen Dank erst mal dafür! :o)
So richtig ist es noch nicht wie ich es brauche. Die Daten sollen weiterhin da sein, nur ausgeblendet.
Daher würde ich hier an diesem Stückchen Code ansetzen wollen:
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
If wks.Cells(3, 5) = "erledigt" Then
wks.Visible = xlSheetHidden
Else
wks.Visible = xlSheetVisible
End If
Next
Dort müsste man irgendwie formulieren, dass wenn das Tabellenblatt den Status erledigt hat, dass nicht nur das Tabellenblatt selbst, sondern auch die Zeile im Tabellenblatt Übersicht ausgeblendet wird, wo in Spalte A der Name des so eben ausgeblendeten Tabellenblatts auftaucht.
Hier nun mal eine Beispieldatei mit dem Code.
https://www.herber.de/bbs/user/131362.xlsx
Vielen lieben Dank für eure Unterstützung. :-)))
Anzeige
Die Antwort kann immer nur...
10.08.2019 00:28:15
{Boris}
Hi,
...so gut ein wie die Frage. Du hattest geschrieben:
daher wurde ich gerne den ersten Code so modifizieren, dass nur eingeblendete Tabellenblätter aufgelistet werden.
Du hättest schreiben sollen: ...dass alle Blätter aufgelistet werden sollen, aber die Zeilen mit den ausgeblendeten Blattnamen ebenfalls ausgeblendet werden sollen.
Daher nur folgende Ergänzung im Code:

ThisWorkbook.Sheets("Übersicht").Hyperlinks.Add Anchor:=ThisWorkbook.Sheets("Übersicht").Cells( _
11 + (i - 6), 1), Address:="", SubAddress:= _
"'" & ThisWorkbook.Worksheets(i).Name & "'!A1", TextToDisplay:=ThisWorkbook. _
Worksheets(i).Name
 ThisWorkbook.Sheets("Übersicht").Rows(11 + i - 6).Hidden = Not Worksheets(i).Visible
Next i
VG, Boris
Anzeige
AW: Die Antwort kann immer nur...
10.08.2019 12:55:09
Excel_Dummy
Hallo Boris,
vielen Dank, so wollte ich es haben.
Schönes Wochenende! 😃
AW: Hajo schreibt
10.08.2019 07:44:37
Hajo_Zi
eine XLSX Datei kann kein Makro enthalten.
Gruß Hajo
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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