VBA – Grundanweisungen (II)

Im ersten Teil zu den VBA-Grundanweisungen ging es um Methoden, die auf die Applikation Excel, auf Arbeitsmappen und auf Arbeitsblätter angewendet werden können.

Hier im zweiten Teil erläutere ich Methoden für Zeilen, Spalten, Bereiche, Zellen, Zeichen und Kommentare.

VBA-Methoden an Zeilen

Zeilen können, wie vorher auch Arbeitsblätter und Zellen, selektiert bzw. aktiviert werden.

Wo ist eigentlich der Unterschied zwischen Select und Activate?
Mit Select kannst du eine oder mehrere Blätter, Zellen, Zeilen, Spalten markieren, mit Activate sprichst du die Objekte konkret an und kannst eine Methode ansetzen.

Bei Zeilen sehen die Codes so aus:

Sub RowSelektieren()
Rows(62).Select
End Sub

Damit hast du nur die Zeile 62 markiert.

Sub RowSelektieren2()
Rows(“62:64”).Select
End Sub

Hiermit selektierst / markierst du die Zeilen 62 bis 64. Beachte, dass der Klammerinhalt in Anführungszeichen zu setzen ist.

Bei Activate sieht das genauso aus.

Sub RowAktivieren()
Rows(62).Activate
End Sub

Sub RowAktivieren2()
Rows(“62:64”).Activate
End Sub

Bis hier warst du in einem Arbeitsblatt unterwegs. Du kannst aber auch Zeilen bzw. Spalten in einem anderen Arbeitsblatt selektieren bzw. aktivieren.

Sub RowSelektieren3()
Worksheets(„Tabelle3“).Select
Rows(62).Select
End Sub

Zum Aktivieren verfährst du genauso.

Eine weitere Methode ist das Einfügen. Eine neue Zeile wird oberhalb der im Code bezeichneten Zeile eingefügt.

Sub RowEinfügen()
Rows(„75:75“).Select
Selection.Insert
End Sub

Eine Zeile lässt sich auch löschen. Gelöscht wird exakt die bezeichnete Zeile.

Sub RowLöschen()
Rows(„78:78“).Select
Selection.Delete
End Sub

 

VBA-Methoden an Spalten

Als Methoden an Spalten kannst du genau die anwenden, die du bei Zeilen kennen gelernt hast.

Hier die Codes dazu:

Sub ColuSelektieren()
Columns(19).Select
End Sub

Sub ColuAktivieren()
Columns(19).Activate
End Sub

Sub ColuSelektieren2()
Worksheets(„Tabelle3“).Select
Columns(19).Select
End Sub

Sub ColuEinfügen()
Columns(19).Select
Selection.Insert
End Sub

Sub ColuLöschen()
Columns(19).Select
Selection.Delete
End Sub

 

VBA-Methoden an Zellen und Bereichen

Zellen können ebenfalls selektiert bzw. aktiviert werden. Zu unterscheiden sind aber zusammenhängende Zellbereiche, eine einzelne oder mehrere einzelne Zellen.

Die Objekte können sowohl mit Range als auch mit Cells bezeichnet werden. Bei Range wird die A1-, bei Cells die Z1S1-Schreibweise angewendet.

Ein paar Beispiele:
Es soll der Zellbereich A2:A10 selektiert bzw. aktiviert werden:

Sub RangeSelektieren1()
Range(„A2:A10“).Select
End Sub

Sub RangeAktivieren1()
Range(„A2:A10“).Activate
End Sub

Es soll die einzelne Zelle H85 selektiert bzw. aktiviert werden:

Sub RangeSelektieren2()
Range(„H85“).Select
End Sub

Sub RangeAktivieren2()
Range(„H85“).Activate
End Sub

Es sollen die Zellen B13, D14 und F15 selektiert bzw. aktiviert werden:

Sub RangeSelektieren3()
Range(„B13,D14,F15“).Select
End Sub

Sub RangeAktivieren3()
Range(„B13,D14,F15“).Select
End Sub

Nun alles nochmal mit Cells:

Sub CellSelektieren1()
Range(Cells(2, 1), Cells(10, 1)).Select
End Sub

Sub CellAktivieren1()
Range(Cells(2, 1), Cells(10, 1)).Activate
End Sub

Sub CellSelektieren2()
Cells(85,8).Select
End Sub

Sub CellAktivieren2()
Cells(85,8).Activate
End Sub

Sub CellSelektieren3()
Union(Cells(13,12), Cells(14,14), Cells(15,16)).Select
End Sub

Sub CellAktivieren3()
Union(Cells(13,12), Cells(14,14), Cells(15,16)).Activate
End Sub

Die Union-Methode gibt die Vereinigung von mindestens 2 Bereichen zurück.

 

VBA-Methoden an Zeichen

Zeichen kann man suchen / finden, löschen, ersetzen und einfügen.

In G100 soll angegeben werde, an welcher Stelle im Wort „fabelhaft“ (in E100) sich der Buchstabe „h“ befindet.

Methoden1

Sub CharacterFinden()
Range(„G100“).Select
ActiveCell.FormulaR1C1 = „=FIND(„“h““,R100C5)“
End Sub

In der Formel wird mit der R1C1-Schreibweise gearbeitet, darauf deutet .FormulaR1C1 hin.
R100 heißt Row (Zeile) 100, C5 heißt Column (Spalte) 5.

VBA ermittelt so, dass sich der Buchstabe „h“ an 6. Stelle befindet.
Im nächsten Beispiel hat sich ein „g“ in den Text eingeschlichen, das soll gelöscht werden.

Methoden2

Sub CharacterLöschen()
Range(„I100″).Select
ActiveCell.Replace What:=“g“, Replacement:=““
End Sub

Im Code erfolgt ein Ersetzen des „g“ durch „“, damit ist das Zeichen gelöscht.
Zum Ersetzen von Zeichen kannst du analog vorgehen. Hier soll das falsches Zeichen „g“ durch „f“ ersetzt werden:

Methoden3

Sub CharacterErsetzen()
Range(„M100″).Select
ActiveCell.Replace What:=“g“, Replacement:=“f“
End Sub
Auch für das Einfügen eines Buchstaben oder einer Buchstabenfolge kannst du die Methode Replace (Ersetzen) verwenden. Aus dem Wort „Trum“ soll „Traum“ werden:

Methoden4

Sub CharacterEinfügen1()
Range(„I108″).Select
ActiveCell.Replace What:=“Trum“, Replacement:=“Traum“
End Sub

So geht’s auch. In der Zelle rechts des falschen Wortes trägst du die zwei linken Buchstaben, dann ein „a“ und dann die zwei rechten Buchstaben ein und erhältst „Traum“.

Sub CharacterEinfügen2()
Range(„J108″).Select
ActiveCell.FormulaR1C1=“=Left(R108C9,2)&““a““&Right(R108C9,2)“
Range(„I108“)=Range(„J108“).Value
Range(„J108“).Clear
End Sub

 

VBA-Methoden an Kommentaren

Für Kommentare kommen im Wesentlichen zwei Methoden zum Einsatz: Neu/Einfügen und Löschen.
Sub CommentNeu()
Range(„E131“).AddComment
Range(„E131“).Comment.Visible = True
Range(„E131″).Comment.Text Text:=“Autor:“ & Chr(10) & „Kommentar mit VBA erzeugt“
End Sub

Hier wurde in E131 ein neuer Kommentar eingefügt und gleichzeitig der Kommentartext „Kommentar mit VBA erzeugt“ eingebracht.

Mit der Cells-Eigenschaft erreicht die Prozedur das gleiche Ergebnis:

Sub CommentNeu2()
Cells(131,5).AddComment
Cells(131,5).Comment.Visible = True
Cells(131,5).Comment.Text Text:=“Autor:“ & Chr(10) & „Kommentar mit VBA erzeugt“
End Sub

Wie das Löschen eines Kommentars funktioniert, siehst du hier in zwei Varianten, einmal mit Range und einmal mit Cells.

Sub CommentLöschen1()
Range(„E131“).Select
Selection.ClearComments
End Sub

Sub CommentLöschen2()
Cells(131,5).ClearComments
End Sub

Zum Ändern eines Kommentartextes per VBA löscht du am Besten den vorhandenen Kommentar und erstellst einen neuen mit dem neuem Text.

In einer weiteren Folge wird es um Eigenschaften der Basisobjekte gehen.

Advertisements

Autor: Gerhard Pundt

Auf meiner Site https://clevercalcul.wordpress.com geht es um die Tabellenkalkulation mit Excel. Es wird über Funktionen, Diagramme, Basiswissen u.a.m. geschrieben.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s