Im ersten Teil zu den VBA-Methoden 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.
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.
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:
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:
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.
Entdecke mehr von Clevercalcul
Subscribe to get the latest posts sent to your email.