Wie verwende ich eine zelle als variable in vba?

Um einen Bereich oder eine einzelne Zelle als Variable zu verwenden, müssen Sie diese Variable zunächst mit dem Datentyp „Bereich“ deklarieren. Sobald Sie dies getan haben, müssen Sie mithilfe des Bereichsobjekts einen Bereich von einer Zelle bis zu dieser Variablen angeben. Dadurch erhalten Sie auch Zugriff auf alle Eigenschaften und Methoden, die Sie mit einem Bereich verwenden können.

  1. Verwenden Sie das Schlüsselwort „Dim“ und geben Sie den Variablennamen ein.
  2. Deklarieren Sie das Schlüsselwort als Range .
  3. Geben Sie den Variablennamen ein.
  4. Geben Sie den Bereich an, den Sie der Variablen zuweisen möchten.
Verwenden Sie das Schlüsselwort dim

Auswahl auf Bereichsvariable setzen

Sie können den ausgewählten Bereich auch für eine Variable verwenden und diese Variable dann verwenden, um auf Eigenschaften und Methoden zuzugreifen. Betrachten Sie den folgenden Code.

 Sub vba_range_variable() Dim rng As Range Set rng = Selection Selection.Clear End Sub

Sie müssen jedoch eines beachten: Wenn Sie ein anderes Objekt als einen Bereich auswählen , zeigt Ihnen VBA einen Fehler an.

Auswählen eines anderen Objekts als des Bereichs

Es handelt sich aber auch um eine dynamische Methode, bei der Sie den Bereich nicht immer wieder ändern müssen.

Kopieren Sie einen Bereich mithilfe einer Variablen

Sobald Sie eine Variable als Bereich deklariert haben , können Sie diesen Bereich auch unter Verwendung dieses Variablennamens kopieren. Angenommen, Sie haben den Bereich A1:A10 als RNG-Variable deklariert (Beispiel oben), dann können Sie ihn mit dem folgenden Code kopieren.

Kopieren und Anordnen mithilfe einer Variablen
 Sub vba_range_variable() Dim rng As Range Set rng = Range("A1:A10") rng.Copy End Sub

Verwenden der Bereichsvariablen in einer Funktion

Sie können eine Bereichsvariable auch verwenden, um beim Schreiben eines Makros auf einen Bereich in einer Funktion zu verweisen. Betrachten Sie den folgenden Code.

 Sub vba_range_variable() Dim iNames As Variant Dim rng As Range Set rng = Range("A1:A10") Range("B1") = WorksheetFunction.Max(rng) End Sub
Verwenden Sie eine Bereichsvariable in einer Funktion

Es nimmt Werte im Bereich A1:A10 an und da Sie die Variable „rng“ verwenden müssen, haben wir für die Ausgabe die Variable mit dem Maximalwert verwendet.

Verwandte Themen: So verwenden Sie WorksheetFunction in VBA

Zählen Sie die Anzahl der Zeilen und Spalten

Wie ich bereits sagte, erhalten Sie, sobald Sie eine Variable als Bereich angeben, auch alle Eigenschaften und Zugriffsmethoden. Stellen Sie sich vor, Sie möchten Zeilen und Spalten zählen. Hier ist der Code, der verwendet werden könnte.

 Sub vba_range_variable() Dim rng As Range Set rng = Range("A1:A10") MsgBox "This range has " & _ rng.Rows.Count & " row(s) and " & _ rng.Columns.Count & " coulmn(s)." End Sub
Zählen Sie die Anzahl der Zeilen und Spalten

Wenn Sie diesen Code ausführen, wird eine Meldung mit der Anzahl der Zeilen und Spalten in dem Bereich angezeigt , den Sie in der Variablen angegeben haben.

Definition eines Arbeitsblatts mit Bereich

In allen obigen Beispielen haben wir den Bereich verwendet, ohne das Arbeitsblatt zu erwähnen. Wenn Sie diesen Code ausführen, verweist VBA daher immer auf den Bereich im aktiven Blatt. Wenn Sie jedoch auf ein bestimmtes Arbeitsblatt verweisen möchten, müssen Sie das Arbeitsblattobjekt mit dem Bereich verwenden.

 Dim rng As Range Set rng = Worksheets("Sheet1").Range("A1:A10")

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert