Rückkehr in VBA-Code-Beispiele

VBA Zellenwert – Abrufen, setzen oder ändern

In diesem Tutorial lernen Sie, wie Sie mithilfe von VBA mit Zellwerten interagieren.

Zellwert setzen

Um den Wert einer Zelle zu setzen, verwenden Sie die Eigenschaft Value des Objekts Range oder Cells.

Range.Value & Cells.Value

Es gibt zwei Möglichkeiten, in VBA auf Zellen zu verweisen:

  • Range-Objekt – Range(„A2“).Value
  • Cells-Objekt – Cells(2,1).Value

Mit dem Range-Objekt können Sie auf eine Zelle in der Standard-Notation „A1“ verweisen.

Dadurch wird der Wert des Bereichs A2 = 1 gesetzt:

Range("A2").Value = 1

Mit dem Cells-Objekt können Sie eine Zelle über die Zeilen- und Spaltennummer referenzieren.

So wird der Wert von Bereich A2 = 1 gesetzt:

Cells(2,1).Value = 1

Beachten Sie, dass Sie zuerst die Zeilennummer angegeben wird:

Cells(Zeilennummer, Spaltennummer)

Werte mehrerer Zellen auf einmal setzen

Anstatt auf eine einzelne Zelle zu verweisen, können Sie auf einen ganzen Bereich von Zellen ansprechen und ihre Zellwerte auf einmal ändern:

Range("A2:A5").Value = 1

Zellwert setzen – Text

In den obigen Beispielen haben wir den Zellwert auf eine Zahl (1) gesetzt.  Stattdessen können Sie den Zellwert auf eine Textzeichenfolge setzen.  In VBA muss der gesamte Text in Anführungszeichen gesetzt werden:

Range("A2").Value = "Text"

Wenn Sie den Text nicht in Anführungszeichen setzen, nimmt VBA an, dass Sie eine Variable referenzieren…

Zellwert setzen – Variable

Sie können den Wert einer Zelle einer Variablen entnehmen

Dim strText as String
strText = "Zeichenfolge aus Text"

Range("A2").Value = strText

Zellwert abrufen

Sie können Zellenwerte mit der gleichen Eigenschaft Value abrufen, die wir oben verwendet haben.

Den ActiveCell-Wert abrufen

So rufen Sie den ActiveCell-Wert ab und zeigen ihn in einem Meldungsfeld an:

MsgBox ActiveCell.Value

Zellwert einer Variablen zuweisen

So rufen Sie einen Zellenwert ab und weisen ihn einer Variablen zu:

Dim var as Variant

var = Range("A1").Value

Hier haben wir eine Variable vom Typ Variant verwendet. Variant-Variablen können jeden Werttyp annehmen.  Sie könnten stattdessen auch eine Variable vom Typ String verwenden:

Dim var as String

var = Range("A1").Value

Ein Variablentyp vom Typ String akzeptiert numerische Werte, speichert diese jedoch als Text.

Wenn Sie wissen, dass Ihr Zellwert numerisch sein wird, können Sie einen Double-Variablen-Typ verwenden (Double-Variablen können Dezimalwerte speichern):

Dim var as Double

var = Range("A1").Value

Wenn Sie jedoch versuchen, einen Zellwert, der Text enthält, in einer Double-Variablen zu speichern, erhalten Sie eine Fehlermeldung für eine Typen-Unverträglichkeit:

double type mismatch fehler

Andere Beispiele für Zellwerte

Zellwert kopieren

Es ist einfach, einen Zellwert von einem anderen Zellwert zu übernehmen (oder einen Zellwert zu „kopieren“):

Range("A1").Value = Range("B1").Value

Sie können dies sogar mit ganzen Bereichen von Zellen tun (die Bereiche müssen dabei dieselbe Größe aufweisen):

Range("A1:A5").Value = Range("B1:B5").Value

Zellwerte miteinander vergleichen

Sie können Zellwerte mit den Standard-Vergleichsoperatoren vergleichen.

Testen Sie, ob die Zellwerte gleich sind:

MsgBox Range("A1").Value = Range("B1").Value

Gibt TRUE zurück, wenn die Zellwerte gleich sind, anderenfalls FALSE.

Sie können auch eine If-Anweisung erstellen, um Zellwerte zu vergleichen:

If Range("A1").Value > Range("B1").Value Then

  Range("C1").Value = "Größer als"

Elseif Range("A1").Value = Range("B1").Value Then

  Range("C1").Value = "Gleich"

Else

  Range("C1").Value = "Kleiner als"

End If

Auf die gleiche Weise können Sie Text vergleichen (denken Sie daran, dass VBA zwischen Groß- und Kleinschreibung unterscheidet)