Clever-Excel-Forum

Normale Version: VBA Filter nach Quartal variabel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich möchte mit VBA eine Tabelle nach Quartal filtern.

Dazu folgender Code.

Code:
   Dim sTxt As String
   
       
   sTxt = InputBox("Quartal?" & Chr(13) _
   & Chr(13) & "Vorgabequartal = Aktuelles Quartal", _
   "Eingabe Quartal", Range("Quartal_akt").Value)
   
   ActiveSheet.ListObjects("FollowUp").Range.AutoFilter Field:=12, Criteria1:= _
       xlFilterAllDatesInPeriodQuarter2, Operator:=xlFilterDynamic

Laut Code wird nach Quartal 2 gefiltert.
Wie muss der folgende Teil ausschauen, wenn ich im Kriterium das Quartal aus der Inputbox übernehmen möchte?
xlFilterAllDatesInPeriodQuarter & sTxt geht nicht.
Hallo,

eine Beispieldatei hilft helfen. Mit dem Quelltextschnipsel kann man so viel nicht anfangen.
Hallo Klaus-Dieter,

das ist leider nicht möglich, weil eine Anonymisierung sehr lange dauern würde.

Ich habe es jetzt mit einer If Then Abfrage gemacht.
Das funktioniert.
Vielleicht gibt es etwas einfacheres.

Code:
  Dim sTxt As String
 
     
  sTxt = InputBox("Quartal?" & Chr(13) _
  & Chr(13) & "Vorgabequartal = Aktuelles Quartal", _
  "Eingabe Quartal", Range("Quartal_akt").Value)

   If sTxt = "1" Then
    ActiveSheet.ListObjects("FollowUp").Range.AutoFilter Field:=12, Criteria1:= _
        xlFilterAllDatesInPeriodQuarter1, Operator:=xlFilterDynamic
        Else
        If sTxt = "2" Then
        ActiveSheet.ListObjects("FollowUp").Range.AutoFilter Field:=12, Criteria1:= _
        xlFilterAllDatesInPeriodQuarter2, Operator:=xlFilterDynamic
            Else
            If sTxt = "3" Then
            ActiveSheet.ListObjects("FollowUp").Range.AutoFilter Field:=12, Criteria1:= _
            xlFilterAllDatesInPeriodQuarter3, Operator:=xlFilterDynamic
                Else
                If sTxt = "4" Then
                ActiveSheet.ListObjects("FollowUp").Range.AutoFilter Field:=12, Criteria1:= _
                xlFilterAllDatesInPeriodQuarter4, Operator:=xlFilterDynamic
                End If
            End If
        End If
    End If
Hallo,

niemand hat geschrieben, dass du deine Original-Datei hier einstellen sollst. Eine Beispieldatei spiegelt die echte Datei möglichst genau. Dabei reichen wenige Zeilen an Daten, die natürlich in ihrem Dateityp dem Original entsprechen müssen.