Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable Summe

Variable Summe
10.10.2007 15:45:45
Melanie
Hallo Excel-Profis,
ich habe folgendes Makro ausprobiert:

Sub Summe()
Dim iBereich As Integer
iBereich = Range("C2").End(xlDown).Row
Range("B1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[1]C:R[iBereich]C)"
End Sub


Was ich damit versuche zu tun ist das Ende des Summenbereiches variabel anzupassen. Das ganze läuft aber auf einen Fehler. Hat jemand eine Idee?
Grüße, Melanie

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable Summe
10.10.2007 15:49:16
Gromminger
wie wäre es mit
zeile=2
do until cells(zeile,3).value=""
sum = sum + cells(zeile,3).value
zeile=zeile+1
loop

AW: Variable Summe
10.10.2007 15:53:00
Original
Hi,
Syntax:
ActiveCell.FormulaR1C1 = "=SUM(R[1]C:R[" & iBereich & "]C)"
Denke, du hast aber einen Logikfehler drin, aber vielleicht passt es.
mfg Kurt

AW: Variable Summe
11.10.2007 02:58:00
Daniel
Hi
der Logikfehler ist eigentlich nur, daß sie mit iBereich eine Absolute Zeilen-Nr abfragt, bis zu der sie Aufsummieren will, und dann diese absolute Zeilen-Nr als relativen Zellbezug verwendet.
dh. je nachdem, in welche Zeile sie die summenformel einträgt, ragt der Zellbezug der Summe über die mit iBereich gefundene Zeilen-Nr hinaus. (dh. mit dieser Formel wird nicht bis iBereich summiert, sondern bis iBereich + 1 )
da sie die Formel in die erste Zeile einträgt, ist der Fehler nicht gross, aber er ist da.
dh. kritisch wirds dann, wenn direkt nach der gefundenen Zeile in Spalte B noch daten Kommen, die aber nicht aufsummiert werden sollen.
daher sollte meiner ansicht nach iBereich als absoluter Zellbezug verwendet werden, dh. die Eckigen Klammern müssen auf der Formel raus. (und das select lassen wir auch gleich weg.)

Sub Summe()
Dim iBereich As Integer
iBereich = Range("C2").End(xlDown).Row
Range("B1").FormulaR1C1 = "=SUM(R[1]C:R" & iBereich & "C)"
End Sub


gruß, Daniel

Anzeige
AW: Variable Summe
10.10.2007 16:01:00
Walburga
Hi Melanie
test mal dies:

Sub tt()
ActiveSheet.Cells(1, 2) = WorksheetFunction.Sum(ActiveSheet.Range(Cells(2, 3), Cells(Cells(Rows. _
Count, 3).End(xlUp).Row, 3)))
End Sub


Gruss Walburga

AW: Variable Summe
10.10.2007 16:44:05
IngGi
Hallo Melanie,
oder ohne VBA:
 
 BC
16 
2 1
3 2
4 3
Formeln der Tabelle
B1 : {=SUMME(INDIREKT("C2:C"&MIN(WENN(C2:C5<>"";65537;ZEILE(C2:C5)))-1))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 

Gruß Ingolf

Anzeige
Danke!
11.10.2007 11:58:00
Melanie
Vielen Dank euch allen! Es funktioniert prima!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige