VBA Filter nach Quartal variabel
#1
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.
LG Herbert
Windows 10
Office 365
Top
#2
Hallo,

eine Beispieldatei hilft helfen. Mit dem Quelltextschnipsel kann man so viel nicht anfangen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
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
LG Herbert
Windows 10
Office 365
Top
#4
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste