Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Filtern nach Datum TTMMJJJJ

Filtern nach Datum TTMMJJJJ
17.07.2021 20:45:16
MarcB.
Guten Abend,
ich verzweifle aktuell am Aufsplitten einer Datei anhand einer Spalte. Ich versuche bei der beigefügten Datei eine monatsweise Aufteilung der Einträge nach Spalte E, also dem Datum der Zahlung. Die Angaben liegen wie in der Datei zu sehen als Angabe mit dem Format TTMMJJJJ vor. Ich löse dies bislang über den Filter in Zeile 1, wo ich aktuell "052021" eingebe um alle Werte mit Mai darin herauszufilter und diese dann auszuschneiden und in eine neue Datei einfügen.

Dim letzte As Long
letzte = Range("A2").End(xlDown).Row
Debug.Print letzte
Rows(1).Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$E$" & letzte).AutoFilter Field:=5, Criteria1:="=*062021", Operator:=xlAnd
ActiveSheet.Range("E2").CurrentRegion.SpecialCells(xlVisible).Copy
Workbooks.Add
ActiveSheet.Paste
Cells.AutoFilter
Rows(1).Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$E$" & letzte).AutoFilter Field:=5, Criteria1:="=*052021", Operator:=xlAnd
ActiveSheet.Range("E2").CurrentRegion.SpecialCells(xlVisible).Copy
Workbooks.Add
ActiveSheet.Paste
Cells.AutoFilter
Leider funktioniert es nicht sauber wenn ich dem Filter "052021" als Wert mitgebe. Da es bei händischer Eingabe allerdings funktioniert habe ich es mir im Makro-Recorder angesehen: Hier gibt er jedes verfügbare Datum das "052021" enthält als eigenen Filtereintrag, daher funktioniert das Filtern bei händischer Eingabe. Wie gelingt mir das mit einem Makro? Ich hatte es über eine Schleife versucht für jeden Tag die jeweilige Zahl in der oben genannten Schreibweise zu erstellen und alles in einen Filter einzubauen, dies hatte jedoch mangels Erfahrung nicht funktioniert.
Filter Für Mai-Daten

ActiveSheet.Range("$A$1:$E$126").AutoFilter Field:=5, Criteria1:=Array( _
"12052021", "17052021", "18052021", "19052021", "20052021", "21052021", "22052021", _
"25052021", "26052021", "27052021", "28052021", "29052021", "30052021", "31052021", _
"5052021", "7052021"), Operator:=xlFilterValues
Filter Für Juni-Daten

ActiveSheet.Range("$A$1:$E$126").AutoFilter Field:=5, Criteria1:="1062021"
https://www.herber.de/bbs/user/147175.xlsx

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filtern nach Datum TTMMJJJJ
17.07.2021 21:32:59
W.Stecher
Hey,
wenn die Datumswerte im Format TTMMJJJJ gespeichert sind, dann kannst Du auf die letzten sechs Ziffern filtern.
Für Mai 2001:

ActiveSheet.Range("$A$1:$E$126").AutoFilter Field:=5, Criteria1:="=*052021", Operator:=xlAnd
Gruß
W.Stecher
AW: Filtern nach Datum TTMMJJJJ
17.07.2021 21:40:51
W.Stecher
Noch ein kleiner Tip:
ich persönlich bevorzuge ThisWorkbook.Sheets("") anstatt ActiveSheet, weil Du damit auch mehrere Excelmappen parallel aufhaben kannst und alles im richtigen Tabellenblatt in der richtigen Excelmappe stattfindet, egal welches Tabellenblatt gerade in welcher Arbeitsmappe aktiv ist.
Also (den Tabellenblattnamen "Tabelle1" natürlich austauchen):

ThisWorkbook.Sheets("Tabelle1").Range("$A$1:$E$126").AutoFilter Field:=5, Criteria1:="=*052021", Operator:=xlAnd

Anzeige
AW: Filtern nach Datum TTMMJJJJ
17.07.2021 22:42:47
mumpel
Bei mir keine Probleme. Da hast Du zuwenig Rechte. Hast Du auch Administratorrechte, oder nur ein Benutzerkonto ohne Administratorrechte?
Hoppla. falscher Thread
17.07.2021 22:43:42
mumpel
Hoppla, falschen Thread erwischt
AW: Filtern nach Datum TTMMJJJJ
17.07.2021 23:44:42
MarcB.
Hallo W.Stecher,
danke für deine Info. Hast du das bei der von mir in der ursprüngichen Anfrage beigefügten Datei probiert gehabt? Ich habe die Zeile ja quasi bis auf die ThisWorkbook/ActiveWorkbook identisch oben im Text drin gehabt und das funktioniert bei mir mit den Daten der beigefügten Datei nicht. Die unten stehenden Angaben zu den Filtern sind aus dem Makro-Recorder, wenn ich die Eingaben die ich oben per Makro ausführen wollte händisch eingebe kommt das raus, aber ich will diese Ergebnisse per Makro erreichen, damit keine manuelle Eingabe notwendig ist.
Viele Grüße
MarcB.
Anzeige
AW: Filtern nach Datum TTMMJJJJ
18.07.2021 07:54:59
W.Stecher
Nein, ich hatte es nicht mit Deiner Datei probiert, es jedoch gerade einmal ausprobiert.
Excel achtet auf Formatierungen und ein Datum kann man natürlich nicht nach *052021 filtern, wobei ich davon ausgegegnagn bin, dass Du ein Datum TTMMJJJJ ohne Punkte als Text gespeichert hast.
Ich habe Dir jetzt in Deiner Datei die Spalte E einmal als Text formatiert.Darüber hinaus habe ich Dir eine Spalte F eingefügt, in der das Datum als Datum steht.
https://www.herber.de/bbs/user/147177.xlsm
Für beides habe ich Dir ein Filtung ins Tabellenblatt gelegt. Du kannst ja mal schauen, was Dir besser gefällt.

Private Sub Filterung_DatumAlsText()
ThisWorkbook.Sheets("Musterdatei Filtern nach Datum").Range("$A$1:$F$126").AutoFilter Field:=5, Criteria1:="=*052021", Operator:=xlAnd
End Sub
Private Sub Filterung_Datum()
ThisWorkbook.Sheets("Musterdatei Filtern nach Datum").Range("$A$1:$F$126").AutoFilter Field:=6, Criteria1:=">=" & CLng(CDate("01.05.2021")), Operator:=xlAnd, Criteria2:="

Anzeige
AW: Filtern nach Datum TTMMJJJJ
18.07.2021 10:21:43
EtoPHG
Hallo Marc,
und warum zieht ein Excel-Profi bei dem Problem überhaupt VBA in Betracht?
Die Zahlen können doch mit Formeln in echte Datumswerte gewandelt werden.
Anschliessend den Bereich in ein i-Tabelle wandeln und Filtern nach Datum(s-Teilen) ist dann gratis.
Gruess Hansueli

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige