Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bei Wert in Zelle Zeilen ausblenden/einblenden

Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 08:53:31
Siggi
Hallo ihr Lieben,
habe ein Problem. Wenn in Zelle A1 ein Wert steht sollen Zeilen automatisch (ohne Nutzung des Macros) ein bzw. ausgeblendet werden.
Das heisst:
Wenn in A1 die Zahl 1 steht sollen die Zeilen 16 bis 50 ausgeblendet sein
Wenn in A1 die Zahl 2 steht sollen die Zeilen 21 bis 50 ausgeblendet sein
Wenn in A1 die Zahl 3 steht sollen die Zeilen 26 bis 50 ausgeblendet sein
wäre euch sehr dankbar, wenn mir jemand helfen könnte.
Danke
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ohne VBA? automatisch geht das dann nicht ...
18.07.2017 09:10:24
...
Hallo Siggi,
... Du müsstest schon mindestens mit dem Autofilter (sieh mal hier: http://www.online-excel.de/excel/singsel.php?f=102) oder mit der Gruppierung (sieh mal hier: http://www.online-excel.de/excel/singsel.php?f=92) arbeiten. Bei ersteren bräuchtest Du noch eine Hilfsspalte mit einer kleinen Formel, wärst damit aber auch etwas flexibler.
Gruß Werner
.. , - ...
Anzeige
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:14:29
Bernd
Hi,
ich weiß das Du es ohne Makro wolltest, nur mal so zum Testen, vielleicht sagt es Dir ja zu:
Option Explicit

Sub ausblenden()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Tabelle1")
With sh
'Alle Zellen wieder einblenden, nur zu Testzwecken
.Cells.EntireRow.Hidden = False
If .Range("A1").Value = "1" Then
.Rows("16:50").EntireRow.Hidden = True
End If
If .Range("A1").Value = "2" Then
.Rows("21:50").EntireRow.Hidden = True
End If
If .Range("A1").Value = "3" Then
.Rows("26:50").EntireRow.Hidden = True
End If
End With
Set sh = Nothing
End Sub
MfG Bernd
Anzeige
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:19:43
Siggi
Das funktioniert perfekt Bernd. Danke vielmals
Kann man evtl das Makro bei einer Veränderung der Zahl automatisch ausführen lassen?
Beste Grüße
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:19:17
Siggi
Das funktioniert perfekt Bernd. Danke vielmals
Kann man evtl das Makro bei einer Veränderung der Zahl automatisch ausführen lassen?
Beste Grüße
Anzeige
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:23:05
Bernd
Hi,
kann man sicher. Ich selbst bin aber leider kein so großer VBA Spezialist.
Auch den vorherigen Code habe ich nur aus dem Netz auf die schnelle zusammen kopiert und etwas verändert, so wie Du wolltest.
Daher lasse ich die Frage mal auf offen,
MfG Bernd
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:32:18
Werner
Hallo Bernd,
der Code gehört ins Codemodul des Arbeitsblattes, auf dem er sich auswriken soll.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Select Case Target.Value
Case 1
Rows.EntireRow.Hidden = False
Rows("16:50").EntireRow.Hidden = True
Case 2
Rows.EntireRow.Hidden = False
Rows("21:50").EntireRow.Hidden = True
Case 3
Rows.EntireRow.Hidden = False
Rows("26:50").EntireRow.Hidden = True
Case Else
Rows.EntireRow.Hidden = False
End Select
End If
End Sub
Gruß Werner
Anzeige
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:36:21
Bernd
Hi Werner,
Danke für die Info. Aber der Fragesteller ist Siggi :-)
MfG Bernd
uuups .... o.w.T.
18.07.2017 09:38:22
Werner
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:34:11
Bernd
Hi,
hab doch noch etwas gefunden:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Tabelle1")
With sh
'Alle Zellen wieder einblenden, nur zu Testzwecken
.Cells.EntireRow.Hidden = False
If .Range("A1").Value = "1" Then
.Rows("16:50").EntireRow.Hidden = True
End If
If .Range("A1").Value = "2" Then
.Rows("21:50").EntireRow.Hidden = True
End If
If .Range("A1").Value = "3" Then
.Rows("26:50").EntireRow.Hidden = True
End If
End With
Set sh = Nothing
End Sub
MfG Bernd
Anzeige
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:48:40
Werner
Hallo Bernd,
das hier
Set sh = ThisWorkbook.Sheets("Tabelle1")
With sh
End With
set sh = Nothing
ist unnötig. Da es sich hier um ein Worksheet_Change Event handelt, wirkt sich der Code auch immer nur auf dem Worksheet auf, in dessen Codemodul sich der Code befindet. Also ist eine Rferenzierung auf das Blatt unnötig. Allerdings müssen dann die Punkte vor den Range Objekten .Range("A1"), .Rows(..) weg.
Gruß Werner
Anzeige
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:51:59
Siggi
Hallo ihr Lieben,
danke für das Feedback - habe das Problem mit einem einfachen Code gelöst
Beste Grüße
Gerne u. Danke für die Rückmeldung. o.w.T.
18.07.2017 09:58:56
Werner
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:57:26
Bernd
Hi Werner,
nochmals Danke für Deine Info. Man(n) lernt immer gerne dazu.
MfG Bernd
Anzeige
Gerne...
18.07.2017 09:58:33
Werner
..ich bin auch noch einer von den "Lernenden" Bernd.
Gruß Werner
AW: Bei Wert in Zelle Zeilen ausblenden/einblenden
18.07.2017 09:43:58
Werner
Hallo Siggi,
nochmal etwas verkürzt (da hat mich Bernd drauf gebracht).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Rows.EntireRow.Hidden = False
Select Case Target.Value
Case 1
Rows("16:50").EntireRow.Hidden = True
Case 2
Rows("21:50").EntireRow.Hidden = True
Case 3
Rows("26:50").EntireRow.Hidden = True
Case Else
End Select
End If
End Sub
Gruß Werner
Anzeige
;

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
Anzeige

Infobox / Tutorial

Zeilen in Excel automatisch ausblenden oder einblenden


Schritt-für-Schritt-Anleitung

Um Zeilen in Excel automatisch auszublenden, wenn in einer bestimmten Zelle (z.B. A1) ein Wert steht, kannst du folgende Schritte befolgen:

  1. Öffne die Excel-Datei und gehe zum entsprechenden Arbeitsblatt.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Klicke auf das Arbeitsblatt, in dem du die Zeilen ausblenden möchtest. Dies ist in der Regel „Tabelle1“ oder ähnlich benannt.

  4. Füge den folgenden Code in das Codemodul ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address(0, 0) = "A1" Then
           Rows.EntireRow.Hidden = False
           Select Case Target.Value
               Case 1
                   Rows("16:50").EntireRow.Hidden = True
               Case 2
                   Rows("21:50").EntireRow.Hidden = True
               Case 3
                   Rows("26:50").EntireRow.Hidden = True
               Case Else
                   ' Keine Aktion
           End Select
       End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Teste die Funktion, indem du in Zelle A1 verschiedene Werte (1, 2 oder 3) eingibst. Die definierten Zeilen sollten entsprechend ausgeblendet werden.


Häufige Fehler und Lösungen

  • Fehler: Zeilen blenden sich nicht aus.

    • Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblattmodul eingefügt wurde.
  • Fehler: Der Code funktioniert nicht, wenn ich die Zahl änder.

    • Lösung: Überprüfe, ob die Worksheet_Change-Ereignisprozedur korrekt eingerichtet ist und keine Fehler im Code vorhanden sind.

Alternative Methoden

Wenn du eine Lösung ohne Makros bevorzugst, kannst du den AutoFilter verwenden:

  1. Wähle die gesamte Tabelle aus.
  2. Gehe zu Daten > Filter > AutoFilter.
  3. Setze eine Filterregel für die Spalte, die die Werte enthält (z.B. A1), und blende Zeilen basierend auf bestimmten Kriterien aus.

Praktische Beispiele

  • Beispiel 1: Wenn in Zelle A1 der Text „Inaktiv“ steht, sollen alle Zeilen mit dem Status „Aktiv“ ausgeblendet werden. Dies könnte durch eine Kombination aus WENN-Formeln und bedingter Formatierung erfolgen.

  • Beispiel 2: Du kannst auch Spalten basierend auf bestimmten Werten ausblenden. Wenn die Werte in Spalte B „Wert1“ sind, kannst du diese Spalten automatisch ausblenden.


Tipps für Profis

  • Nutze Bedingte Formatierung, um Zellen hervorzuheben, bevor du Zeilen ausblendest.
  • Speichere regelmäßig deine Arbeit, besonders wenn du mit VBA arbeitest, da Fehler dazu führen können, dass Excel nicht mehr reagiert.
  • Halte deinen Code sauber und gut kommentiert, um spätere Änderungen zu erleichtern.

FAQ: Häufige Fragen

1. Frage: Wie kann ich #WERT! in Zellen ausblenden?
Antwort: Du kannst eine WENN-Formel verwenden, die überprüft, ob der Wert in der Zelle ein Fehler ist und diesen entsprechend behandelt.

2. Frage: Kann ich auch Zeilen ausblenden, wenn sie leer sind?
Antwort: Ja, das ist möglich. Du kannst eine zusätzliche Bedingung im VBA-Code hinzufügen, die prüft, ob eine Zeile leer ist, bevor sie ausgeblendet wird.

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