Zum Hauptinhalt springen

ActiveCell.FormulaR1C1 VBA Excel: Ausführliche Beschreibung und Anwendungsbeispiele

Es gibt viele integrierte Funktionen und Methoden in VBA für Excel, mit denen Sie Daten in einer Arbeitsmappe bearbeiten können. Eine solche Methode ist ActiveCell.FormulaR1C1 ermöglicht das Festlegen von Zellformeln in der R1C1-Notation. Die R1C1-Notation stellt relative Zellreferenzen und keine absoluten Adressen dar. Dies ist besonders nützlich, wenn Sie Formeln kopieren und Daten in einer Arbeitsmappe gruppieren.

Methode ActiveCell.FormulaR1C1 hat die folgende Syntax:

ActiveCell.FormulaR1C1(R1C1)

Wo R1C1 ist ein Argument, das die Formel darstellt, die in der aktuellen aktiven Zelle angegeben werden soll. Die Formel muss in der R1C1-Notation angegeben werden. Um beispielsweise die Formel "=SUM(A1:B2)" für die aktuelle Zelle festzulegen, können Sie den folgenden Code verwenden:

ActiveCell.FormulaR1C1 = "=SUM(R[-1]C:R[1]C)"

In diesem Beispiel wird der Zelle eine Formel zugewiesen, die die Werte in den Zellen oberhalb und unterhalb der aktuellen Zelle in den Spalten A und B zusammenfasst.

ActiveCell.FormulaR1C1 VBA Excel: Was ist erforderlich und wie wird verwendet

Diese Methode ist besonders nützlich, wenn Sie den Prozess des Füllens von Zellen mit Formeln automatisieren möchten. Zum Beispiel können Sie ActiveCell verwenden.FormulaR1C1, um komplexe Formeln in einer Schleife zu erstellen und automatisch in einen bestimmten Zellbereich zu kopieren. Dadurch können Sie große Datenmengen effizient verarbeiten und die Arbeit mit Tabellen in Excel vereinfachen.

Ein Beispiel für die Verwendung der ActiveCell-Methode.Formular1C1:

Sub SetFormula()Dim rng As Range' Задаем формулу для активной ячейкиActiveCell.Formular1C1 = "=SUM(R[-2]C:R[-1]C)"' Копируем формулу в диапазон ячеекSet rng = Range("A2:A10")rng.Formular1C1 = ActiveCell.Formular1C1End Sub

In diesem Beispiel legen wir eine Formel für die aktive Zelle fest, die die Werte der beiden vorherigen Zellen in einer Spalte zusammenfasst. Dann kopieren wir diese Formel in einen Zellbereich von A2 bis A10. Daher werden die Werte in diesen Zellen automatisch aktualisiert, wenn sich die ursprünglichen Daten ändern.

ActiveCell.FormulaR1C1 ist ein leistungsfähiges Werkzeug in Excel VBA, um die Arbeit mit Formeln zu automatisieren. Es macht es einfach, Formeln im Handumdrehen zu erstellen und zu ändern und verbessert die Effizienz bei der Arbeit mit Daten in Tabellen. Verwenden Sie diese Methode, um Ihre Arbeit mit Excel zu vereinfachen und den Zeitaufwand für Routinevorgänge zu reduzieren.

Beschreibung von ActiveCell.Formular1C1 VBA Excel

Das R1C1-Format stellt relative Zellreferenzen dar. Anstelle von normalen absoluten Referenzen wie A1 wird im Format R1C1 eine relative Referenz verwendet, wobei R für eine Zeichenfolge und C für eine Spalte steht. Beispielsweise hat eine Zelle direkt über der aktiven Zelle eine R-Referenz[-1]C und die Zelle auf der linken Seite hat eine RC-Referenz[-1] .

Sie können die FormulaR1C1-Eigenschaft verwenden, um eine Formel anzugeben oder eine Formel zu lesen. Sie können beispielsweise den folgenden Code verwenden, um eine Formel festzulegen:

ActiveCell.FormulaR1C1 = "=SUM(R1C1:R5C5)" 

In diesem Beispiel legen wir eine Formel für die aktive Zelle fest, um den Zellbereich von R1C1 bis R5C5 zu summieren.

Um eine Formel zu lesen, legen Sie einfach die FormulaR1C1-Eigenschaft auf eine Variable fest oder geben Sie den Wert aus:

Dim formula As Stringformula = ActiveCell.FormulaR1C1

In diesem Beispiel weisen wir der Variablen formula den Wert der Formel zu, die in der aktiven Zelle enthalten ist.

Die Verwendung des Formats R1C1 kann besonders nützlich sein, wenn Sie mit Excel-VBA-Makros arbeiten, da es Ihnen ermöglicht, dynamische Verweise auf Zellen und Variablen zu erstellen.

Beispiele für die Verwendung von ActiveCell.Formular1C1 VBA Excel

Beispiel 1:

In diesem Beispiel verwenden wir die ActiveCell-Methode.FormulaR1C1, um eine Formel in die aktive Zelle zu schreiben. Im folgenden Code schreiben wir beispielsweise eine Additionsformel zweier Werte in die aktive Zelle:

ActiveCell.FormulaR1C1 = "=RC[-1] + RC[-2]"

Hier ist "RC[-1]" gibt den Wert an, der sich in der Zelle links von der aktiven Zelle befindet, und "RC[-2]" ist ein Wert, der sich in zwei Zellen links von der aktiven Zelle befindet.

Beispiel 2:

Wir können auch die ActiveCell-Methode verwenden.FormulaR1C1 zum Schreiben einer Formel mit absoluten Referenzen, dh Verweisen auf bestimmte Zellen, die unabhängig von der aktiven Zelle sind. Zum Beispiel:

ActiveCell.FormulaR1C1 = "=$A$1 + $B$2"

Hier steht "$A$1" für den Wert in Zelle A1 und "$B$2" für den Wert in Zelle B2.

Beispiel 3:

Die ActiveCell-Methode.Mit FormulaR1C1 können Sie auch Excel-Funktionen in Formeln verwenden. Im folgenden Code schreiben wir beispielsweise eine Formel in die aktive Zelle, die die Funktion SUM verwendet, um Werte in einem Zellbereich zu addieren:

ActiveCell.FormulaR1C1 = "=SUM(RC[-2]:RC[-1])"

Hier ist "SUM(RC[-2]:RC[-1])" bedeutet, dass Werte in einem Zellenbereich addiert werden, beginnend mit zwei Zellen links von der aktiven Zelle und endend mit einer Zelle links von der aktiven Zelle.

Daher verwenden Sie die ActiveCell-Methode.FormulaR1C1 ermöglicht es uns, Formeln einfach in aktive Excel-VBA-Zellen zu schreiben. Dies ist nützlich, wenn Sie die Berechnung und Analyse von Daten in einer Tabelle automatisieren möchten.