Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel per VBA

Formel per VBA
21.04.2009 14:34:41
robert
Hi Zusammen,
Ich habe hier drei Beispiele gefunden, wie man Formeln in eine Zelle schreiben kann. Leider ist mir die Schreibweise nicht ganz klar, deswegen habe ich mir gedacht, ob ihr mir weiterhelfen könntet.

1) Cells(iRow, i).FormulaR1C1 = "=SUBTOTAL(9,R[1]C:R[2]C)"
2) Cells(iSrcRow, 9).Value = "=IF(AND(RC[-8]"""",RC[7]0),IF(RC[13]=0,1,RC[10]/RC[16]),"""")"
3) Cells(iSrcRow, 2).FormulaR1C1 = _
"=IF(OR(RC3"""",RC4""""),LEFT(RIGHT(LOOKUP(2,1/(R4C3:RC3""""),R4C3:RC3),4),2),"""")"

ad1: Für was steht das R[1]C?
ad2: Für was steht das RC[13]?
ad3: Für das was steht das R4C3 und RC3?
Für mich sehen die unterschiedlich aus, daher die drei Fragen. Wäre super, wenn von euch jemand das weiss.
Viele Grüsse
Pat
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel per VBA
21.04.2009 14:44:46
D.Saster
Hallo,

Für mich sehen die unterschiedlich aus,


sind sie auch.
R/C ohne Ziffer: gleiche Zeile/ Spalte
R/C mit Ziffer in []: positive Zahl: Versatz nach unten/ Rechts, negative Zahl: Versatz nach oben/ links
R/C mit Ziffer: Absoluter Bezug. R4C3= $C$4
Gruß
Dierk

Anzeige
AW: Formel per VBA
21.04.2009 14:45:49
ptonka
Hallo Pat,
R = Row (Zeile)
C = Column (Spalte)
[] = ohne Fixierung (ohne $) also nur A2 anstatt $A2
wobei R[1]C in der aktiven Zelle bedeutet: Zeile 2, aktive Spalte (innerhalb der [] immer +1 rechnen)
RC[13] bedeutet: aktive Zelle, Spalte 13 (= Spalte M)
Gruß,
Ptonka
Anzeige
FALSCH
21.04.2009 14:54:28
D.Saster
Hallo,

wobei R[1]C in der aktiven Zelle bedeutet: Zeile 2, aktive Spalte (innerhalb der [] immer +1  _
rechnen)
RC[13] bedeutet: aktive Zelle, Spalte 13 (= Spalte M)


das kommt drauf an, in welche Zelle die Formel geschrieben wird.
"=RC[13]" ist mindestens "=N1"
Gruß
Dierk

Anzeige
AW: Formel per VBA
21.04.2009 14:51:59
Tino
Hallo,
R steht für Row
C für Column
R[1]C --&gt steht für eine Zeile nach unten, gleiche Spalte
RC[13] --&gt steht für gleiche Zeile, 13 Spalten nach rechts
R4C3 --&gt steht für Zeile 4 Spalte 3
RC3 --&gt steht für gleiche Zeile Spalte 3
verstehst Du es jetzt?
Gruß Tino
Anzeige
AW: Formel per VBA
21.04.2009 15:16:40
robert
Das heisst:
R4C3 = 4 Zeilen nach unten und 3 Spalten nach rechts mit absoluten Zellenbezug
R[4]C[3] = 4 Zeilen nach unten und 3 Spalten nach rechts ohne absoluten Zellenbezug
Herzlichen Dank für eure Antworten, jetzt ist es mir klar!
nein Robert
21.04.2009 15:19:46
Tino
Hallo,
R4C3 ist immer die Zelle C4
Gruß Tino
Anzeige
AW: Formel per VBA
21.04.2009 15:21:15
D.Saster
Hallo,

R4C3 = 4 Zeilen nach unten und 3 Spalten nach rechts mit absoluten Zellenbezug


NEIN!
Das heißt Zeile 4, Spalte 3. Absolut, nicht nach rechts oder unten.
Gruß
Dierk

AW: Formel per VBA
22.04.2009 00:17:27
robert
oh okay, sorry, da war ich zu voreilig. nun ist es klar.
danke!
robi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Formeln in Excel per VBA verstehen


Schritt-für-Schritt-Anleitung

Um Formeln in Excel per VBA zu verwenden, kannst du die FormulaR1C1 Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11.

  2. Füge ein neues Modul hinzu: Rechtsklicke im Projektfenster und wähle "Einfügen" > "Modul".

  3. Schreibe deinen Code: Verwende die folgende Struktur, um eine Formel in eine Zelle einzufügen:

    Sub BeispielFormel()
       Dim iRow As Integer
       Dim i As Integer
       iRow = 1
       i = 1
       Cells(iRow, i).FormulaR1C1 = "=SUBTOTAL(9,R[1]C:R[2]C)"
    End Sub
  4. Führe den Code aus: Drücke F5, um die Subroutine auszuführen.


Häufige Fehler und Lösungen

  • Fehler: Typen unverträglich
    Lösung: Stelle sicher, dass alle Variablen korrekt deklariert sind und die richtigen Datentypen verwenden.

  • Fehler: Formel wird nicht erkannt
    Lösung: Achte darauf, dass du die richtige R1C1-Notation verwendest, wie z.B. RC[-1] für die Zelle links von der aktuellen Zelle.

  • Unklare Bezüge: Wenn du siehst, dass Formeln wie R4C3 oder RC[13] nicht wie erwartet funktionieren, überprüfe, in welcher Zelle du die Formel einfügst. Diese Bezüge sind relativ zur Position der aktiven Zelle.


Alternative Methoden

Du kannst auch die Formula Methode verwenden, um Formeln in die Zellen einzufügen. Hier ist ein Beispiel:

Cells(iRow, i).Formula = "=SUM(A1:A10)"

Diese Methode verwendet die übliche A1-Notation anstelle der R1C1-Notation.


Praktische Beispiele

Hier sind einige praktische Beispiele, um die Verwendung von Excel Formeln in VBA zu verdeutlichen:

  • SUMME mit R1C1:

    Cells(1, 1).FormulaR1C1 = "=SUM(R[1]C:R[10]C)"
  • IF-Bedingung:

    Cells(2, 1).FormulaR1C1 = "=IF(RC[-1]>10, 'Ja', 'Nein')"
  • Verwendung von RC[-1]:

    Cells(3, 1).FormulaR1C1 = "=RC[-1]*2"

Tipps für Profis

  • Nutze die R1C1 Notation für dynamische Bezüge, besonders wenn du in Schleifen arbeitest.
  • Bei Verwendung von RC[] und RC[-] ist es wichtig, die relative Position der aktiven Zelle zu berücksichtigen.
  • Verwende Application.WorksheetFunction, um auf Excel-Funktionen direkt aus VBA zuzugreifen.

FAQ: Häufige Fragen

1. Was bedeutet R4C3 in einer Formel?
R4C3 bedeutet, dass die Formel auf die Zelle in der 4. Zeile und der 3. Spalte verweist (also Zelle C4).

2. Wie interpretiere ich RC[-1]?
RC[-1] bezieht sich auf die gleiche Zeile, aber auf die Spalte direkt links von der aktuellen Zelle.

3. Was bedeutet @ in einer Excel-Formel?
Das @-Zeichen wird verwendet, um auf den aktuellen Zeilenkontext in Tabellen zuzugreifen, besonders bei strukturierten Verweisen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige