View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Date flips around when using Autofilter in VB

ws.UsedRange.AutoFilter Field:=1, Criteria1:="<" & _
format(cdate("01/02/2005"),"mm/dd/yyyyy")

I would bet you have the problem even with "=" if the month and day can be
flipped and still form a good date.

In VBA, you need to work with US formatted dates if you are going to work
with strings, otherwise, work with date serial numbers.

--
Regards,
Tom Ogilvy


"elsandalos" wrote in message
...
I'm using VB to autofilter a number of worksheets using a criteria entered

in
a textbox.

--------------------------------------------------------------------------

------
Sub Filter_Box3()

Dim ws As Worksheet
Dim crit As String
Dim agsheetname As String

crit = Sheet1.Filtertext2.Value

Application.ScreenUpdating = False

For Each ws In Worksheets
agsheetname = ws.Name
If agsheetname < "Guide" Then

ws.UsedRange.AutoFilter Field:=1, Criteria1:="<" & crit

End If

Next ws

Application.ScreenUpdating = True

End Sub

--------------------------------------------------------------------------

------

for some reason, when using < or the date has been flipped around when i
check the autofilter settings on the worksheets, so that if crit =
01/02/2005, it gets changed to 02/01/2005. This does not happen when using

=
in the criteria. Even when i hard code a date into the function like:

--------------------------------------------------------------------------

-----
ws.UsedRange.AutoFilter Field:=1, Criteria1:="<01/02/2005"

--------------------------------------------------------------------------

------

... it still gets flipped around.

Any ideas?

El.