Thema Datum  Von Nutzer Rating
Antwort
19.09.2021 18:48:59 Carsten
NotSolved
20.09.2021 10:11:12 ralf_b
NotSolved
20.09.2021 10:25:43 Mase
NotSolved
20.09.2021 21:44:53 Gast7583
NotSolved
20.09.2021 10:55:56 Der Steuerfuzzi
NotSolved
22.09.2021 15:47:20 Carsten
NotSolved
Rot Dashboard auf Basis PivotTabellen über VBA
22.09.2021 16:25:31 Carsten
NotSolved
22.09.2021 19:41:49 ralf_b
NotSolved
19.10.2021 08:50:30 Carsten
NotSolved
20.10.2021 11:21:12 Gast68550
NotSolved

Ansicht des Beitrags:
Von:
Carsten
Datum:
22.09.2021 16:25:31
Views:
311
Rating: Antwort:
  Ja
Thema:
Dashboard auf Basis PivotTabellen über VBA

Hallo zusammen,

hier meine Prozedure
~~~~~~~~~~~~~~~~~

Sub ProjektVertriebGesamt()

  'VARIABLENDEKLARATION
  strTabName = "PVGANZ"
  strPTName = "PT01"
  strPTCName = "PTC01"
  strQuelle = "Projekte"
  strSourceData = "PV_Projekte"

  'Quelltabele aktivieren
  Worksheets("Projekte").Activate

  'PivotCache erstellen
  Set pc = ActiveWorkbook.PivotCaches.Create( _
    SourceType:=xlDatabase, _
    SourceData:=strSourceData)

  'Tabellenblatt für die PivotTabelle erstellen
  Worksheets.Add after:=Worksheets(strQuelle)

  'Namen für das Tabellenblatt festlegen
  ActiveSheet.Name = strTabName

  'PivotTabelle erstellen
  Set pt = pc.CreatePivotTable(TableDestination:=Range("A3"), _
    TableName:=strPTName)

  'Felder zuordnen
  With pt
    'ZEILEN
    .PivotFields("Monat/Jahr").Orientation = xlRowField

    'SPALTEN
    '.PivotFields("Betreuer (validiert)").Orientation = xlColumnField

    'WERTE
    With .PivotFields("Projekt")
      .Orientation = xlDataField
      .NumberFormat = "0"
      .Function = xlCount
      .Name = "Anzahl von Projekte"
    End With

    'FILTER
    .PivotFields("Abteilung").Orientation = xlPageField
  End With

  'FILTER SETZEN
  ' Werte zuweisen
  Set pt = ActiveSheet.PivotTables(strPTName)
  Set pf = pt.PivotFields("Abteilung")

  'ITEMS 'VERTRIEB' anzeigen
  For Each pi In pf.PivotItems
    Select Case pi.Name
      Case "Vertrieb"
        pi.Visible = True   ' Auswahl einblenden
      Case Else
        pi.Visible = False  ' Rest ausblenden
      End Select
  Next


  'Namen der PivotTabelle schreiben
  ActiveSheet.Range("D1").Value = ActiveSheet.PivotTables(strPTName).Name

' DIAGRAMM
  ' PivotTabelle aktivieren
    Worksheets(strTabName).Activate
  ' Ermittlung Wertebereich
    lastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row    ' Ermittlung letzte beschriebene Zeile
    lastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column ' Ermittlung letzte beschriebene Spalte

  ' Wertebereich festlegen
    Set WerteBereich = Worksheets(strTabName).Range(Cells(1, 1), Cells(lastRow, lastCol))

  ' Diagramm erstellen
    Set MeinDiagramm = Worksheets(strTabName).Shapes.AddChart2( _
      Style:=234, _
      XlChartType:=xlLineMarkers, _
      Left:=400, _
      Top:=10, _
      Width:=600, _
      Height:=200, _
      Newlayout:=True).CHART
    
  ' Name festlegen
    ActiveSheet.ChartObjects(1).Name = strPTCName
  ' Das eingebettete Diagramm bearbeiten
    Worksheets(strTabName).ChartObjects(1).Activate                   ' Aktivierung
    With ActiveChart
      .SetElement (msoElementLegendNone)                    ' OHNE Legende
      .SetElement (msoElementChartTitleNone)                ' OHNE Diagrammtitel
      .ShowAllFieldButtons = False                          ' OHNE Steuerelemente
      .SetElement (msoElementPrimaryValueGridLinesMajor)    ' MIT Gitternetzlinien Horizontal
      .SetElement (msoElementPrimaryCategoryGridLinesMajor) ' MIT Gitternetzlinien VERTIKAL
    End With
    ActiveChart.FullSeriesCollection(1).Trendlines.Add _
      Type:=xlLinear, _
      Forward:=0, _
      Backward:=0, _
      DisplayEquation:=0, _
      DisplayRSquared:=0, _
      Name:="Linear (Vertrieb)"                                   ' Trendlinie einfügen
    ActiveChart.FullSeriesCollection(1).Trendlines(1).Select      ' Trendlinie markieren
    With Selection.Format.Line                                  ' Trendlinie formatieren
      .Visible = msoTrue
      .DashStyle = msoLineLongDash
      .Weight = 1
    End With
End Sub

~~~~~~~~~~~~~~~~~

Es gibt noch eine zweite Prozedure die einen abweichenden Zeileneintrag hat. Zusätzlich wird auch ein Balkendiagramm erzeugt.

Folgendes habe ich in einer separaten Arbeitsmappe ausprobiert

  1. Ausführen der Prozeduren (inkl. Diagramm-Erstellung) wie oben dargestellt. Dashboard OHNE komplette Funktion
  2. Ausführen der Prozeduren (ohen Diagramm-Erstellung per VBA) und Diagramme manuell erzeugt. Dashboard OHNE Funktion
  3. Erstellung PivotTabellen und PivotChart manuell. Dashboard hat VOLLE Funktion

Somit liegt ein Fehler schon vor bei der Erzeugung der zugrundeliegenden PivotTabelle. NUR WELCHER, das ist heir die Frage?

Bitte meldet mir alle eure Anmerkungen. Ich hoffe nützliche Hinweise von euch zu bekommen.

Gruß Carsten


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
19.09.2021 18:48:59 Carsten
NotSolved
20.09.2021 10:11:12 ralf_b
NotSolved
20.09.2021 10:25:43 Mase
NotSolved
20.09.2021 21:44:53 Gast7583
NotSolved
20.09.2021 10:55:56 Der Steuerfuzzi
NotSolved
22.09.2021 15:47:20 Carsten
NotSolved
Rot Dashboard auf Basis PivotTabellen über VBA
22.09.2021 16:25:31 Carsten
NotSolved
22.09.2021 19:41:49 ralf_b
NotSolved
19.10.2021 08:50:30 Carsten
NotSolved
20.10.2021 11:21:12 Gast68550
NotSolved