PDA

Vollständige Version anzeigen : Makro Summenformel auf variablen Bereich anpassen


TSFC
29.09.2016, 18:27
Hallo Zusammen,

ich möchte gerne mittels Makro eine Summenformel erzeugen, die sich entsprechend des Bereiches anpasst.

Die Marko-Aufnahmefunktion ergibt foglendes:
ActiveCell.FormulaR1C1 = "=SUM(R[-7]C:R[-1]C)"

Wie bekommen ich es hin, dass der Bereich sich immer entsprechend anpasst?

Kann mir jemand weiterhelfen?

Gruss

Thomas

Luschi
29.09.2016, 18:56
Hallo Thomas,

welche Anstrengungen hast Du denn schon unternommen, um Dich auf dem Gebiet von dynamischen Bereichen in Excel Wissen anzueignen.
Tante 'Google' bringt bei den Stichworten "excel dynamischer bereich" genügend Beispiele, wie man so ein Problem lösen kann.

Gruß von Luschi
aus klein-Paris

erpe
29.09.2016, 19:24
Hallo Thomas,

Fragen: Immer in Spalte A? Immer ab A2?

Dann so:
Sub Makro7()
'
' Makro7 Makro
'
Dim letzteZeile As Long
letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Tabelle1").Range("A" & letzteZeile + 1).FormulaLocal = "=SUMME(A2:A" & letzteZeile & ")"

End Sub
Ansonsten musst du Anpassungen vornehmen.

Gruß
Rainer

TSFC
30.09.2016, 09:24
Hallo Luschi,

wenn man aus einem anderen Tätigkeitsbereich kommt und mit Programmierung nicht intensiv vertraut ist, findet man viele Antworten im Netz, die man aber nicht schafft auf seine Aufgabenstellung anzuwenden und wenn man nicht die Zeit hat, Tage in diese Aufgabenstellung zu investieren, wendet man sich an dieses Forum und hofft auf direkte Hilfestellung durch Experten.


Gruss

Thomas

TSFC
30.09.2016, 09:38
Hallo erpe,

nein, Aufgabe ist, ein Makro auf verschiedenene Datenblätter anzuwenden.

Mit dem Makro ohne direkten Zellbezug in eine bestimmte Zelle zu springen, bekomme ich hin. Mein Problem besteht darin, eine Summenformel zu generieren, die den darüberliegenden Bereich summiert.

Gruss

Thomas

Backowe
30.09.2016, 10:12
Hi Thomas,

um eine Formel in eine Zelle einzutragen, muss man den Cursor nicht über die Tabellenblätter spazieren führen.;) Aber das ist ein anderes Thema.

In deiner Summenformel gehe ich davon aus, daß immer der Bereich von der zweiten Zeile bis zu der Zeile oberhalb der Summenformel berechnet wird, die Spalte wird automatisch ermittelt, kannst du so schreiben:
"=SUM(INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,)&2):INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,)&ROW()-1))"

TSFC
30.09.2016, 10:33
Hi Backowe,

ja, das ist genau das was ich gesucht habe.

Vielen, vielen Dank.

Und vielen Dank für den Tipp "Man muss nicht über das ganze Blatt springen".
Werde ich umsetzen.

Genau auf solche Ratschläge habe ich gehofft. ;-)

Gruss

Thomas