bitte um Eure Hilfe.
Hat jemand ein Bsp-Code für Fitern einer Tabelle zuerst nach Jahr und dann nach Z.B. Autosorte?
Ich möchte z.B. efahren wieviel VW's im Jahr 2016 verkauft wurden.
Für Eure Hilfe bedanke ich mich im voraus.
LG, Peter
Sub Filtern()
Dim Datum1 As Date
Dim Datum2 As Date
' Prüfen, ob Filter gesetzt wurde
With Sheets("XYZ")
If .AutoFilterMode = True Then
Else
.Range("B6:N6").AutoFilter
End If
End With
'Tabelle Filtern nach Datum
DatumX = InputBox("Bitte geben Sie ein Jahr ein: ")
Datum1 = Format(DateValue("01.01." & Val(DatumX)), "0")
Datum2 = Format(DateValue("31.12." & Val(DatumX)), "0")
Rows("6:6").AutoFilter Field:=4, Criteria1:=">=" & CDbl(Datum1), Operator:=xlAnd, Criteria2:="
Schönes Wochenende,Öffne Excel und lade die Tabelle, die Du filtern möchtest.
Drücke ALT + F11, um den VBA-Editor zu öffnen.
Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
Kopiere den folgenden VBA-Code in das Modul:
Sub Filtern()
Dim Datum1 As Date
Dim Datum2 As Date
Dim DatumX As String
' Prüfen, ob Filter gesetzt wurde
With Sheets("XYZ") ' Ersetze "XYZ" durch den Namen Deines Arbeitsblatts
If .AutoFilterMode = True Then
.AutoFilterMode = False
End If
.Range("B6:N6").AutoFilter
End With
' Tabelle filtern nach Jahr
DatumX = InputBox("Bitte geben Sie ein Jahr ein: ")
Datum1 = Format(DateValue("01.01." & Val(DatumX)), "0")
Datum2 = Format(DateValue("31.12." & Val(DatumX)), "0")
Rows("6:6").AutoFilter Field:=4, Criteria1:=">=" & CDbl(Datum1), Operator:=xlAnd, Criteria2:="<=" & CDbl(Datum2)
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Führe das Makro aus, indem Du ALT + F8 drückst, das Makro „Filtern“ auswählst und auf „Ausführen“ klickst.
Gib das Jahr ein, nach dem Du filtern möchtest, und klicke auf „OK“.
Fehler: "Typenkonflikt" beim Ausführen des Codes.
Fehler: Der Filter wird nicht angewendet.
Sheets("XYZ") angegeben hast. Ersetze "XYZ" durch den tatsächlichen Namen Deines Arbeitsblatts.Falls Du den Filter nicht über VBA anwenden möchtest, kannst Du auch die Filterfunktion in Excel direkt nutzen:
Daten > Filtern.Diese Methode ist einfacher, benötigt aber manuelle Eingaben und ist weniger automatisiert als der VBA-Ansatz.
Angenommen, Du hast eine Tabelle mit Verkaufsdaten, und Du möchtest die Verkäufe von VW im Jahr 2016 filtern. Verwende den obenstehenden VBA-Code und gib „2016“ ein, wenn Du zur Eingabe aufgefordert wirst.
Der Code filtert die Tabelle und zeigt Dir nur die Zeilen, die die Verkaufszahlen für VW im Jahr 2016 enthalten. Achte darauf, dass die Spalte, die Du filterst, die Verkaufsdaten korrekt enthält.
1. Kann ich den Code anpassen, um nach mehreren Jahren zu filtern?
Ja, Du kannst mehrere Filterkriterien hinzufügen, indem Du die Zeile mit Rows("6:6").AutoFilter entsprechend änderst.
2. Funktioniert dieser VBA-Code in Excel 2016?
Ja, der Code ist kompatibel mit Excel 2016 und anderen Versionen von Excel, die VBA unterstützen. Achte darauf, die richtigen Datumsformate zu verwenden.