Excel-Makro - Summen relativ erweitern

Hallo,
ich arbeite erst seit kurzer Zeit mit Makros und bin nun an meine Grenzen gestoßen :smile:

Ich habe eine Buchhaltungstabelle, für die ich ein Makro geschrieben habe, um über eine Maske eine zusätzliche Zeile einzufügen. anschließend sollen noch die in der nächsten Zeile enthaltenen Summen der einzelnen Spalten erweitert werden. D.h. die vorhandenen Summen müssten einfach um eine Zeile relativ erweitert werden, ohne den Anfangswert der Summe zu verändern.
Gibt es denn dazu einen bestimmten Befehl mit dem ich das einfach realisieren kann.

Ich hoffe ich hab’s genau genug beschrieben, ansonsten kann ich gerne auch noch eine Beispieldatei hochladen.

Vielen Dank schonmal im Voraus
Gruß Andreas

Ich habe eine Buchhaltungstabelle, für die ich ein Makro
geschrieben habe, um über eine Maske eine zusätzliche Zeile
einzufügen. anschließend sollen noch die in der nächsten Zeile
enthaltenen Summen der einzelnen Spalten erweitert werden.
D.h. die vorhandenen Summen müssten einfach um eine Zeile
relativ erweitert werden, ohne den Anfangswert der Summe zu
verändern.
Ich hoffe ich hab’s genau genug beschrieben, ansonsten kann
ich gerne auch noch eine Beispieldatei hochladen.

Hi Andreas,

wenn du mit Rows(„5:5“).Insert eine Zeile einfühst in einen Summenbereich so passt doch Excel automatisch den Summenbereich an.

Wenn das nicht reicht als Info lade eine Mappe hoch, ggfs. mit FAQ:2861

Gruß
Reinhard

Hallo Andreas.

Wenn Du die Summen in Deiner Tabelle mit der Funktion „=SUMME“ berechnest, kannst Du Dir mit den Funktionen „=VERKETTEN“ und „=ANZZAHLLEEREZELLEN“ in einer Hilfszelle den Bereich als Text „zurechtbasteln“ und in Deiner Funktion „=SUMME“ mit der Funktion „=INDIREKT“ Bezug auf den erforderlichen Bereich nehmen.

Falls Du die Summen in VBA berechnest, sollte Dir die die Eigenschaft „UsedRange.Rows.Count“ des aktiven Blattes weiterhelfen.

VG
Carsten

Hallo,
vielen Dank schonmal, aber ich glaub das war’s leider noch nicht ganz.
Mein Problem ist, dass ich am Ende eine neue Zeile einfüge. Diese soll dann in einer Summe enthalten sein:
d.h. die Funktion sollte so lauten „=SUM(R[1]C:R[x]C)“
, wobei sich x mit jeder hinzugefügten Zeile um 1 erhöht.
Also die Frage ist wie ich es schaffe, das x nicht fest zu machen, sondern immer „relativ“ um eins zu erhöhen.

Nochmals vielen Dank
Gruß
Andreas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Mein Problem ist, dass ich am Ende eine neue Zeile einfüge.
Diese soll dann in einer Summe enthalten sein:
d.h. die Funktion sollte so lauten „=SUM(R[1]C:R[x]C)“
, wobei sich x mit jeder hinzugefügten Zeile um 1 erhöht.

Hi Andreas,

=SUM(INDIRECT(„A1:A“&COUNT(A:A)))

=SUM(A:A)

Gruß
Reinhard

Hallo Reinhard,
leider immer noch nicht ganz.
Meine Excel Tabelle enthält untereinander einzelne Einträge, die verschiedene Untereinträge (Zeilen darunter) haben und diese würde ich gerne aufsummieren.
Wenn ich ganz normal das Makro aufzeichne müsste es in etwa so aussehen:

'zeile einfügen
Selection.Insert Shift:=xlDown
ActiveCell.Offset(-6, 1).Range(„A1“).Select
'summen erweitern
ActiveCell.FormulaR1C1 = „=SUM(R[1]C:R[6]C)“
ActiveCell.Select
'hier z.b. wird eine zeile eingefügt und die anzahl an unterkategorien von 5 auf 6 erhöht…

nur wenn ich das mit dem count-Befehl mache zählt er mir ja alle Einträge über die Komplette tabelle.
Anhand einer Beispieldatei wird’s wahrscheinlich ersichtlicher, kann ich allerdings erst heute Abend hochladen.

Danke
Andreas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hier nochmal ein download link:
http://rapidshare.com/files/173564941/bsp.xls.html

das makro erstellt eine neue zeile und erweitert die summe wie oben beschrieben.
nur wie kann ich das automatisieren für danach neu eingefügte zeilen?

danke
andreas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

http://rapidshare.com/files/173564941/bsp.xls.html

das makro erstellt eine neue zeile und erweitert die summe wie
oben beschrieben.
nur wie kann ich das automatisieren für danach neu eingefügte
zeilen?

Hi Andreas,

ohne Vba wie folgend, mit Vba mußte mir sagen dann schreibe ich das nachher, muß jetzt weg.

Tabellenblatt: C:\DOKUME~1\ICHALS~1\LOKALE~1\Temp\[bsp.xls]!Tabelle1
 │ A │ B │ C │ D │
───┼───────────┼──────┼──────┼──────┤
 1 │ │ 2008 │ 2009 │ 2010 │
───┼───────────┼──────┼──────┼──────┤
 2 │ │ │ │ │
───┼───────────┼──────┼──────┼──────┤
 3 │ Auftrag 1 │ 0 │ 0 │ 0 │
───┼───────────┼──────┼──────┼──────┤
 4 │ │ │ │ │
───┼───────────┼──────┼──────┼──────┤
 5 │ Auftrag 2 │ 569 │ 3546 │ 23 │
───┼───────────┼──────┼──────┼──────┤
 6 │ │ 45 │ │ │
───┼───────────┼──────┼──────┼──────┤
 7 │ │ 434 │ │ │
───┼───────────┼──────┼──────┼──────┤
 8 │ │ 45 │ 3546 │ 23 │
───┼───────────┼──────┼──────┼──────┤
 9 │ │ 45 │ │ │
───┼───────────┼──────┼──────┼──────┤
10 │ │ │ │ │
───┼───────────┼──────┼──────┼──────┤
11 │ Auftrag 3 │ 0 │ 0 │ 6 │
───┼───────────┼──────┼──────┼──────┤
12 │ │ │ 0 │ 6 │
───┼───────────┼──────┼──────┼──────┤
13 │ │ │ │ │
───┼───────────┼──────┼──────┼──────┤
14 │ Summe │ 569 │ 3546 │ 29 │
───┴───────────┴──────┴──────┴──────┘
Benutzte Formeln:
B3 : =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Auftrag 2";$A:blush:A;0)-1))
B5 : =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Auftrag 3";$A:blush:A;0)-1))
B11: =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Summe";$A:blush:A;0)-1))
B14: =SUMME(B3:B13)/2
C3 : =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Auftrag 2";$A:blush:A;0)-1))
C5 : =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Auftrag 3";$A:blush:A;0)-1))
C11: =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Summe";$A:blush:A;0)-1))
C12: =SUMME(INDIREKT("A1:A"&ANZAHL(B:B)))
C14: =SUMME(C3:C13)/2
D3 : =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Auftrag 2";$A:blush:A;0)-1))
D5 : =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Auftrag 3";$A:blush:A;0)-1))
D11: =SUMME(INDIREKT(ZEICHEN(64+SPALTE())&ZEILE()+1&":"&ZEICHEN(64+SPALTE())&VERGLEICH("Summe";$A:blush:A;0)-1))
D12: =ANZAHL(B3:B9)
D14: =SUMME(D3:smiley:13)/2

A1:smiley:14
haben das Zahlenformat: Standard

Im englischen Excel lautet die Formel für B3:
 =SUM(INDIRECT(CHAR(64+COLUMN())&ROW()+1&":"&CHAR(64+COLUMN())&MATCH("Auftrag 2",$A:blush:A,0)-1))

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Gruß
Reinhard