VBA – Programmierung mit Excel Grundlagen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Seite 78<br />
Manipulation von Zellen und Zellbereichen<br />
✘ Die Funktionskombination EINFÜGEN / NAMEN / FESTLEGEN / LÖSCHEN der <strong>Excel</strong> <strong>–</strong><br />
Oberfläche kann ebenfalls zu Löschen benutzt werden.<br />
10.7 Suchen von Zellinhalten<br />
Das Suchen nach bestimmten Zellen oder Zellbereichen ist oft nur über das Suchen nach<br />
bestimmten Inhalten der Zellen zu bewerkstelligen. Im <strong>VBA</strong> sind dafür mehrere für ein RANGE<br />
<strong>–</strong> Objekt definierte Methoden vorhanden, von denen zwei hier vorgestellt werden.<br />
Die beiden vorgestellten Methoden besitzen eine Vielzahl von recht komplexen Argumenten,<br />
auf die hier nicht näher eingegangen wird <strong>–</strong> näheres siehe Online <strong>–</strong> Hilfe.<br />
Die nachfolgenden Beispiele demonstrieren die einfachste Suche und das Ersetzen von<br />
Zelleninhalten.<br />
FIND Sucht eine Bereich nach Informationen durch und gibt im Erfolgsfall<br />
eine Range <strong>–</strong> Objekt zurück.<br />
REPLACE Sucht und ersetzt Zelleninhalte<br />
➨ Find gibt ein Range <strong>–</strong> Objekt zurück, welches anschließend ausgewertet werden muß.<br />
<br />
Wert1 = Range("B1:D5").Find("Summe:").Value<br />
MsgBox Wert1<br />
<br />
Wert1 = Range("B1:D5").Find("Summe:").Address<br />
Range(Wert1).Value = 2222<br />
<br />
Range("B1:D5").Replace "Summe2:", 2222<br />
Range("B1:D5").Find("Summe:").Interior.Pattern = 2<br />
Im ersten Beispiel wird im Bereich B1:D5 die Zelle <strong>mit</strong> dem String Summe: gesucht und ihr<br />
Inhalt (Value) in die Variable Wert1, die per MsgBox ausgegeben wird, übertragen.<br />
Im zweiten Beispiel wird die Adresse der Zelle <strong>mit</strong> dem String Summe: er<strong>mit</strong>telt und der<br />
Variablen Wert1 zugewiesen. Diese wird anschließend für die Zuweisung eines neuen<br />
Wertes an die Zelle benutzt.<br />
Die erste Anweisung der dritten Beispielgruppe erledigt die im Beispiel 2 in zwei<br />
Anweisungen ausgeführte Wertänderung in einer Anweisung.<br />
Die zweite Anweisung weist der Zelle <strong>mit</strong> dem gesuchten Inhalt ein Hintergrundmuster zu.<br />
10.8 Suchen von Zelleninhalten über Schleifen<br />
Die Suche nach Zelleninhalten, die in mehreren Zellen auftreten können ist am einfachsten<br />
über EACH <strong>–</strong> Schleifen möglich. Dabei können die Größer- / Kleiner <strong>–</strong> Operatoren, das<br />
Gleichheitszeichen oder der LIKE <strong>–</strong> Operator benutzt werden.<br />
Die Suche über Schleifen hat noch einen zusätzlichen Vorteil <strong>–</strong> es ist möglich nicht nur nach<br />
Zellinhalten zu suchen, sondern auch nach Formatelementen (Näheres zu diesen Elementen<br />
<strong>–</strong>siehe Folgekapitel).<br />
Für die Suche nach Zelleninhalten wird die Eigenschaft VALUE benutzt. Dabei ist zu<br />
beachten, daß die Inhalte unterschiedlich sein können <strong>–</strong> numerisch, alphanumerisch oder<br />
aus Formeln bestehend. Entsprechend muß in den Suchkonstrukten reagiert werden, um<br />
nicht unnötige Fehlermeldungen zu erzeugen.<br />
Die Anweisungen des folgenden Beispiels sollen die Suche nach numerischen Werten<br />
demonstrieren, die ein bestimmtes Kriterium erfüllen (> 20). Im Positivfall soll der<br />
Zellenhintergrund farblich abgesetzt werden: