Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Definition SUM (Visual Basic)

Forumthread: Definition SUM (Visual Basic)

Definition SUM (Visual Basic)
07.01.2013 13:09:53
Jan
Hallo zusammen,
wäre jemand so gut mir die Definition für SUM in Visul Basic kurz zu erklären?
sprich diese hier: ActiveCell.FormulaR1C1 = "=SUM(R[-7]C:R[-1]C)"
Also, Range von der aktuellen Zeile 7 Zeilen nach oben bis eine Zeile nach oben, das ist mir soweit klar. Aber wie genau ist das R und das C definiert?
Würde gerne das erste R[-7]C durch "B13" ersetzen.
Dann bekommen ich beim Ausführen des Makros aber einen Fehler.
Im Excel steht dann als Formel: =SUMME('B13':B73)

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Definition SUM (Visual Basic)
07.01.2013 13:22:30
Rudi
Hallo,
R=Row, C=Column
um B13 nutzen zu können, müsstest du anstatt .FormulaR1C1= nur .Formula= ... benutzen. Dann aber beides in A1-Schreibweise.
Oder anstatt B13 R13C2 einsetzen.
Gruß
Rudi

FormulaR1C1
07.01.2013 13:23:12
Christian
Hallo Jan,
das entspricht der Z1S1-Schreibweise. R=Row, C=Column.
Eckige Klammern weisen auf die relative Zelladresse. Bei Absolutem Bezug lässt du diese weg.
Bsp R13C2 = "B13".
Alternativ kannst du aber auch mit FormulaLocal arbeiten, aber FormulaR1C1 hat meist Vorteile.
Christian

Anzeige
AW: FormulaR1C1
07.01.2013 13:35:31
Mäxl
Hallo Christian
aber FormulaR1C1 hat meist Vorteile
da ich nur Formula in Verwendung habe (kein FormulaLocal), wobei sich oft die Frage stellt warum überhaupt Formeln über VBA eintragen....
welche Vorteile hat R1C1?
Mir wären keine Vorteile bekannt...
gruß
mäxl

Anzeige
AW: FormulaR1C1
07.01.2013 13:44:26
Klaus
welche Vorteile hat R1C1?
Hi mäxl,
hat eigentlich nur Vorteile. Ganz einfaches Beispiel: ich möchte in F2 die Werte aus C2,D2,E2 summieren (also die drei Werte links von der aktiven Zelle) und das ganze runter kopieren.
in formulalocal schreibe ich:
=SUM($C2:$E2)
Nun ändert sich was, und ich muss vor Spalte A noch eine extra Spalte einfügen. Natürlich bin ich in eile und denke nicht daran, meinen VBA Code nach Spaltenreferenzen durchzusehen.
Oder: Ich will das gleiche Makro an einer anderen Stelle nochmal nutzen, nur heissen hier die Spalten anders.
Was passiert? Meine Formel bringt kein korrektes Ergebniss mehr.
die Formulalocal Variante
=SUM(RC[-3]:RC[-1])
aber schert es nicht, in welche Spalte ich sie kopiere oder per VBA setze. Sie summiert mir immer die drei Spalten links von der aktuellen.
Ausserdem ist es einfacher, die Spalten durch Variablen zu ersetzen. In FormulaR1C1 kannst du einfach die variable in die Formel basteln, während du mit der FormulaLocal schreibweise immer erst den Spaltenindex in Buchstaben umrechnen musst.
Eigentlich gibt es gar keinen Grund, R1C1 NICHT zu benutzen -- ausser der Gewohnheit vielleicht.
Grüße,
Klaus M.vdT.

Anzeige
FormulaLocal
07.01.2013 14:01:16
Rudi
Hallo Klaus,
anscheinend verwechselst du .FormulaLocal und .Formula.
Ansonsten hast du Recht.
Gruß
Rudi

AW: FormulaR1C1
07.01.2013 14:14:00
Mäxl
Hallo Klaus
Danke!
Vielleicht liegt es auch daran das ich NIE mit aktiver Zelle arbeite...(dann könnte es Vorteile haben)
wenn Du in F2 die Formel jetzt eintragen würdest hättest du mit R1C1 den gleichen Fehler wie bei formula...
und ich wandle auch keine Spaltennummern in Buchstaben um. :)
dafür würde es ja Notfalls address geben.
und falls mal eine Formel über VBA eingefügt wird arbeite ich mit resize, oder einfach Bereich übergeben.
z.B A und B in C multipliziert
Range(Cells(1, 3), Cells(Rows.Count, 2).End(xlUp)(1, 2)).Formula = "=A1*B1"
p.s musste =SUM($C2:$E2)
nicht in R1C1
"=SUM(RC2:RC4)" sein
lg
Mäxl

Anzeige
AW: FormulaR1C1
07.01.2013 13:58:33
Jan
danke euch!
Hat mir gleich weitergeholfen! :)
Viele Grüße
Jan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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