VBATools

Autofiltr Max na dacie o różnych formatach

by on Jan.11, 2012, under Excel, Porady

Jak odfiltrować dane, kiedy w tablicy mamy daty o różnych formatach, przy zachowaniu ich oryginalnych wartości (bez konwertowania). Dotyczy to również dat w formacie innej narodowości.

Autofiltr posługuje się hierarchią uwzględniającą format daty. Tam gdzie daty posiadają prawidłowy wpis godziny reszcie dat zostanie we filtrze przypisana do tych elementów które będą posiadać czas 00:00:00. Oto przykład:

XL_Autofiltr_Max_DateMultilang

Rys1. Błędna interpretacja dat na liście filtracji

Jak odfiltrować takie daty:

Option Explicit

Sub MultilangMixDate_Filter()
'MVP OShon from VBATools.pl
Dim rSrc As Range, data As Date
With ActiveSheet
 data = Application.WorksheetFunction.Max(.Range("D:D"))
 .AutoFilterMode = False
 Set rSrc = .Range("D1").CurrentRegion
 rSrc.AutoFilter Field:=1, _
 Criteria1:=">=" & Format(data, "m/d/yyyy 00:00:00"), _
 Operator:=xlAnd, _
 Criteria2:="<=" & Format(data, "m/d/yyyy 23:59:59")
End With
Set rSrc = Nothing
End Sub

 

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
:, , , , ,

Leave a Reply