gladmin
Goto Top

Zellen summieren wenn

Hallo,

ich habe zwei Spalten eine mit Fahrgestellnummern etwa 800 Stück und dazugehörige Beträge (für Reparatur) in der zweiten Spalte.
Also zellen A2 bis A800 Fgst Nummern und zellen B2 bis B800 die fälligen Beträge dür die Reparaturen.
In den Zellen A2 bis A800 tauchen Fahrgestellnummer auch mehrfach auf, da ein Fahrzeug mehrmals zur Reparatur in der Werkstatt gewesen sein kann. Demzufolge auch mehrere Beträge für die Reparatur für ein Fahrzeug berechnet wurden.

Jetzt benötige ich aber pro Fahrgestellnummer einen Gesamtbetrag aller Reparaturen.
Sprich mein ergebnis soll aussehen in Zelle C2 bis C... sollen die Fahrgestellnummern stehen (ohne Doppelte Einträge, da die Endbeträge ja summiert werden) und in Zelle D2 bis D... die Gesamtbeträge pro Fahrgestell.

Kann man das noch mit einer Excel Funktion lösen oder muss ich da ein Makro schreiben.
Hat da jemand einen Tip?

Content-Key: 128151

Url: https://administrator.de/contentid/128151

Ausgedruckt am: 29.03.2024 um 12:03 Uhr

Mitglied: H41mSh1C0R
H41mSh1C0R 28.10.2009 um 16:44:40 Uhr
Goto Top
nix makro, ein paar mausklicks und du hast das gewünschte Ergebnis:

1. Schritt Spaltenpaarweises Sortieren (Aufsteigend oder Absteigend, gibts schon ab Office2000)
2. Schritt Summenzelle in der C Spalte beim letzten Eintrag einer Fahrgestellnr
3. Schritt unten Gesamtsummenzelle hin und fertig

Das Ganze kannst du natürlich auch automatisieren :

Mit dem Makro:

Sortieren einer Range:


Sub Makro1()
    Range("A2:B800").Select  
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _  
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Jetzt dann noch mit einer Schleife von Zeile zu Zeile in Spalte A durchlaufen und prüfen ob die Nr von Zeile zu Zeile sich nicht verändert hat.
Ändert sie sich hast du das Ende der Fahrgestellnr erreicht und du bildest die Summe über die Teilrange in Spalte B und schreibst die in C. ^^
Mitglied: Gladmin
Gladmin 28.10.2009 um 16:55:30 Uhr
Goto Top
Hallo, danke für die Hilfe,
jedoch benötige ich es doch als Formel oder Makro, da die Anzahl der Fahrgestellnummern stark schwanken.
Hole mir meine Daten direkt per Makro aus unserer SQL Datenbank.
Es soll später fast automatisiert funktionieren, ohne dass ich jeweils pro Fahrgestellnummer manuell summieren muss.
Zumal ich mindesten 600 - 700 Fahrgestellnummern habe, tendenz steigend.
Mitglied: H41mSh1C0R
H41mSh1C0R 28.10.2009 um 17:04:03 Uhr
Goto Top
Im Grunde steht alles im ersten Post von mir.

Die Anzahl der Fahrgestellnummern ist wurst, wenn das automatisch läuft.

Angelpunkt ist das sortieren. danach kannst du die erste Spalte durchlaufen solange sich nix ändern gehören alle Beträge in Spalte B zur gleichen Fahrgestellnummer und so verfährst bis du unten angekommen bist. =)

Du schreibst du holst die Daten aus einer SQL DB und wo legst du die ab?
Mitglied: Gladmin
Gladmin 28.10.2009 um 17:15:13 Uhr
Goto Top
Hallo, danke dir nochmal für die Info, habe dein Makro erst nach schreiben meiner Antwort gesehen. Ich schreibe die Daten in ein Tabellenblatt.
Werde es gleich morgen mal testen. Habe es gerade per Pivot Tabelle versucht, jedoch bevorzuge ich doch den weg über ein Makro, damit es automatisiert läuft.
Mitglied: Ulmer
Ulmer 28.10.2009 um 17:19:01 Uhr
Goto Top
Hallo,

probier es doch mal mit einer Pivot-Tabelle.

Viele Grüße
Ulmer
Mitglied: bastla
bastla 28.10.2009 um 17:39:12 Uhr
Goto Top
Hallo Gladmin!

Eigentlich könnte es auch genügen, die Zelle A2 zu markieren, über das entsprechende Symbol (zB aufsteigend) zu sortieren, "Daten / Teilergebnisse" zu verwenden und das Ergebnis auf die Gliederungsebene 2 zu reduzieren ...

Grüße
bastla
Mitglied: TsukiSan
TsukiSan 28.10.2009 um 19:03:07 Uhr
Goto Top
...und wenn man dabei noch zufälligerweise den Makrorecorder laufen läßt.....

Gruß
Tsuki
Mitglied: bastla
bastla 28.10.2009 um 19:17:21 Uhr
Goto Top
... dann würde ich vermutich auch noch F5 drücken, über "Inhalte ..." die Option "Nur sichtbare Zellen" wählen, ein "Strg-C" und nach dem Wechseln in eine andere Tabelle (oder dem Einfügen eines zusätzlichen Blattes) ein "Enter" verwenden (und wenn ich Perfektionist wäre, vielleicht noch ein Strg-H mit der Eingabe " Ergebnis" - ja, auch das Leerzeichen soll weg - und dann "Alle ersetzen" nachreichen).

Grüße
bastla