Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1380to1384
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
Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 12:23:23
MichaelF
Hallo,
ich habe leider nur wenige VBA-Kenntnisse und mir den folgenden Quellcode aus unterschiedlichen Beiträgen zusammengesetzt. Funktioniert soweit auch, bis auf dass mein Ergebniss genau anders herum ausgegeben werden soll.
Quellcode:
Sub Filtern()
Dim Zelle As Range
Dim Suchen As String
Suchen = InputBox("Bitte Filterkriterium eingeben?", "Filtern")
Application.ScreenUpdating = False
For Each Zelle In ActiveSheet.UsedRange
If Zelle.Value = Suchen And Rows(Zelle.Row).Hidden = False _
Then Rows(Zelle.Row).Hidden = True
Next Zelle
Application.ScreenUpdating = True
End Sub
Ich habe eine Tabelle über mehrere Spalten und Zeilen, bei welcher nach Eingabe eines Suchkriteriums (SK) entsprechende Zeilen, in welcher dieses SK vorhanden ist, gefiltert werden sollen, sprich, die anderen Zellen sollen ausgeblendet werden.
Das Makro funktioniert soweit, nur werden hier die Zeilen mit passendem Suchkriterium ausgeblendet (es soll eben genau andersherum).
Zunächst dachte ich, es ließe sich lösen durch einfachen tausch des Operators = gegen . Funktioniert aber nicht, da von Zelle zu Zelle gesucht wird. Wird das SK in einer Zeile gefunden, wird nicht automatisch in die nächste Zeile gesprungen, sondern in dieser weitergesucht und sobald das SK nicht mehr vorliegt die Zeile ausgeblendet.
Vielleicht kann mir jemand weiterhelfen?
Danke!

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 12:36:13
yummi
Hallo Michael,
wenn ich dich richtig verstanden habe, dann so

For Each Zelle In ActiveSheet.UsedRange
If Zelle.Value = Suchen And Rows(Zelle.Row).Hidden = True _
Then Rows(Zelle.Row).Hidden = false
else
Rows(Zelle.Row).Hidden = True
Next Zelle
Gruß
yummi

AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 12:49:53
MichaelF
Danke yummi, nur bekomme ich Fehler beim kompilieren, else ohne if.
Und es müsste anstelle = gesetzt werden?

AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 13:18:43
yummi
Hallo Michael

For Each Zelle In ActiveSheet.UsedRange
If Zelle.Value = Suchen And Rows(Zelle.Row).Hidden = True Then
Rows(Zelle.Row).Hidden = false
else
Rows(Zelle.Row).Hidden = True
Next Zelle
so müsste der kompilierfehler weg sein.
Das Makro müsste jetzt (ungetestet) folgendes liefern
wenn dein Suchbegriff gefunden wurde, dann wird die Zelle angezeigt bzw wenn versteckt wird sie angezeigt
wenn die Zelle ungleich deinem Suchbegriff wird sie versteckt.
So habe ich dich zumindest verstanden.
Gruß
yummi

Anzeige
AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 13:23:08
MichaelF
Leider kommt jetzt Fehler beim Kompilieren next ohne for.
2 Beiträge zuvor findest du eine Bespieldatei, vielleicht hilft die zum Verständnis und Testen.

AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 13:19:38
MichaelF
Ich habe einmal eine Beispieldatei erzeugt.
Filtert man nach "AA" werden alle Zeilen mit "AA" ausgeblendet.
Ich benötige es jedoch genau anders herum.
Datei:

Die Datei https://www.herber.de/bbs/user/92544.xlsm wurde aus Datenschutzgründen gelöscht


AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 13:39:25
yummi
Hallo Michael,
so wie du es hattest, hast du die die Zeile immer wieder versteckt, wenn du nach der Zelle mit AA noch eine Zelle ohne AA gefunden hast.
Ich hab es etwas umgestellt.

Die Datei https://www.herber.de/bbs/user/92545.xlsm wurde aus Datenschutzgründen gelöscht


Gruß
yummi

Anzeige
AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 13:48:57
MichaelF
:o)
Ja, das Problem hatte ich so auch erkannt, aber leider nicht das Wissen, dieses zu beheben.
Vielen Dank!!!, so funktioniert es.
In diesem Zusammenhang jedoch noch 2 Fragen:
- Bestünde noch die Möglichkeit, Groß-/Kleinschreibung zu ignorieren?
- Nicht nur den exakten Suchbegriff zu filtern (Wildcards), zB. als Suchkriterium nicht AA sondern nur A und es werden alle Zeilen mit A* gefiltert?

AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 13:56:09
yummi
Hallo Michael,
1.Fall: If UCase(ActiveSheet.Cells(i, j).Value) = UCase(Suchen) Then
2.Fall: if InStr(1,UCase(ActiveSheet.Cells(i, j).Value),UCase(Suchen)) 0 Then
Gruß
yummi

Anzeige
AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 14:01:36
MichaelF
Sehr geil! Vielen vielen Dank :o)
Jetzt muss es nur noch in meiner richtigen Tabelle funktionieren.

AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 14:35:41
MichaelF
Hab jetzt ein wenig probiert, leider funktioniert es, für mich nicht nachvollziehbar, unter gewissen Umständen nicht.
https://www.herber.de/bbs/user/92548.xlsm
Filtert man nach "fg", "l" oder "On" kommt ein falsches Ergebnis zustande.
Eine Idee, wieso?

AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 14:46:29
MichaelF
Offen markiert vergessen zu klicken, sry.

kleiner Fehler :-)
09.09.2014 14:59:54
yummi
Hallo Michael,
mach mal bitte so rum ;-) dann stimmt auch der Name

iletzteSpalte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
lletzteZeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Gruß
yummi

Anzeige
AW: kleiner Fehler :-)
09.09.2014 15:21:55
MichaelF
YES. Funktioniert. Nochmal besten Dank!

AW: Zeilen durch Suchkriterium mit Makro ausblenden
09.09.2014 14:55:41
yummi
Hallo Michael,
ich bin davon ausgegangen dass du eine "vernünftige" Tabelle hast und nicht die WErte wild verteilt sind
Ändere mal:

iletzteSpalte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
'iletzteSpalte = ActiveSheet.Cells(4, 256).End(xlToLeft).Column
Dann sucht er die letzte Splate nicht nur in Zeile 4
Gruß
yummi

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige