#Excel# summierungen und liquidation von dazugehörigen summandenfeldern

webcamping

Mitglied
Hallo Community,

ich bin Praktikant am Uni-Klinikum in Greifswald und habe ein Problem mit der Bearbeitung einer excel Tabelle.

Leider ist es mir nicht gestattet eine Kopie der zu bearbeitenden Datei bereitzustellen.

Ich werd das Problem also umschreiben.

Tabelle- 5 Spalten, 1000+ Zeilen
Spalten: Name, Nummer, Anzahl, Summe der Anzahlen etc.

Entscheidend ist das Feld: "Nummer" und "Anzahl" und "Summe der Anzahlen"
Ein Beispiel:

1. Martin Schmidt | 2007556677 | 3 | 9 |
2. Martin Schmidt | 2007556677 | 3 | 6 |
3. Martin Schmidt | 2007556677 | 3 | 3 |
4. Sven Hannawald | 2007112233 | 2 | 6
5. Sven Hannawald | 2007112233 | 2 | 4
6. Sven Hannawald | 2007112233 | 2 | 2

In der Reihenfolge (Spalten):
Name, Nummer, Anzahl, Summe der Anzahl
Für uns ist allerdings nur das Feld 1 relevant, alle Anderen sollen gelöscht werden.
(und das möglichst nicht manuell). Für den Fall Sven Hannawald ist dann das Feld 4 relevant usw..
Summe der Anzahl wird mit der Formel:
=SUMMEWENN(B1:C452;B1:B452;C1:C452) berechnet.
Dies kann oder sollte vielleicht sogar geändert werden.
Natürlich müssen die ermittelten Summen visuell erhalten bleiben.

Zusammegefasst:
Summierung erneuern und Summandenfelder löschen.

Ich hoffe auf eine positive Antwort
In erwartungsvoller Haltung

Viele Grüße und schonmal vielen Dank im voraus
Thomas Jany
 
Uhhm, so ganz verstanden habe ich die Problemstellung nicht.

Kannst du mal nen vorher/nachher Zustand hier rein stellen?

Also das vorher steht ja oben, aber wie soll das Ergebnis dann aussehen?
 
Vorher:

1. Martin Schmidt | 2007556677 | 3 | 9 |
2. Martin Schmidt | 2007556677 | 3 | 6 |
3. Martin Schmidt | 2007556677 | 3 | 3 |
4. Sven Hannawald | 2007112233 | 2 | 6 |
5. Sven Hannawald | 2007112233 | 2 | 4 |
6. Sven Hannawald | 2007112233 | 2 | 2 |


Nacher:

1. Martin Schmidt | 2007556677 | 3 | 9 |
2. Sven Hannawald | 2007112233 | 2 | 6 |
 
Nachtrag (Spalten: Name; Nr.; Anzahl; Summe- Anzahl):

1. Martin Schmidt | 2007556677 | 3 | 9 |

Letztlich Spielt das Feld "Anzahl" ebenfalls keine Rolle mehr,
es dient im Grunde nur der Summierung.
Zur Auswertung wird nur das Feld "Summe-Anzahl" herangezogen.
 
Visual Basic:
Dim i As Long

For i=LetzteZeile To ErsteZeile Step-1   'LetzteZeile und ErsteZeile entsprechend anpassen

    If Tabelle1.Cells(i,1)=Tabelle1.Cells(i-1,1) Then

        Tabelle1.Cells(i-1,4)=Tabelle1.Cells(i,3)+Tabelle1.Cells(i-1,3)
        Tabelle1.Rows(i).Delete

    End If

Next
 
In Excel:
Menü "Extras - Makro - Visual Basic Editor"

Doppelclick auf Tabelle1
folgenden Code 1:1 eingeben:
Code:
Sub Main()
Dim i As Long

      For i=LetzteZeile To ErsteZeile Step-1   'LetzteZeile und ErsteZeile entsprechend anpassen
   
          If Tabelle1.Cells(i,1)=Tabelle1.Cells(i-1,1) Then

              Tabelle1.Cells(i-1,4)=Tabelle1.Cells(i,3)+Tabelle1.Cells(i-1,3)
              Tabelle1.Rows(i).Delete
 
          End If
 
      Next

End Sub

Wenn du den Code eingeben hast, einfach auf F5 drücken

EDIT: Wupps. Natürlich nicht 1:1 - Du musst "LetzteZeile" und "ErsteZeile" entsprechend ersetzen
Es muss irgendwie so aussehen dann:

For i=3586 To 2 Step-1
 
das hat leider nicht funktioniert- es mündete in einen Fehler "1004" Laufzeiterror.

Ich will es nochmal ein wenig konkretisieren:
hab mich in absprache dazu entschlossen es grafisch zu verdeutlichen...

darin alles weitere.

vielen Dank für die Mühen
Thomas
 

Anhänge

  • anforderung.jpg
    anforderung.jpg
    45,2 KB · Aufrufe: 18
Du musst natürlich die Spalte anpassen im Code oben. Ich bin von deinem Beispiel ausgegangen, welches in diesem Fall die 4. Spalte wäre.

Tabelle1.Cells(i-1,4)=Tabelle1.Cells(i,3)+Tabelle1.Cells(i-1,3)

Spalte 4 musst du mit der Zielspalte ersetzen, in deinem Fall Spalte "G", also aus der 4 eine 7 machen.

EDIT: Lösch mal die komplette Spalte "G" (Zielspalte) BEVOR du den Code ausführst!
 

Neue Beiträge

Zurück