[Excel] Addieren von Werten die an eine Bedingung geknüpft sind

Stef_an

Mitglied
Hallo,
ich komme mal wieder nicht weiter,

ich habe eine Datenliste in der in Spalte 1 Nummern stehen die auch häufiger vorkommen können diese haben in den Spalten 8 und 9 gewisse Werte
Nun möchte ich das per Makro die Werte in Spalte 8 die in Spalte 1 die gleiche Referenz haben addiert werden, das gleiche soll in Spalte 9 durchgeführt werden.

Das Ergebnis soll in Tabelle2 ausgegeben werden und zwar in der Form das die Referenz in Spalte 1 nur noch einmal in dieser Spalte vorkommt, die Werte aus Tabelle 8 bzw. 9 aus Tabelle1 addiert in die Spalten 8 und 9 der Tabelle2 übertragen werden.

Ich habe mal einen Dummy hochgeladen in dem man den Sollzustand sieht.

P.S.: Vollständigkeitshalber:
In meiner Arbeitsdatei habe ich auf Tabelle1 einen Button der das Makro starten soll.
Die Daten werden aus einer anderen Datei gezogen und das Ergebnis soll auf Tabelle2 meiner Arbeitsdatei erscheinen. Wie ich die andere Datei ansteuere, weiss ich, muss also nicht berücksichtigt werden.

Wäre nett wenn Ihr mir helfen könntet. Mein Kopp is momentan blockiert.

Danke!
 

Anhänge

  • Dummy.zip
    4,5 KB · Aufrufe: 13
Hallo nochmal,
habe jetzt schon ein wenig rumprobiert allerdings wird hier nicht addiert
Code:
Private Sub CommandButton1_Click()

Application.ScreenUpdating = False



Dim zeile1

Dim zeile2

Dim zeile3

Dim Summe

Dim Summe2



zeile1 = 2

zeile2 = 2

zeile3 = 2

Summe = 0

Summe2 = 0





Dim wb1 As Workbook

Dim ws1 As Worksheet

Set wb1 = Workbooks.Open("g:\GF-Berechnung\Datenquader_PTI13.xls")

Set ws1 = wb1.Worksheets("Sheet1")





Tabelle2.Range("A2:BT65536").Clear



ws1.Activate

Do While ws1.Cells(zeile2, 3) <> ""

   If ws1.Cells(zeile1, 3) <> ws1.Cells((zeile1) + 1, 3) Then

   Tabelle2.Cells(zeile3, 1) = ws1.Cells(zeile1, 3)

   Tabelle2.Cells(zeile3, 3) = ws1.Cells(zeile1, 8)

   Tabelle2.Cells(zeile3, 4) = ws1.Cells(zeile1, 9)

   zeile1 = zeile1 + 1

   zeile2 = zeile2 + 1

   zeile3 = zeile3 + 1

   

   Else:

   Do While ws1.Cells(zeile1, 3) = ws1.Cells((zeile1) + 1, 3)

    If ws1.Cells(zeile1, 3) = ws1.Cells((zeile1) + 1, 3) Then

         Do While ws1.Cells(zeile1, 3) = ws1.Cells((zeile1) + 1, 3)

         

         Summe = Summe + ws1.Cells(zeile1, 8)

         Summe2 = Summe2 + ws1.Cells(zeile1, 9)

         Tabelle2.Cells(zeile3, 3) = Summe

         Tabelle2.Cells(zeile3, 4) = Summe2

         

         zeile1 = zeile1 + 1

         'zeile2 = zeile2 + 1

         

                 

         Loop

         

    Else: Tabelle2.Cells(zeile3, 3) = Summe And Tabelle2.Cells(zeile3, 4) = Summe2

          zeile3 = zeile3 + 1

    End If

    

    

    

    Loop

    End If

    zeile2 = zeile2 + 1

    

    Loop

   

   

Application.ScreenUpdating = True

Tabelle2.Activate

wb1.Close

MsgBox ("Berechnung fertig")

End Sub

ich hoffe mir kann jmd helfen

Danke!
 

Neue Beiträge

Zurück