Herbers Excel-Forum - das Archiv

Variierende Summe mittels Formel in VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox
Bild

Betrifft: Variierende Summe mittels Formel in VBA
von: Johannes

Geschrieben am: 08.01.2007 19:58:30
Hallo Leute ich habe ein "kleines" Problem in VBA:
ich moechte mittel zweier eigegebenen Daten in einem erstellten Excel Sheed verschieden Summationen durchfuehren. Hierzu wollte ich die Formel "Sum([von]:[bis])" je nach den eigegebenen Daten variieren lasssen. Ich kann aber, in die Fomel keine Variable einfuegen. "= SUM(RC[-"Diff1"]:RC[-1])" d.h. Diff1 wird nicht akzeptiert.
Dim Diff1 As Integer
FromDate = Sheet1.TextBox1.Value
ToDate = Sheet1.TextBox2.Value
Diff1 = DateDiff("d", FromDate, ToDate) + 1
ActiveCell.FormulaR1C1 = "= SUM(RC[-"Diff1"]:RC[-1])"
hat iergendwer eine Idee?
Vielen Dank im voraus,
Johannes
Bild

Betrifft: AW: Variierende Summe mittels Formel in VBA
von: Daniel Eisert

Geschrieben am: 08.01.2007 20:11:39
Hallo
doch du kannst deine Variable einfügen:
der Formeltext ist ja nichs anderen als eine String, und Strings werden mit dem &-Zeichen verbunden.
Wichtig ist allerding, daß das &-Zeichen immer zwischen 2 Leerzeichen steht, da es auch zur Kennzeichnung von Zahlen in einem anderen Zahlensystem dient, dann steht es aber direkt davor.
dein Code sieht dann so aus:
ActiveCell.FormulaR1C1 = "= SUM(RC[-" & Diff1 & "]:RC[-1])"
Gruß, Daniel
Bild

Betrifft: Danke
von: Johannes
Geschrieben am: 08.01.2007 20:13:18
Thanks!!
 Bild
Excel-Beispiele zum Thema "Variierende Summe mittels Formel in VBA"
Verhindern des Schließens einer UserForm mittels Schließkreuz Anzeigen von Werten und Formeln
Zeile einfügen und Formeln und Werte übernehmen Formeln mit Zelladressen speichern
Zeilenumbruch in Formel erzwingen Aktueller Arbeitsblattname in Formel
Variable in Formel einbauen Ein Zeichen in einer Formel suchen
Variable in Excel-Formel einbauen. Summenformel unter Zahlenreihe eintragen