Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nach Monat filtern

Forumthread: Nach Monat filtern

Nach Monat filtern
09.02.2004 16:12:55
Joachim
Guten Tag
Hab in der Recherche ein Makro gefunden indem ich über eine Inputbox nach dem Teil einer Zelle filtern kann.

Sub Filtern_AZ()
Dim q As Worksheet 'Quellblatt
Dim z As Worksheet 'Zielblatt
Set q = Worksheets("Mandantenliste")
Set z = Worksheets("Abrechnung")
Dim a As Variant
a = InputBox( _
prompt:="Aktenzeichen:", _
Default:=Format(""))
If a = "" Then Exit Sub
'vDat = CDate(vDat)
Range("d12").AutoFilter
Range("d12").AutoFilter _
Field:=4, Criteria1:="=" & a
End Sub

In Spalte A stehen nun Datums
12.02.2004
30.01.2004
23.01.2004
in dieser Form
nun möchte ich das Makro so abwandeln, das wenn ich die Inputbox 02 (Monat) eingebe diese gefiltert werden.
Ich hoffe ich habs einigermaßen erklärt
Schöne Grüße
Joachim
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach Monat filtern
09.02.2004 17:22:35
andre
hallo joachim,
schaue mal hier:
http://www.excelformeln.de/tips.html?welcher=58
http://www.excel-vba.de/1_bspdateien.htm
und als ansatz

Sub DatumFilter()
' Makro am 09.02.2004 von SchauAn aufgezeichnet
a = Application.InputBox( _
prompt:="Monat aus 2004:", Default:=1, Type:=1)
If a = "" Or a = 0 Or a > 12 Then
MsgBox "Fehleingabe"
Exit Sub
Else
a = Format(a, "0#")
End If
'vDat = CDate(vDat)
beginn = ">=" & a & "/01/2004"
ende = "<" & Format(a + 1, "0#") & "/01/2004"
If a = 12 Then _
ende = "<" & Format(a + 1, "0#") & "/01/2005"
[a1:a5].NumberFormat = "dd\/mm\/yyyy"
[a1].AutoFilter Field:=1, Criteria1:=beginn, Operator:=xlAnd _
, Criteria2:=ende
[a1:a5].NumberFormat = "dd/mm/yyyy"
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Nach Monat filtern in Excel


Schritt-für-Schritt-Anleitung

Um in Excel nach Monat zu filtern, kannst du ein einfaches Makro verwenden. Befolge diese Schritte:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (deine Arbeitsmappe)" und wähle "Einfügen" > "Modul".
  3. Kopiere das folgende Makro in das Modul:

    Sub DatumFilter()
       Dim a As Variant
       a = Application.InputBox( _
           prompt:="Monat aus 2004:", Default:=1, Type:=1)
       If a = "" Or a = 0 Or a > 12 Then
           MsgBox "Fehleingabe"
           Exit Sub
       Else
           a = Format(a, "0#")
       End If
       Dim beginn As String
       Dim ende As String
       beginn = ">=" & a & "/01/2004"
       ende = "<" & Format(a + 1, "0#") & "/01/2004"
       If a = 12 Then _
           ende = "<" & Format(a + 1, "0#") & "/01/2005"
    
       [A1:A5].NumberFormat = "dd/mm/yyyy"
       [A1].AutoFilter Field:=1, Criteria1:=beginn, Operator:=xlAnd, Criteria2:=ende
       [A1:A5].NumberFormat = "dd/mm/yyyy"
    End Sub
  4. Führe das Makro aus:

    • Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle DatumFilter aus und klicke auf "Ausführen".
  5. Gib den gewünschten Monat ein:

    • Eine Eingabeaufforderung erscheint. Gib den Monat (1-12) ein und klicke auf "OK". Excel filtert jetzt die Daten nach dem angegebenen Monat.

Häufige Fehler und Lösungen

  • Fehleingabe:

    • Wenn du einen ungültigen Monat eingibst (z.B. 13 oder -1), erscheint eine Fehlermeldung. Stelle sicher, dass du einen Monat zwischen 1 und 12 eingibst.
  • Datenformat:

    • Wenn das Datum nicht korrekt gefiltert wird, überprüfe, ob die Daten im richtigen Format (z.B. dd/mm/yyyy) vorliegen. Du kannst das Format in Excel anpassen, indem du die Zellen auswählst und mit der rechten Maustaste auf "Zellen formatieren" klickst.

Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du auch die integrierte Filterfunktion in Excel nutzen:

  1. Markiere deine Datenspalte.
  2. Wähle "Daten" > "Filtern".
  3. Klicke auf den Dropdown-Pfeil in der Kopfzeile deiner Datenspalte.
  4. Wähle "Datumsfilter" und dann "Im Monat" aus der Liste.
  5. Wähle den gewünschten Monat aus.

Diese Methode ist einfach, erfordert jedoch manuelles Eingreifen für jeden Monat.


Praktische Beispiele

Angenommen, du hast eine Liste von Datumswerten in Spalte A:

A1: 12.02.2004
A2: 30.01.2004
A3: 23.01.2004

Wenn du das oben stehende Makro ausführst und "01" eingibst, wird Excel die Zeilen mit den Datumswerten aus dem Januar 2004 filtern.


Tipps für Profis

  • Dynamische Datumsfilter: Überlege, das Makro so zu erweitern, dass es auch Jahre als Eingabewert akzeptiert. Dadurch kannst du flexibler mit deinen Daten arbeiten.

  • Verwendung von Namen: Statt feste Zellbereiche (z.B. A1:A5) zu verwenden, kannst du benannte Bereiche erstellen, um dein Makro noch flexibler zu gestalten.


FAQ: Häufige Fragen

1. Wie kann ich das Datum in einem anderen Format filtern? Du kannst das Datumsformat in der VBA-Anweisung anpassen, indem du NumberFormat änderst, z.B. NumberFormat = "mm/dd/yyyy".

2. Funktioniert das Makro in Excel 365? Ja, das Makro sollte in allen modernen Excel-Versionen, einschließlich Excel 365, funktionieren. Stelle sicher, dass Makros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige