Hallo zusammen,
also zuerst einmal bin ich hier neu und kenne mich nicht so wirklich mit diesem Forum aus.
Aber ich versuche es mal.
Ich habe folgende Aufgae:
1. Ich habe eine Exceltabelle nach folgendem Aufbau:
A B C D
1 Art.Nr. Art.gr. Artbez. Menge
------- ------------- ------------ ------
2 129756 Bestecke Messer 120
3 129757 Bestecke Gabel 30
4 129758 Bestecke Löffel 50
5 129759 Bestecke Kuchengabel 10
6 129760 Bestecke Kaffeelöffel 26
7 124852 Brillengläser Sehhilfen 22
8 124851 Brillengläser Sehhilfen 45
9 124850 Brillengläser Sehhilfen 855
10 124849 Brillengläser Sehhilfen 65
11 124848 Brillengläser Sehhilfen 111
12 132408 Displays Haarspray 125
13 132419 Displays Shampoo 1.698
14 132407 Displays Schirme 100
15 132406 Displays Swiffer 200
16 132417 Displays Cremes 150
17 132411 Displays Lotion 198
Wir Ihr seht, gibt es Artikel mit gleicher Artikelgruppe (SpalteB).
Ich möchte jetzt gern via Makro eine Funktion einbauen, welche mir nach jeder eindeutigen Artikelgruppe eine Leerzeile einfügt und dort dann automatisch die Summe der Menge (SpalteD)einfügt.
Also das Ergebnis sollte dann so aussehen:
A B C D
1 Art.Nr. Art.gr. Artbez. Menge
------- ------------- ------------ ------
2 129756 Bestecke Messer 120
3 129757 Bestecke Gabel 30
4 129758 Bestecke Löffel 50
5 129759 Bestecke Kuchengabel 10
6 129760 Bestecke Kaffeelöffel 26
<u> <b>Bestecke</b> <b>236</b></u>
7 124852 Brillengläser Sehhilfen 22
8 124851 Brillengläser Sehhilfen 45
9 124850 Brillengläser Sehhilfen 855
10 124849 Brillengläser Sehhilfen 65
11 124848 Brillengläser Sehhilfen 111
<u><b> Brillengläser 1.098</b></u>
12 132408 Displays Haarspray 125
13 132419 Displays Shampoo 1.698
14 132407 Displays Schirme 100
15 132406 Displays Swiffer 200
16 132417 Displays Cremes 150
17 132411 Displays Lotion 198
<u><b> Display 2.471</b></u>
Die Leerzeile einzufügen habe ich ja hinbekommen aber ich scheitere an der Summierung.
Sub Leerzeilen()
Dim x, i, ergo
x = Range("L2")
For i = 3 To 65535
ergo = Range("B" & i)
If ergo x Then
Worksheets("Bestand").Rows(i).Insert
x = ergo
End If
Next i
End Sub
Irgendwie muss ich die Summierung ja nur in jeden Leerzeilenschritt einfügen. Aber wie ?
Ich will ja auch nicht die Summe immer bis A2 sondern wie in Excel die Summe bis zur vorherigen Summe ziehen.
Grüezi Silag
Das kannst Du ganz ohne VBA-Programmierung viel einfacher haben 
Lass die ganzen Leerzeilen weg und sortiere deine Daten nach Spalte B.
Dann Menü: ‚Daten‘ / Teilergebnisse
Gruppieren nach: 'Art. gr.
Unter Verwendung von: ‚Summe‘
Teilergebnis addieren zu: '[x]Menge
[OK]
Nun hast Du die gewünschten Zwischensummen und auch die Gesamtsumme eingefügt und zugleich auch noch eine Gruppierung der Zeilen.
Mit freundlichen Grüssen
Thomas Ramel
- MVP für MS-Excel -
Vielen lieben Dank.
Das hat wunderbar funktioniert.
Wieso auch einfach wenn es kompliziert geht oder ?