AW: Datum Filtern
09.02.2010 06:08:00
fcs
Hallo Patrick,
ich hab nicht verstanden was du jetzt genau willst.
Wenn du in B1 dein Startdatum eingibst, dann wird halt das neue Monatsende berechnet, sonst passiert nichts weiter.
Manuell funktioniert in Excel 2007:
1. Fillter-Dropdown in Datumsspalte
2. Datumsfilter
3. Zwischen ...
4. im Dialogfenster
5. Ok
In Excel 2003 muss du meines Wissens in Schritt 2 direkt den benutzerdefinierten Filter aufrufen.
Das automatisierte setzen des Autofilters per Makro sieht etwa wie folgt aus.
Gruß
Franz
'
Erstellt unter Excel 2007
Sub Filtern_von_bis_Monatsende()
If Filter_Datum_von_bis(wks:=ActiveSheet, DatumStart:=Range("B1"), _
DatumEnde:=DateSerial(Year(Range("B1")), Month(Range("B1")) + 1, 0), _
lngField:=1) = False Then
'Aktionen, wenn Fehler beim Filtern
MsgBox "Fehler beim Filtern"
Else
ActiveWindow.ScrollRow = 3
'MsgBox "Daten gefiltert"
End If
End Sub
Function Filter_Datum_von_bis(wks As Worksheet, DatumStart As Date, DatumEnde As Date, _
lngField As Long) As Boolean
Dim oFilter As Filter
On Error GoTo Fehler
With wks
If .AutoFilterMode = True Then
'Prüfen, ob ein Filter gesetzt ist und ggf. alle Daten anzeigen
For Each oFilter In .AutoFilter.Filters
If oFilter.On = True Then
.ShowAllData
Filter_Datum_von_bis = False
Exit For
End If
Next
'Autofilter auf Datumsbereich setzen
.AutoFilter.Range.AutoFilter Field:=lngField, _
Criteria1:=">=" & CLng(DatumStart), _
Criteria2:="