Hallo zusammen,
ich habe ein Problem und ich hoffe, Ihr könnt mir helfen.
Ich habe eine Tabelle mit Kundennummern, Produkte, Gruppe, Monaten, Jahren und Umsätze.
Die Spalten Kundennummer, Produkt, Gruppe, Umsatz und Jahr benenne ich mittels einer Variablen.
Nun muss ich neben der Tabelle die Umsätze pro Produkt jahresweise berechnen. Dies möchte ich mit der Formel Summewenns erledigen. Die Formel muss in den Zellen stehen, da die Werte für das Jahr 2017 noch eingetragen werden müssen und dann gleich berechnet werden sollen.
Das würde dann so aussehen:
Jahresumsatz 2015 nach Marke
84,14
Jahresumsatz 2016 nach Marke
95,45
Jahresumsatz 2017 nach Marke
0,00
Das Ganze muss über ein Makro laufen, da diese Tabelle auf Anfrage upgedatet werden muss und mal mehr und mal weniger Spalten enthält. Dies mache ich, indem ich eine Pivottabelle erstelle und diese dann kopiere. Danach lasse ich dann das Makro über das Blatt laufen.
Mein Makro sieht bis jetzt so aus:
Kunde = InputBox(" In welcher Spalte steht die Kundennummer?")
Marken = InputBox(" In welcher Spalte steht die Marke?")
Segment = InputBox("In welcher Spalte steht das Artikelsegment?")
Umsatz = InputBox("In welcher Spalte steht der Umsatz?")
Jahre = InputBox("In welcher Spalte steht das Jahr?")
Columns(Kunde).Name = "Partner"
Columns(Marken).Name = "Produkt"
Columns(Segment).Name = "Gruppe"
Columns(Umsatz).Name = "Ertrag"
Columns(Jahre).Name = "Periode"
SummeSegment = InputBox(" In welcher Spalte soll die Umsatzsumme für das Artikelsegment stehen?")
SummeMarke = InputBox(" In welcher Spalte soll die Umsatzsumme für die Marke stehen?")
SummeKundeGesamt = InputBox("In welcher Spalte soll die Umsatzsumme für den Kunden stehen?")
startZeile = 2
Set WS = ActiveSheet
zeile = startZeile
Do Until IsEmpty(WS.Cells(zeile, 8))
KDNr = WS.Cells(zeile, Kunde)
KDNr1 = WS.Cells(zeile + 1, Kunde)
MNR = WS.Cells(zeile, Marken)
MNR1 = WS.Cells(zeile + 1, Marken)
ANR = WS.Cells(zeile, Segment)
ANR1 = WS.Cells(zeile + 1, Segment)
'fügt die Formal für den Segmentumsatz ein
If KDNr = KDNr1 And _
MNR = MNR1 And _
ANR <> ANR1 Then
Cells(zeile - 5, SummeSegment).FormulaR1C1 = _
„=“„Jahresumsatz 2015 nach Artikelsegment“"&"" „“&RC[-5]"
Cells(zeile - 5, SummeSegment).Interior.ColorIndex = 24
Cells(zeile - 4, SummeSegment).FormulaR1C1 = _
„=SUMIFS(Ertrag,Partner,RC4,Produkt,RC6,Gruppe,RC7,Periode,MID(R[-1]C,14,4))“
Cells(zeile - 3, SummeSegment).FormulaR1C1 = _
„=“„Jahresumsatz 2016 nach Artikelsegment“"&"" „“&RC[-5]"
Cells(zeile - 3, SummeSegment).Interior.ColorIndex = 24
Cells(zeile - 2, SummeSegment).FormulaR1C1 = _
"=SumIfs(Ertrag,Partner,cells(Partner, zeile),Produkt,cells(Produkt, zeile),Gruppe,Cells(Gruppe, zeile),Periode,cells(Periode, Mid(zeile -1,14,4))"
Cells(zeile - 1, SummeSegment).FormulaR1C1 = _
„=“„Jahresumsatz 2017 nach Artikelsegment“"&"" „“&RC[-5]"
Cells(zeile - 1, SummeSegment).Interior.ColorIndex = 24
Cells(zeile, SummeSegment).FormulaR1C1 = _
„=SUMIFS(Ertrag,Partner,RC4,Produkt,RC6,Gruppe,RC7,Periode,MID(R[-1]C,14,4))“
zeile = zeile + 1
ect.
Leider funktioniert die fett markierte Zeile nicht, aber so hatte ich mir das in etwa vorgestellt.
Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt und Ihr könnt mir weiterhelfen.
VG Martina