Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: herrlich12 am Dezember 29, 2015, 21:26:37 Nachmittag
-
Hallo zusammen,
ich bin neu hier und hoffe dass mir jemand weiterhelfen kann.
Ich möchte aufgrund eines Wertes in einer bestimmten Zelle (z.B. A1) alle anderen Zeilen (z.B. ab Zeile3)die
diesen Wert nicht enthalten, ausblenden.
Wie müsste solch ein Macro aussehen? Ich bin was Macros angeht nicht geübt :-(
Für eure Antworten bin ich sehr dankbar.
-
Moin Moin,
muss jeweils die ganze Zeile durchsucht werden oder nur die gleiche Spalte?
Und: Exakte Übereinstimmung oder auch Teile? (A1 = "aus", -> "Haus", "Maus", "ausser", "Aus" (Großschreibung)?
-
Hallo Guenter,
wow das ging ja fix. Es muss nur die erste Spalte mit dem exakten Wert (nur Zahlen) durchsucht werden.
Danke!
-
Moin,
OK, das ist recht einfach. Zugegeben, nicht die schnellste Lösung, dafür aber übersichtlich und gut anpassbar ... ;)
Sub GefundeneZeilenAusblenden()
Dim lRow As Long, Zahl As Variant, c As Range
lRow = Cells(Rows.Count, 1).End(xlUp).Row
'Vorsichtshalber erst einmal alle einblenden
Range("A1:A" & lRow).Rows.Hidden = False
Zahl = Cells(1, 1)
For Each c In Range("A2:A" & lRow)
If c = Zahl Then c.EntireRow.Hidden = True
Next c
End Sub
Der Code gehört in das Modul des Blattes. Erforderlichenfalls findest du hier bei Excel-ist-sexy (http://www.excel-ist-sexy.de/sub-prozedur-einfuegen/) dazu Hilfe.
Guten Rutsch!
-
Hey Günther,
funktioniert super, aber kannst du das bitte noch drehen das nur das angezeigt wird was in ZelleA1 steht und Rest ausgeblendet wird. Momentan wird alles angezeigt, außer das was in der ZelleA1 steht.
Vorab Danke!
-
Moin,
ja klar. War ja auch so beschrieben ... :-[
Sub GefundeneZeilenAusblenden()
Dim lRow As Long, Zahl As Variant, c As Range
lRow = Cells(Rows.Count, 1).End(xlUp).Row
'Vorsichtshalber erst einmal alle einblenden
Range("A1:A" & lRow).Rows.Hidden = False
Zahl = Cells(1, 1)
For Each c In Range("A2:A" & lRow)
If c <> Zahl Then c.EntireRow.Hidden = True
Next c
End Sub
Eine Änderung in der drittletzten Zeile reichte aus.
-
Hey,
jetzt hab ich noch ein Problem.
Wenn die Zeilen dann ausgeblendet sind und ich nach einer anderen Zahl suchen will, kann das Macro diese nicht mehr finden und kannst du bitte auch noch einbauen, wenn das Feld leer ist sollten alle angezeigt werden.
Danke!
Guten Rutsch!
-
Na gut, dann so:
Sub GefundeneZeilenAusblenden()
Dim lRow As Long, Zahl As Variant, c As Range
'Vorsichtshalber erst einmal alle einblenden
Cells.Rows.Hidden = False
lRow = Cells(Rows.Count, 1).End(xlUp).Row
Zahl = Cells(1, 1)
If Zahl <> "" Then
For Each c In Range("A2:A" & lRow)
If c <> Zahl Then c.EntireRow.Hidden = True
Next c
End If
End Sub
-
... perfekt !
Dankeschön