automatische Summierung einzelner Bereiche

16/12/2007 - 12:46 von monxain | Report spam
Hallo Melanie, Hallo Leute,

Meine Frage bezieht sich auf den unteren Teil dieses Posts - der
thread war schon so alt das ich nicht einfach ne antwort drauf setzen
konnte

Die Lösung ist sehr gut und auch ich möchte diese verwenden - ich
habe
nur einen Änderungswunsch und zwar:



> Das Ergebnis sollte bei mir in der Zelle rechts + immer eine Zelle drüber neben der ersten Zahl einer Gruppe erscheinen.




Also wie folgt - z.B.

28
21
2
5


Kannst Du mir bitte helfen wie ich den Code dann abàndern muss - ich
bin noch`n greenhorn in vba
Danke schon mal für die Hilfe vorab



Newsgroups: microsoft.public.de.excel
Von: "Hermann Schwindenhammer" <h.schwindenham...@t-online.de>
Datum: Thu, 10 Oct 2002 20:40:21 +0200
Lokal: Do 10 Okt. 2002 19:40
Betreff: automatische Summierung einzelner Bereiche
Antwort an Autor | Weiterleiten | Drucken | Einzelne Nachricht |
Original anzeigen | Diese Nachricht melden | Nachrichten dieses
Autors
suchen
In einer Spalte befinden sich eine unterschiedliche anzahl von Zahlen
und
Leerzellen. Die Zahlen zwischen den Leerzellen bilden jeweils ein
Gruppe die
summiert werden sollen. Das habe ich bisher manuell durchgeführt.
Kann
man
diese Prozedur automatisieren?
=wenn(Leerzelle;SUMME nach oben bis Leerzelle.. oder so
Das Ergebnis sollte in der Zelle rechts neben der letzten Zahl einer
Gruppe
erscheinen.


Bin für jede Hilfe dankbar


MfG
Hermann

Melanie Breden Profil anzeigen
Weitere Optionen 10 Okt. 2002, 21:08


Newsgroups: microsoft.public.de.excel
Von: "Melanie Breden" <Mela...@m-breden.de>
Datum: Thu, 10 Oct 2002 22:04:29 +0200
Lokal: Do 10 Okt. 2002 21:04
Betreff: Re: automatische Summierung einzelner Bereiche
Antwort an Autor | Weiterleiten | Drucken | Einzelne Nachricht |
Original anzeigen | Diese Nachricht melden | Nachrichten dieses
Autors
suchen
Hallo Hermann,


"Hermann Schwindenhammer" schrieb:





In einer Spalte befinden sich eine unterschiedliche anzahl von Zahlen und
Leerzellen. Die Zahlen zwischen den Leerzellen bilden jeweils ein Gruppe


die

summiert werden sollen. Das habe ich bisher manuell durchgeführt. Kann man
diese Prozedur automatisieren?
=wenn(Leerzelle;SUMME nach oben bis Leerzelle.. oder so
Das Ergebnis sollte in der Zelle rechts neben der letzten Zahl einer


Gruppe

erscheinen.




dazu könntest du ein kleines Makro verwenden.

Füge folgendes Makro im VBA Editor in ein allgemeines Modul ein.
Weise
einem
Icon in der Symbolleiste oder einem Button/Grafik auf dem
Tabellenblatt
dieses Makro zu.
Du wirst zur Eingabe der Spaltenzahl aufgefordert in welcher die
Zahlen
summiert werden sollen. (A=1,D=4 etc.)


Sub GruppenSumme()
Dim i%, letzteZeile%, Spalte
Dim Wert, Summe
letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row


Spalte = Application.InputBox _
("in welcher Spalte sollen Gruppensummen durchgeführt werden?!" _
, "Eingabeaufforderung", "hier Spaltenzahl (1-256) eingeben")
If Spalte = "" Or Spalte > 256 Then Exit Sub


For i = 1 To letzteZeile
Wert = Cells(i, CInt(Spalte)).Value
If Wert <> "" And IsNumeric(Wert) Then
Summe = Summe + Wert
Wert = ""
If Cells(i, CInt(Spalte)).Offset(1, 0) = "" Then
Cells(i, CInt(Spalte)).Offset(0, 1) = Summe
Summe = 0
End If
End If
Next
End Sub


Wenn es immer die gleiche Spalte ist, kannst du diese Angabe fest im
Makro
vorgeben (hier Spalte C):


Sub GruppenSumme_()
Dim i%, letzteZeile%
Dim Wert, Summe
letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row


For i = 1 To letzteZeile
Wert = Cells(i, 3).Value
If Wert <> "" And IsNumeric(Wert) Then
Summe = Summe + Wert
Wert = ""
If Cells(i, 3).Offset(1, 0) = "" Then
Cells(i, 3).Offset(0, 1) = Summe
Summe = 0
End If
End If
Next
End Sub


Hilft dir das weiter?


mit Gruß
Melanie


Hermann Schwindenhammer Profil anzeigen
Weitere Optionen 12 Okt. 2002, 05:12


Newsgroups: microsoft.public.de.excel
Von: "Hermann Schwindenhammer" <h.schwindenham...@t-online.de>
Datum: Sat, 12 Oct 2002 06:06:42 +0200
Lokal: Sa 12 Okt. 2002 05:06
Betreff: Re: automatische Summierung einzelner Bereiche
Antwort an Autor | Weiterleiten | Drucken | Einzelne Nachricht |
Original anzeigen | Diese Nachricht melden | Nachrichten dieses
Autors
suchen
Danke für die schnelle Lösung, funktioniert einwandfrei.


Gruß
 

Lesen sie die antworten

#1 Melanie Breden
16/12/2007 - 14:12 | Warnen spam
Hallo,


"monxain" schrieb:
Meine Frage bezieht sich auf den unteren Teil dieses Posts - der
thread war schon so alt das ich nicht einfach ne antwort drauf setzen
konnte



ohja, der stammt ja aus 2002, und mich gibts hier immer noch :-)

Die Lösung ist sehr gut und auch ich möchte diese verwenden - ich habe
nur einen Änderungswunsch und zwar:

Das Ergebnis sollte bei mir in der Zelle rechts + immer eine Zelle drüber
neben der ersten Zahl einer Gruppe erscheinen.



versuche mal folgende Anpassung:
Allerdings dürfen die Zahlen erst ab Zeile 2 anfangen.

Sub GruppenSumme_()
Dim i As Long, j As Long, letzteZeile As Long
Dim Wert As Double, Summe As Double

' Spalte der Zahlen
Const strCol As String = "A"

With ActiveSheet
letzteZeile = .Cells(.Rows.Count, strCol).End(xlUp).Row

For i = 1 To letzteZeile
Wert = .Cells(i, strCol).Value
If Wert <> 0 And IsNumeric(Wert) Then
If j = 0 Then j = i
Summe = Summe + Wert
Wert = 0
If .Cells(i, strCol).Offset(1, 0) = 0 Then
.Cells(j, strCol).Offset(0, 1) = Summe
Summe = 0
j = 0
End If
End If
Next
End With
End Sub


Mit freundlichen Grüssen
Melanie Breden

- Microsoft MVP für Excel -
www.melanie-breden.de

Ähnliche fragen