VBA: Der Unterschied zwischen cells und range

Im Excel lassen sich über VBA einzelne Zellen oder Bereiche direkt ansprechen und mit Werten befüllen bzw. auslesen. Dazu gibt es die Befehle cells und range. Der Aufbau der Syntax ist allerdings unterschiedlich. Im folgenden Beispiel wird die Zelle B3 des Tabellenblatt „Sheet1“ mit dem Wert „Test“ beschrieben

    ThisWorkbook.Sheets("Sheet1").Range("B3").Value = "Test"
    ThisWorkbook.Sheets("Sheet1").Cells(3, 2).Value = "Test"

Im Befehl range erfordert zuerst die Angabe der Spalte und dann der Zeile, während es bei cells genau umgekehrt ist, also erst die Reihe, dann die Spalte.

Nun stellt sich noch die Frage, wozu die Unterschiede:
In einem Script, was Zellen nach einem definierten Schema befüllt, kann, auch der besseren Lesbarkeit wegen, die Zelle oder der Bereich über range angesprochen werden. Sobald allerdings eine Dynamik ins Spiel kommt, z.B. füllen eines Bereichs über das Script, muss cells verwendet werden.

Der nachfolgende Befehl füllt die Zellen C4 bis H7 des Tabellenblatt „Sheet1“ mit dem Wort „Test“

ThisWorkbook.Sheets("Sheet1").Range(Cells(4, 3), Cells(7, 8)) = "Test"

Schreibe einen Kommentar