Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Summe mit Makro - verschiedene Spalten

Summe mit Makro - verschiedene Spalten
09.01.2007 12:26:35
Erwin
Hallo zusammen,
ich suche eine Lösung für folgendes Problem:
In Spalte A habe ich jede Menge Aktenzeichen, die nacheinander aufsteigend sortiert sind, in Spalte B sind Einzelbeträge.
Ich möchte nun in Spalte C die Summe je Aktenzeichen; d. h. wenn in Spalte A eine andere Zahl steht, müsste er zuvor summieren, am besten in der ersten Zeile des zu summierenden Aktenzeichens.
Falls die Beschreibung nicht eindeutig sein sollte, siehe Beispielsdatei.
https://www.herber.de/bbs/user/39504.xls
Super wäre es, wenn mann die Spalten A, B, und C variabel einsetzen könnte (irgend ein Fenster geht auf,... und man kann evtl. auch andere Spalten eingeben.
Grüße Erwin

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 12:33:00
Thomas
Die Formel lautet (einfache Version):
=WENN(A2A1;SUMMEWENN(A:A;A2;B:B);"")
Die kompliziertere Version mit variablen Spaltennamen und Popup-Fenster geht dann nur mit VBA.
Gruß,
Thomas
Summe OHNE Makro - verschiedene Spalten
09.01.2007 12:35:20
Klaus
Hallo Erwin,
Ich würd das ja so machen:
C2: =WENN(ZÄHLENWENN($A$2:A2;A2)=1;SUMMEWENN($A$2:$A$12;A2;$B$2:$B$12);"")
und runterkopieren bis C12.
Das "Spalten variabel machen" kanst du mit dem "INDIREKT" Befehl realisieren.
Hilft dir das?
Gruß,
Klaus M.vdT.
P.S.: Frage noch offen, da explizit nach VBA-Lösung gefragt wurde
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 12:35:39
Rudi
Hallo,
warum denn Makro?
=WENN(ZÄHLENWENN($A$2:A2;A2)=1;SUMMEWENN(A:A;A2;B:B);"")
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 13:20:14
EtoPHG
Hallo Erwin,
Noch eine kurz und kleine Lösung:

=WENN(A1<>A2;SUMMEWENN(A:A;A2;B:B);"")

Und als VBA Funktion:

Public Function sumErwin(dieseKolonne As Range, _
dieserWert As Range, _
Optional dieseSumme As Range) As Variant
Application.Volatile
If dieserWert.Cells.Offset(0, 0).Value <> dieserWert.Cells.Offset(-1, 0).Value Then
sumErwin = Application.WorksheetFunction.SumIf(dieseKolonne, _
dieserWert, _
IIf(dieseSumme Is Nothing, dieseKolonne, dieseSumme))
Else
sumErwin = ""
End If
End Function

und damit Formel:

=sumErwin(A:A;A2;B:B) und runterkopieren

Gruss Hansueli
Anzeige
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 12:49:58
Erwin
Hallo zusammen,
alle drei Lösungen sind super und führen zum richtigen Ergebnis.
An einer VBA Lösung bin ich deshalb interessiert, weil ich diese dann in meine persönliche Sammlung aufnehmen kann und immer wieder parat habe.
Wenn einer Lust und Laune hat, bitte mal versuchen.
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 13:06:36
Dani
Hier mal ein Ansatz für eine VBA Lösung:

Sub Summe()
Dim z, y, Listenlänge As Long
Dim Aktenzeichen, Einzelbetrag, Summe As Integer
'Aktenzeichen = InputBox("In welcher Spalte sind die Aktenzeichen")
'Einzelbetrag = InputBox("In welcher Spalte sind die Einzelbeträge")
'Summe = InputBox("In welcher Spalte sind die Summen")
Aktenzeichen = 1
Einzelbetrag = 2
Summe = 3
y = 0
Listenlänge = Cells(Rows.Count, 1).End(xlUp).Row  'Spalte A länge ermitteln
Cells(2, Summe) = Cells(2, Einzelbetrag)
For z = 3 To Listenlänge
If Cells(z, Aktenzeichen) = Cells(z, Aktenzeichen).Offset(-1, 0) Then
y = y - 1
Cells(z, Summe).Offset(y, 0) = Cells(z, Summe).Offset(y, 0) + Cells(z, Einzelbetrag)
Else:
Cells(z, Summe) = Cells(z, Einzelbetrag)
y = 0
End If
Next
End Sub

Gruss Dani
Anzeige
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 13:20:12
Erwin
Hallo Dani,
herzlichen Dank für's Makro, es funzt richtig!
(nur bei der 3. Abfrage nach der Spalte für die Summe muss ich anstelle Spalte C die Ziffer 3 eingeben; vielleicht kann man das noch ändern (Laufzeitfehler 13 - Typen unverträglich?)
Grüße Erwin
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 13:59:05
Dani
Hallo,
wenn du die Spalte mit "C" bezeichnen willst musst du die Cells-Anweisungen in Range Anweisungen umschreiben...
Gruss
Dani
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 16:02:48
Erwin
Hallo nochmals,
konnte es erst jetzt ausprobieren; klappt alles, aber dass die Spalten A, B und C variabel sind, geht noch nicht; nachdem ich selbst kein VBA kann, kann ich's auch nicht ändern.
Es passiert nämlich nichts, wenn das Aktenzeichen in C, der Einzelbetrag in E ist und die Summe nach G soll (auch wenn ich das so in die MsgBox eingebe).
Was nun?
Grüße Erwin
Anzeige
AW: Summe mit Makro - verschiedene Spalten
09.01.2007 16:10:47
EtoPHG
Hallo Erwin,
Erstens, wundere ich mich, warum Du unbedingt VBA willst, wenn Dir Formeln angeboten werden, die a) völlig flexibel sind und b) keine VBA Kentnisse verlangen.
Zweitens, wundere ich mich, dass Du die Antworten nicht liest, denn ich hab Dir eine User Function in VBA angeboten (siehe oben), die Deinen Ansprüchen von Dynamik genügen sollte.
Dort würde dann die Funktion schlicht In G2 =sumErwin(C:C;C2;E:E) stehen.
Gruss Hansueli

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige