Cells und Range kombiniert in Excel VBA
In diesem Tutorial zeige ich Euch wie Ihr Range und Cells kombiniert anwenden könnt. Mit dieser Kombination seit Ihr bestens gewappnet. Range ist ideal um auf einzelne Zellen und Zellbereiche zuzugreifen. Cells ist ideal um Zellen ĂŒber Schleifen auszuwĂ€hlen bietet aber nicht die Möglichkeit fĂŒr sich alleine auf Zellbereiche zuzugreifen. Mit der Kombination bleibt eigentlich kaum noch ein Wunsch offen.
Das Startvideo der VBA Tutorial Serie auf YouTube findet Ihr hier
Die Playlist meiner VBA Tutorial Serie auf YouTube findet Ihr hier
Achtung:
Benutzt zum Ăben eine separate Tabelle fĂŒr Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Video zu diesem Tutorial:
Beispielscript: Einzelne Zellen mit Cells ansprechen
In diesem Beispiel zeige ich zuerst nochmal wie das ansprechen der Zellen mit Cells funktioniert.
Cells hat 2 Parameter. Einmal die Zeilennumer und dann die Spaltennummer.
Cells(ZeilenNummer, SpaltenNummer)
Mit Cells(1,1) wird die Zelle A1 angesprochen
Mit Cells(3,4) wird die Zelle D3 angesprochen
In beiden Zellen wird mit .Value = "X" dort auch ein X eingetragen.
Sub RangeCellsTutorial1() Cells(1, 1).Value = "X" Cells(3, 4).Value = "X" End Sub
Beispielscript: Einzelne Zellen mit Range ansprechen
Die gleichen Ergebnisse wie im obigen Beispiel erhalten wir auch mit Range auf folgende Weise. Diese Variante wirkt natĂŒrlich auf den ersten Blick sehr ĂŒbersichtlich und leicht verstĂ€ndlich. Wenn man Range fĂŒr einzelne Zellen und Zellbereiche benutzt ist das auch wirklich perfekt. Wenn man aber mit Schleifen arbeitet dann wird es schon etwas komplizierter.
Sub RangeCellsTutorial2() Range("A1").Value = "X" Range("D3").Value = "X" End Sub
Beispielscript: Zellbereich mit Range ansprechen
Hier zeige ich nochmal wie man einen Zellbereich mit Range ansprechen kann. Hier werden die Zellen A1 bis D3 mit einem X beschrieben.
Sub RangeCellsTutorial3() Range("A1:D3").Value = "X" End Sub
Beispielscript: Zellen mit Range und Cells kombiniert ansprechen
Das gleiche wie im letzten Beispiel. Also Range("A1:D3") wird zu Range(Cells(1, 1), Cells(3, 4)). Das sieht im ersten Moment sehr kompliziert aus aber ist eigentlich ganz einfach. Denkt Euch erst einmal die Cells weg und nehmt Range(,). Im Grunde genommen ist in diesem Beispiel das Komma genauso wie der Doppelpunkt wenn Ihr mit Excel in der Tabelle arbeitet. Der Doppelpunkt zeigt nur dass es sich um ein Bereich handelt. Das Komma hier ist nichts anderes. Jetzt setzt Ihr eine Zelle davor ein. Cells(1,1) bedeutet A1 und Cells(3,4) bedeutet D3.
Das erste kommt vor dem Komma und das zweite nach dem Komma. So erhalten wir Range(Cells(1, 1), Cells(3, 4)) also das gleiche wie Range("A1:D3").
Sub RangeCellsTutorial() Range(Cells(1, 1), Cells(3, 4)).Value = "X" End Sub
Beispielscript: Range und Cells kombiniert in Schleife ansprechen
Hier habe ich das ganze mal in eine For Schleife eingebaut. Hier werden im ersten Durchlauf die Zellen von A1 bis A10 beschrieben. AnschlieĂend wegen Step 2 erst die Zellen C1 bis C10. Mit Step kann man Schrittweise arbeiten und bedeutet dass man nur jeden zweiten Schritt ausfĂŒhrt.
Also wird bei dieser Schleife jede zweite Spalte befĂŒllt (von Zeile 1-10) bis i irgendwann 30 erreicht.
Wer Probleme mit der AusfĂŒhrung hat und Option Explicit aktiviert hat, muss die Variable i noch deklarieren. Vor der For Schleife kommt dann noch Dim i As Integer
Sub RangeCellsTutorial() For i = 1 To 30 Step 2 Range(Cells(1, i), Cells(10, i)).Value = "X" Next End Sub