Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten 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
Antworten 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
Antworten Top


Gehe zu:


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