Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

Dynamische Summenbildung

Dynamische Summenbildung
08.05.2020 14:54:03
Thomas
Guten Tag zusammen,
ich bin blutiger Anfänger was VBA oder generell Programmiersprachen angeht, muss mich nun jedoch damit befassen. Mir wurde eine Tabelle entworfen, die ich nun sukzessive gerne verstehen würde, damit ich sie auch nach meinen Wünschen verändern kann.
Ein Teil der Tabelle berechnet mir aus mehreren Spalten und dynamischen Zeilen Summen. Am Ende der Tabelle stehen dann 6 Summen, die ich nun in einer weiteren Zeile zu einer Gesamtsumme addieren möchte. Der Ort dieser Gesamtsumme ist jedoch ebenfalls dynamisch, dadurch, dass die Zahl der Zeilen dynamisch ist.
Was feststeht ist, dass die 6 Zahlen in dem Bereich "2 über und 1 rechts" bis "1 über und 3 rechts" von dem Ort sind, in der die Gesamtsumme ausgewiesen werden soll. Um es etwas zu veranschaulichen:
A__________B__________C__________D__________E__________F
1
2
3_____________________100________200________300
4______________________10_________20_________30
5 ______=SUMME(C3:E4)
6
7
8
Die Zeile unter der Tabelle ist bereits definiert als "TabellenEnde", die Zahl 100 steht also z.b. in "TabellenEnde +2, 3"
Meine konkrete Frage ist also: Wie bestimme ich eine Range, ohne feste Zellen zu benutzen, sondern anhand der Zelle der Summenbildung oder dem Tabellenende?
Vielen lieben Dank im Voraus!
LG
Thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Summenbildung
08.05.2020 15:02:00
onur
Einfach Formeln auf Z1S1-Format stellen und diese Formel benutzen:
=SUMME(Z(-2)S(1):Z(-1)S(3))
AW: Dynamische Summenbildung
08.05.2020 15:27:05
Daniel
Hi
wenn du sowas direkt in VBA angeben willst, brauchst du auch nichts umstellen.
wenn du die Formel wie von onur beschrieben per VBA in eine Zelle schreiben willst, reicht:
Range("B5").FormulaR1C1 = "=Sum(R[-2]C[1]:R[-1]C[3])"

der Recorder zeichnet das übrigens auch genau so auf, man muss sich das nicht selbst ausdenken, sondern man kann die Formel wie gewohnt von Hand in die Zelle schreiben.
direkt in VBA könnte man das von der Ausgangszelle aus mit Offset erreichen:
dim ZielZelle as Range
set ZielZelle = Range("B5")
ZielZelle.Value = Worksheetfunction.Sum(Range(ZielZelle.Offset(-2, 1), ZielZelle.Offset(-1, 3)))
oder man geht über die linke obere ecke und Anzahl Zeilen und Spalten:
dim ZielZelle as Range
set ZielZelle = Range("B5")
ZielZelle.Value = Worksheetfunction.Sum(ZielZelle.Offset(-2, 1).Resize(2, 3))
Gruß Daniel
Anzeige
AW: Dynamische Summenbildung
11.05.2020 14:52:17
Thomas
Vielen Dank euch beiden! Hat super funktioniert!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige