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

Forumthread: Bei Zellwert-Änderung Zeilen einblenden, Teil-Code

Bei Zellwert-Änderung Zeilen einblenden, Teil-Code
09.04.2017 19:14:57
Markus
Hallo,
ich habe in Zelle D1 ein Dropdown und möchte gerne bei Änderung des Zellwerts, d.h. bei einer neuen Auswahl im Dropdown ein Makro ausführen.
Zum Erfassen der Änderung des Zellwerts / Dropdowns verwende ich folgenden Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D1"), Target) Is Nothing Then
' Call Macro
End If
End Sub
Das Makro, dass dabei aufgerufen wird, soll alle Zeilen des Blattes ausblenden (mit Ausnahme von Zeile 1) und nur die Zeilen einblenden, bei denen in Spalte A der gleiche Wert steht, wie in D1.
Wie ich Zeilen aus- bzw. einblende, weiss ich, aber nicht, wie ich das an eine Bedingung knüpfe.
Zum Ein-/Ausblenden würde ich dabei folgendes verwenden:
.EntireRow.Hidden = False
.EntireRow.Hidden = True
Kann mir jemand sagen, wie ich diesen Teil umsetzen kann ?
Vielen Dank für Eure Hilfe.
VG,
Markus
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bei Zellwert-Änderung Zeilen einblenden, Teil-Code
09.04.2017 19:17:08
Hajo_Zi
Hallo Markus,
eine For next schleife in der Du in jeder Zeile Spalte A und D1 vergleichst.

Code
09.04.2017 19:23:41
Hajo_Zi

Option Explicit
Sub Ausblenden()
Dim Loletzte As Long
Dim Loi As Long
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count) + 1
For Loi = 1 To Loletzte
Rows(Loi).EntireRow.Hidden = Cells(Loi, 1) = Range("D1")
Next Loi
End Sub

Gruß Hajo
Anzeige
AW: Bei Zellwert-Änderung Zeilen einblenden, Teil-Code
09.04.2017 19:24:12
Markus
Hallo Hajo,
danke dafür.
Das Prüfen würde dann wahrscheinlich so in der Art gehen, das stimmt aber noch nicht ganz und ich weiss leider nicht, wie ich durch alle Zeilen loope, bis der letzte Eintrag erreicht ist (es gibt auch dazwischen leere Zeilen):
If .Cells(Row(), 1).Value = Worksheets(3).Range("D1").Value Then
.EntireRow.Hidden = False
Else
.EntireRow.Hidden = True
End If
VG,
Markus
Anzeige
AW: code
09.04.2017 19:35:58
Markus
Vielen Dank, Hajo - das stimmt.
Der Code funktioniert bei mir leider nicht. Er lädt sehr lange, es ändert sich aber nichts.
Ich habe mich jetzt entschieden, statt dem Ausblenden einen Filter zu nutzen - das geht in diesem Fall schneller.
Trotzdem vielen Dank für die schnelle Hilfe !
VG und einen schönen Abend,
Markus
Anzeige
AW: code
09.04.2017 19:37:50
Hajo_Zi
Hallo Markus,
ich schaue nicht auf fremde Rechner und sehe darum Deine Datei nicht.
In meiner Datei läuft er Fehlerfrei.
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