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

Erweiterte Suchfunktion im Arbeitsblatt (VBA?)

Erweiterte Suchfunktion im Arbeitsblatt (VBA?)
20.09.2017 14:48:56
Christian
Hallo Zusammen!
Ich programmiere gerade immer noch fleißig im VBA meine Excel-(Kunden)-Datenbank und scheine nun schlussendlich an den grenzen von Excel angekommen zu sein, auch wenn ich diese in der Vergangenheit auch dank Euch deutlich näher kommen konnte... ;-)
Wie gesagt, ich nutze Excel als Kundendatenbank. Also jeder Kunde hat eine eigene Zeile und in den Spalten finden sich dann Daten wie Name, Adresse, Telefonnummer usw.
Ich nutze den Autofilter um die Spalten nach bestimmten Suchkriterien (z. B. der Name) zu filtern (also ein Filter pro Spalte). Die Filter spreche ich mittels VBA an, da ich für jede Spalte ein "Such-Eingabefeld" habe.
Das funktioniert soweit auch sehr gut.
Jetzt hätte ich aber gerne die "Eierlegendevollmilchsau". Das soll heißen, ich möchte irgendwo auf dem Arbeitsblatt eine Zelle haben, in dem ich einen Wert eintragen kann. Excel soll dann alle Kundenkonten nach diesem Wert durchsuchen, egal in welcher Spalte er steht! Excel sollte dann wenn möglich alle Zeilen bzw. Kundenkonten in denen der Wert nicht (!) gefunden wurde ausblenden und nur noch die Zeilen anzeigen, in denen irgendwo der Wert steht. Jetzt kann es vor kommen, dass es mehre Zeilen mit dem gesuchten Wert gibt (man nehme nur an, ich würde nach dem Namen "Meier" suchen), dann wäre es das I-Tüpfelchen, wenn ich dann den vorhanden Autofilter nutzten könnte und die Suche weiter einzugrenzen.
Wie ich eingangs bemerkt habe, denke ich, dass ich dieses Mal die Grenzen von Excel erreicht habe, aber vielleicht belehrt mich einer von Euch ja auch eines Besseren... ;-)
Gruß
Christian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erweiterte Suchfunktion im Arbeitsblatt (VBA?)
20.09.2017 15:03:18
Robert
Hallo Christian,
mit einer Hilfsspalte ist so was möglich. Angenommen Deine Datenbank geht bis zur Spalte K. Wenn Du dann die Spalte L als Hilfsspalte nimmst, in der Du mit folgender Formel prüfst, ob in irgendeiner Spalte Dein Suchwert steht (für die Zeile 2):
=ZÄHLENWENN(A2:K2;"=*DeinSuchwert*")
bzw., wenn z.B. Dein Suchwert in Zelle P1 eingetragen wird:
=ZÄHLENWENN(A2:K2;"=*"&$P$1&"*")
Dann kannst Du ganz normal den Autofilter verwenden, Wert in der Hilfsspalte größer 0 und ggfs. Deine zusätzlichen Filterungen.
Gruß
Robert
AW: Erweiterte Suchfunktion im Arbeitsblatt (VBA?)
20.09.2017 16:18:21
Hr.Hans-Joachim
Hallo Robert!
Vielen Dank für deine Antwort. Bei der beiliegenden Tabelle habe ich die X schon gesetzt.
Diese sollten aber durch VBA gesetzt werden.
Die Datei selber wird sequentiell abgearbeitet. Es gibt ein Feld mit Abrechnungsmonat und Monat.
Demnach könnten theoretisch in jedem Abrechnungsmonat der Monat 01 stehen!
Vielleicht kann ich mit der nachfolgenden Tabelle die Problematik festhalten!
Monat Abrechnungsmonat
Jan Jan X
Jan Feb X
Jan Mrz X
Jan Apr X
Jan Mai X
Jan Jun X
Jan Jul X
Jan Aug X
Jan Sep X
Jan Okt X
Jan Nov X
Jan Dez Dies ist der letzt gültige Datensatz
Alle anderen Datensätze sollen gelöscht werden
Anzeige
@Hans-Joachim
20.09.2017 16:46:52
Robert
Hallo Hans-Joachim,
ich bin etwas verwirrt. Was hat denn Dein Beitrag mit der Frage von Christian und meiner Antwort darauf zu tun?
Gruß
Robert
AW: @Hans-Joachim
21.09.2017 09:17:39
Hr.Hans-Joachim
Hallo!
Sorry, ich habe mich da vertan!!!!
Hans
AW: @Hans-Joachim
21.09.2017 12:28:18
Christian
Hallo zusammen und Danke für alle, die auf meine Frage ( ;-) ) geantwortet haben.
Ich schaue mir jetzt erstmal Eure Lösungsvorschläge an. Ich hätte nicht gedacht, dass es so einfach seien soll... Manchmal hat man (ich) einfach ein Brett vor dem Kopf...
Gruß
Christian Schmitz
AW: Erweiterte Suchfunktion im Arbeitsblatt (VBA?)
20.09.2017 15:41:38
Peter(silie)
Hallo,
hier eine Beispiel Mappe: https://www.herber.de/bbs/user/116399.xlsm
Das ist ein Quick And Dirty Code...
Ein verweis auf mscorlib wird benötigt!
Anzeige
AW: Erweiterte Suchfunktion im Arbeitsblatt (VBA?)
20.09.2017 16:08:19
Luschi
Hallo Peter(silie),
um den ganzen Verweis-Wirrwar aus dem Wege zu gehen, verwende ich lieber 'late binding':
Dim list_ As Object
Set list_ = CreateObject("System.Collections.ArrayList")
Wenn die Literaturaussagen stimmen, arbeite ich dadurch immer mit der aktuellsten auf diesem PC/Notebook installierten Version.
Gruß von Luschi
aus klein-Paris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige