AW: Autofilter
02.02.2009 13:45:25
Tino
Hallo,
versuche es mal hiermit,
war urspünglich auch für Uhrzeiten gedacht daher ist er etwas anders wie normal.
Tabellennamen musst Du noch anpassen.
Sub FilterDatum()
Dim Bereich As Range, BereichFilter As Range
Dim DatumVon, DatumBis
With Application
.ScreenUpdating = False
.EnableEvents = False
DatumVon = InputBox("Filter nach Monat und Jahr?", "Monat und Jahr durch Punkt getrennt eingeben")
DatumVon = Replace(DatumVon, " ", "")
On Error GoTo keinDatum:
DatumVon = CDate("01." & DatumVon)
DatumBis = DateSerial(Year(DatumVon), Month(DatumVon) + 1, 1) - 1
If DatumVon < CDate("01.01.1900") Or DatumVon > CDate("01.12.2099") Then GoTo keinDatum:
On Error GoTo 0
With Sheets("Tabelle1")
DatumVon = Replace(CStr(CDbl(DatumVon)), ",", ".")
DatumBis = Replace(CStr(CDbl(DatumBis)), ",", ".")
Set Bereich = .Range("O1", .Cells(.Rows.Count, 15).End(xlUp))
Bereich.AutoFilter 1, ">=" & DatumVon, xlAnd, "<=" & DatumBis, True
End With
Ende:
.ScreenUpdating = True
.EnableEvents = True
End With
Exit Sub
keinDatum:
MsgBox "Falsches Format eingegeben!", vbCritical
GoTo Ende:
End Sub
Gruß Tino