Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1660to1664
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

Zeile in allen Tabellenblättern ausblenden

Zeile in allen Tabellenblättern ausblenden
20.12.2018 09:38:49
Thomas
Servus Zusammen,
ich bräuchte bitte eine Lösung für folgendes Problem.
Wenn in den Zellen ("K7:K22") eine 0 berechnet wird, soll in allen Tabellenblättern die jeweilige Zeile ausgeblendet werden.
Hab schon so ziemlich alles probiert und komme leider auf keine Lösung.
Meine VBA Kentnisse sind dafür leider viel zu schwach.
Danke schon mal für eure Bemühungen.
Schöne Grüße
Thomas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 10:29:21
Nepumuk
Hallo Thomas,
wie wird der Bereich K7:K22 berechnet und in welcher Tabelle (die aktive, in irgendeiner, in einer bestimmten)?
Gruß
Nepumuk
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 11:21:01
Thomas
Hallo Nepumuk,
es wird in der Zelle K... die Summe berechnet aus den Spalten B-I(=SUMME(B7:I7)).
Auf dem ersten Tabellenblatt.
Es soll dann beim Wert 0 die ganze Zeile auf diesem und 7 weiteren Tabellenblättern ausgeblendet werden.
Schöne Grüße
Thomas
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 11:53:48
Nepumuk
Hallo Thomas,
ich bin etwas verwirrt. In deinem Eingangspost war die Rede von Zeile 7 bis 22. Ich habe es jetzt mal auf diese Zeilen ausgelegt:
Option Explicit

Private Sub Worksheet_Calculate()
    Dim ablnRowHidden(7 To 22) As Boolean
    Dim lngRowHidden As Long
    Dim objWorksheet As Worksheet
    For lngRowHidden = 7 To 22
        ablnRowHidden(lngRowHidden) = Application.Sum( _
            Range(Cells(lngRowHidden, 8), Cells(lngRowHidden, 9))) = 0
    Next
    For Each objWorksheet In ThisWorkbook.Worksheets
        For lngRowHidden = 7 To 22
            objWorksheet.Rows(lngRowHidden).Hidden = ablnRowHidden(lngRowHidden)
        Next
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 12:53:14
Thomas
Hallo Nepumuk,
wahrscheinlich hab ich mich da beim ersten mal etwas undeutlich ausgedrückt.
Ich beschreib es mal etwas genauer.
Ich habe ein Sheet mit dem Namen "Teilnehmer"
In dem lasse ich in jeder Zeile (7-22) die Spalten B-I(=SUMME(B7:I7))in der jeweiligen Zelle (K7-K22) zusammenrechen.
Wenn da 0 rauskommt dann soll die jeweilige Zeile ausgeblendet werden.
Und das eben dann auch auf den anderen Sheets
-"Abrechnung"
-"Geld ausgelegt"
-"Essen"
-"Übernachtungen"
-"Getränke"
-"Rücknahme"
-"Info"
Dein Makro sagt mir zur Zeit, dass es in der Arbeitsmappe nicht verfügbar ist.
Tut mir leid, dass ich solche Umstände mache.
Schöne Grüße
Thomas
Anzeige
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 14:23:00
Nepumuk
Hallo Thomas,
kein Problem.
Einen Rechtsklick auf den Tabellenreiter der Tabelle "Teilnehmer" - Code anzeigen. In das sich öffnende Codefenster den folgenden Code kopieren:
Option Explicit

Private Sub Worksheet_Calculate()
    Dim ablnRowHidden(7 To 22) As Boolean
    Dim lngRowHidden As Long
    Dim vntWorksheetname As Variant
    For lngRowHidden = 7 To 22
        ablnRowHidden(lngRowHidden) = Cells(lngRowHidden, 11).Value = 0
    Next
    For Each vntWorksheetname In Array("Abrechnung", "Geld ausgelegt", "Essen", _
            "Übernachtungen", "Getränke", "Rücknahme", "Info")
        With ThisWorkbook.Worksheets(vntWorksheetname)
            For lngRowHidden = 7 To 22
                .Rows(lngRowHidden).Hidden = ablnRowHidden(lngRowHidden)
            Next
        End With
    Next
End Sub

Das Makro reagiert auf die Neuberechnung einer Formel in der Tabelle. Dazu einfach einen Wert in den Zellen B7 bis I22 anklicken, mit F2 in den Editiermodus gehen und Enter drücken.
Ich frage mich nur, wie willst du die Werte in den ausgeblendeten Zeilen ändern damit sie wieder eingeblendet werden? Oder sind das auch Formeln?
Gruß
Nepumuk
Anzeige
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 15:21:26
Thomas
Hallo Nepumuk,
das ist eine gute Frage. :-)
Es wäre super, wenn es möglich wäre, dass sobald in der Zelle ein anderer Wert wie 0 auftaucht die Zeilen wieder eingeblendet werden.
Im Moment blendet das Makro bei einmal laufen lassen alle Zeilen auf den Tabellen Abrechnung bis Info aus, nur die Zeile 7 bleibt sichtbar. Egal ob 0 oder ein anderer Wert in der Zelle stehen.
auf der Teilnehmer Tabelle bleiben sie aber immer sichtbar.
Woran könnte das liegen?
Gruß
Thomas
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 15:25:57
Thomas
Ich nochmal, hatte einen Fehler in meiner Tabelle.
Das Makro macht genau das was ich brauche. Perfekt!
Super, danke Dir
Gruß
Thomas
Anzeige
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 15:27:32
Nepumuk
Hallo Thomas,
das Makro prüft den Wert in Zelle K7-K22 (Spalte 11) ob sie den Wert 0 enthalten. Wenn ja, dann wird die entsprechende Zelle ausgeblendet. Ändert sich der Wert auf ungleich 0 dann wird sie wieder eingeblendet.
Wenn das bei dir nicht klappt, dann lade mal eine Beispielmappe mit der Tabelle "Teilnehmer" hoch.
Gruß
Nepumuk
AW: Zeile in allen Tabellenblättern ausblenden
20.12.2018 15:39:22
Thomas
Hallo Nepumuk,
ja, es funktioniert jetzt super, ich hatte einen Fehler in meiner Tabelle! Sorry!!!
Danke dir für die super schnelle Hilfe.
Schöne Grüße
Thomas

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige