Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Analyse Pivot

Analyse Pivot
12.11.2018 21:30:21
Aeberhard
Hallo Zusammen
Im Rahmen des Studiums haben wir eine Arbeit in dem Modul Controlling vorzunehmen. Dabei geht es um die Auswertung eines Datensatzes, welcher monatlich wechselt (entsprechend habe ich eine Lösung mit Pivot angestrebt, damit die Datenquelle leicht angepasst werden kann)
Ich wäre euch zu grossem Dank verpflichtet, falls ihr mir mit Makro weiterhelfen könntet, da ich sonst keinen Lösungsweg sehe.. Das Problem sieht wie folgt aus:
Zu Tab BG-Analyse je Kunde
Als Datenquelle für die dargestellte Pivot Tabelle ist ein weiteres Excel, welches monatlich aus einer Software exportiert wird. Die angestrebte Lösung muss also zwangsweise mit einer Pivot gemacht werden, da ansonsten die Datenquelle nur sehr umständlich angepasst werden kann.
Aktuell werden alle Geschäfte angezeigt, unabhängig davon wie sehr der Bruttogewinn von dem Mittelwert des Debitor abweicht.
Ziel wäre es nur solche Geschäfte anzuzeigen, bei welchen der Bruttogewinn aus einem Bestimmten Bereich des Teilergebnisses des Debitor (da viele unterschiedliche Debitoren) abweicht (Beispielsweise +/- 10%) . Da je nach zugelassenem Abweichungsgrad mehr oder weniger Geschäfte angezeigt werden, sollte dieser zusätzlich in einer Zelle definiert werden können. (Bsp. Zelle I5)
Und als wäre die obere Anforderung nicht genug, wäre es noch toll wenn sowohl die Teilergebnisse sowie das Gesamtergebnis nicht durch den "Filter" verzerrt werden, sondern immer den wahren Wert widerspiegelt.
Zu Tab BG-Analyse je Verkäufer
Ähnlich wie bei der BG-Analyse je Kunde soll bei der BG-Analyse je Verkäufer nur diese Geschäfte angezeigt werden, welche dem durchschnittlichen Bruttogewinn des Verkäufer abweicht (Beispielsweise +/- 10%= Eingabe des Filterwertes über das Feld F1). Dabei soll auch hier das Gesamtergebnis nicht verfälscht werden durch den Filter, da man ansonsten keinen Vergleichswert hat.
Schlussendlich wäre es toll, wenn es eine Möglichkeit gäbe die vorhandene Tabelle des Verkäufers mit den zugrundeliegenden Daten zu exportieren ohne dabei sämtlich Daten aller Verkäufer mitzunehmen.
So wird der jeweilige Verkäufer aktuell über das Feld B1 bestimmt.
Danke und Gruss
David
Userbild

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Analyse Pivot
18.11.2018 15:07:47
fcs
Hallo David,
ja so ist das mit dem Studium. Da wid man schon mal vor neue Herausforderungen gestellt.
Beim Ausblenden der Zeilen, die außerhalb der Bandbreite liegen kann ich dir weiterhelfen.
Den Export der Auswertung der einzelnen Verkäufer könnte man so lösen, dass man in einer For-next-Schleife die Items (Verkäufernamen) des Seitenfeldes abarbeitet. Dabei werden nachdem die Pivat-tabelle aktualisiert wurde jeweils folgende Aktionen durchgeführt:
1. Der Wert für das Seitenfeld wird gesetzt und falls erforderlich die Pivot-tabelle aktualisiert.
2. Das makro zum Ausblenden der Zeilen wird ausgeführt.
3. Das komplette Blatt mit der Pivotauswertung wird in eine neue Datei kopiert
4. In der Kopie wird der benutzte Zellbereich kopiert und dann nur die Werte wieder eingefügt
Dadurch wird der Pivot-bereicht aufgelöst und es sind nur noch die daten des einen Verkäufers vorhanden.
5. Die Datei wird unter einem neuen namen gespeichert und geschlossen.
Mir ist nicht klar, was du mit
.... mit den zugrundeliegenden Daten zu exportieren ohne dabei sämtlich Daten aller Verkäufer mitzunehmen.
meinst. Willst du hier Daten aus der Quelldatei zusätzlich auslesen und in Datei zum jeweilgen Verkäufer übertragen?
Gruß
Franz
Sub Ausblenden_Kunde_Plus_Minus()
Dim wks As Worksheet
Dim Zeile As Long, Zeile_1 As Long, zeile_L As Long
Dim varDebitor
Dim dblGewinn As Double, dblMax As Double, dblMin As Double
Dim dblDelta As Double
Call Einblenden_Kunde_Zeilen
Set wks = ActiveWorkbook.Worksheets("BG-Analyse Kunde")
With wks
With wks.PivotTables(1).DataBodyRange
Zeile_1 = .Row
zeile_L = .Row + .Rows.Count - 1
End With
dblDelta = .Range("I5").Value
For Zeile = Zeile_1 To zeile_L
If varDebitor  .Cells(Zeile, 1).Value Then
varDebitor = .Cells(Zeile, 1).Value
dblGewinn = .Cells(Zeile, 6).Value 'Gewinn in Prozent in Spalte F
dblMin = dblGewinn - dblDelta 'oder dblGewinn * (1 - dblDelta)
dblMax = dblGewinn + dblDelta 'oder dblGewinn * (1 + dblDelta)
Else
If .Cells(Zeile, 6).Value  dblMax Then
.Rows(Zeile).Hidden = True
End If
End If
Next Zeile
End With
End Sub
Sub Einblenden_Kunde_Zeilen()
Dim wks As Worksheet
Set wks = ActiveWorkbook.Worksheets("BG-Analyse Kunde")
wks.UsedRange.EntireRow.Hidden = False
End Sub

Sub Ausblenden_Verkaeufer_Plus_Minus()
Dim wks As Worksheet
Dim Zeile As Long, Zeile_1 As Long, zeile_L As Long
Dim varDebitor
Dim dblGewinn As Double, dblMax As Double, dblMin As Double
Dim dblDelta As Double
Call Einblenden_Verkaeufer_Zeilen
Set wks = ActiveWorkbook.Worksheets("BG-Analyse Verkäufer")
With wks
With wks.PivotTables(1).DataBodyRange
Zeile_1 = .Row
zeile_L = .Row + .Rows.Count - 1
End With
dblDelta = .Range("F1").Value
dblGewinn = .Cells(.Rows.Count, 6).End(xlUp).Value 'Gesamt-Gewinn in Prozent in Spalte  _
F
dblMin = dblGewinn - dblDelta 'oder dblGewinn * (1 - dblDelta)
dblMax = dblGewinn + dblDelta 'oder dblGewinn * (1 + dblDelta)
For Zeile = Zeile_1 To zeile_L
If .Cells(Zeile, 6).Value  dblMax Then
.Rows(Zeile).Hidden = True
End If
Next Zeile
End With
End Sub
Sub Einblenden_Verkaeufer_Zeilen()
Dim wks As Worksheet
Set wks = ActiveWorkbook.Worksheets("BG-Analyse Verkäufer")
wks.UsedRange.EntireRow.Hidden = False
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige