VBA: Excel-Zeilen mit Suchtext automatisch markieren

Von: Lorenz Hölscher
Stand: 6. September 2010
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Lorenz Hölscher

bild80517

Lorenz Hölscher ist freiberuflicher Dozent, Berater und Programmierer mit Schwerpunkt Anwendungs-Programmierung. Vorrangig widmet er sich Access, Word und Excel sowie begleitenden grafischen Arbeiten. Er legt viel Wert auf benutzerfreundliche Oberflächen und ordentliches Design in Optik und Programmierung. Zu Hilfe kommen ihm da seine langjährigen "branchenfremden" Erfahrungen als Architekt, Layouter und Designer.

Lorenz Hölscher bietet eigene Hilfeseiten an und hat bei Microsoft Press mehrere Bücher veröffentlicht zu Access 2007, Access 2007 VBA, Word 2007 VBA und Access 2010.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

Es kommt immer mal wieder vor, dass Sie in einer Excel-Liste mehrere Zeilen mit bestimmten Inhalten markieren möchten. Manchmal können Sie dazu die passenden Spalten sortieren, sodass alle gesuchten Zeilen untereinander liegen, oft aber eben auch nicht. Lorenz Hölscher stellt ein praktisches Makro vor, welches die Zeilen mit den Treffern markiert und dabei den Umgang mit Range-Objekten vorführt.

Beispieltabelle erstellen

Ausgangspunkt für dieses Makro ist eine Tabelle mit völlig beliebigem Inhalt in Listenform. Hier ist es einfach eine Auflistung der verschiedenen Weltwunder:

Bild vergrößernEine beliebige Liste in Excel

Größe und Inhalt der Liste sind frei veränderbar, denn das Makro betrachtet später nur die markierten Zellen. So entscheiden Sie auch, ob eine eventuelle Titelzeile mitberücksichtigt werden soll.

Grundlagen der VBA-Programmierung

Für eine Einführung in die VBA-Programmierung lesen Sie am besten den Beitrag "Wie programmiert man eigentlich ein Makro?"

Makro erstellen

Das Makro arbeitet mit mehreren Bereichen (Range-Objekten in VBA), die als Variablen bereitgehalten werden müssen:

  • rngDieseZelle ist ein Bereich, der genau die eine jeweils zu prüfende Zelle enthält.

  • rngSuchen entspricht der Markierung Selection.

  • rngMerken sammelt die Trefferzeilen in einer Mehrfachmarkierung.

Eine For Each/Next-Schleife (siehe Beitrag "For Each - Next") untersucht dann jede einzelne Zelle innerhalb der Markierung und vergleicht, ob der gesuchte Text darin enthalten ist. Dank der LCase()-Funktion wird dabei die Groß-/Kleinschreibung ignoriert.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein