Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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)

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

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige