Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige