Pivot-Tabelle mit MessageBox VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Pivot-Tabelle mit MessageBox VBA
von: Senseye
Geschrieben am: 04.11.2015 11:05:30

Grüßt euch,
ich würde gerne ein Makro schreiben, bei dem der Zeitbereich, der in einer Abfrage vermerkt ist als Pivot-Filterbereich verwendet wird.
Mit dem Makro-Rekorder kam jetzt folgender Code


  • Sub Makro1() Worksheets("TabelleXY").Select ActiveSheet.PivotTables("PivotTable3").PivotFields("Datum Abzug"). _ ClearAllFilters ActiveSheet.PivotTables("PivotTable3").PivotFields("Datum Abzug").PivotFilters. _ Add Type:=xlDateBetween, Value1:="15.06.2015", Value2:="31.12.2015" End Sub
    li>
    Wie kann ich den Wert 15.06 und 31.12 als Abfrage in den Code integrieren?
    Hoffe jemand hat einen Ansatz für mich :)
    Grüße

    Bild

    Betrifft: AW: Pivot-Tabelle mit MessageBox VBA
    von: fcs
    Geschrieben am: 04.11.2015 12:24:57
    Hallo Senseye,
    Die Verarbeitung von Datumswerten im Filter ist leider etwas tricky.
    Nachfolgend mit Eingabe beider Datums-Werte in eine Inputbox, Werte getrennt durch Zeichen #.
    Gruß
    Franz

    Sub Pivot_Datum_Abzug_von_bis()
    '
      Dim varAuswahl
      Dim datVon As Date, datBis As Date
      Dim strDatevon As String, strDateBis As String
      Dim strSep As String
      On Error GoTo Fehler
      strSep = "#" 'Trennzeichen bei Eingabe der Datumswerte
      varAuswahl = InputBox("Bitte von und bis-Datum eingeben getrennt durch """ _
        & strSep & """" & vbLf _
        & "Beispiele: 1.6.2015" & strSep & "30.9.2015  oder 1.6" & strSep & "31.12", _
        "Pivot-Tab - Datum Abzug", "")
      If varAuswahl = "" Then Exit Sub
      If InStr(varAuswahl, strSep) = 0 Then
        MsgBox "Die eingegebenen Datumswerte müssen durch """ & strSep & """ getrennt sein!", _
          vbOKOnly, "Pivot-Tab - Datum Abzug"
      Else
        strDatevon = Split(varAuswahl, strSep)(0)
        strDateBis = Split(varAuswahl, strSep)(1)
        datVon = CDate(strDatevon)
        datBis = CDate(strDateBis)
      '
        Sheets("TabelleXY").Select
        With ActiveSheet.PivotTables(1) 'bei mehreren Pivot-Tabs im Blatt - Name oder Index-nr.  _
    anpassen
          .RefreshTable
          With .PivotFields("Datum Abzug")
            .ClearAllFilters
            .PivotFilters.Add Type:=xlDateBetween, Value1:=CLng(datVon), Value2:=CLng(datBis)
          End With
        End With
      End If
      Exit Sub
    Fehler:
      MsgBox "Fehler-Nr.: " & Err.Number & vbLf & Err.Description & vbLf & vbLf _
        & "Problem bei der Verarbeitung eines der beiden Datumswerte" & vbLf _
        & "von: " & strDatevon & vbLf _
        & "bis: " & strDateBis, _
        vbOKOnly, "Makro: Pivot_Datum_Abzug_von_bis"
    End Sub
    


    Bild

    Betrifft: AW: Pivot-Tabelle mit MessageBox VBA
    von: Senseye
    Geschrieben am: 04.11.2015 13:02:41
    Vielen vielen dank! Funktioniert Prima!
    Danke, genau sowas habe ich gesucht :)
    Grüße

     Bild

    Beiträge aus den Excel-Beispielen zum Thema "Pivot-Tabelle mit MessageBox VBA"