View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson[_5_] Dave Peterson[_5_] is offline
external usenet poster
 
Posts: 1,758
Default Ping - Bernie (or any other sage)

Maybe it's the difference you (from the UK) and VBA treats dates (USA centric).

I think I'd stop using strings.

Option Explicit

Sub WhyNotThis()
Dim StartDate As Date
Dim EndDate As Date

StartDate = DateAdd("d", -Day(Date) + 1, Date)
EndDate = DateAdd("m", 1, StartDate)
EndDate = DateAdd("d", -1, EndDate)

MsgBox "Start Date is " & StartDate & Chr(13) _
& Chr(13) & "End Date is " & EndDate

MsgBox "Using the variable StartDate: " & _
Evaluate("SUMPRODUCT(--(A2:A100=" & StartDate & ")," _
& "--(A2:A100<=--""2005-06-30"")," _
& "--(F2:F100=""Cleared""),--(D2:D1000),D2:D100)")

MsgBox "Using the both variables: " & _
Evaluate("SUMPRODUCT(--(A2:A100=" & StartDate & ")," _
& "--(A2:A100<=--" & EndDate & ")," _
& "--(F2:F100=""Cleared""),--(D2:D1000),D2:D100)")

End Sub

If that doesn't help (untested with my USA settings)...

Option Explicit

Sub WhyNotThis()
Dim StartDate As Date
Dim EndDate As Date

StartDate = DateAdd("d", -Day(Date) + 1, Date)
EndDate = DateAdd("m", 1, StartDate)
EndDate = DateAdd("d", -1, EndDate)

MsgBox "Start Date is " & StartDate & Chr(13) & Chr(13) & "End Date is " &
EndDate


MsgBox "Using the variable StartDate: " & _
Evaluate("SUMPRODUCT(--(A2:A100=" & clng(StartDate) & ")," _
& "--(A2:A100<=--""2005-06-30"")," _
& "--(F2:F100=""Cleared""),--(D2:D1000),D2:D100)")



MsgBox "Using the both variables: " & _
Evaluate("SUMPRODUCT(--(A2:A100=" & clng(StartDate) & ")," _
& "--(A2:A100<=--" & clng(EndDate) & ")," _
& "--(F2:F100=""Cleared""),--(D2:D1000),D2:D100)")

End Sub


"SA3214

Bernie,
I am still having trouble ... the first variable StartDate works fine but
when I try to use the second variable EndDate I get a zero result ... (see
code below) ... Can you identify the problem for please before I am
completely bald.

Regards & TIA

Jim Burton

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

Sub WhyNotThis()
Dim StartDate As String
Dim EndDate As String

StartDate = DateAdd("d", -Day(Date) + 1, Date)
EndDate = DateAdd("m", 1, StartDate)
EndDate = DateAdd("d", -1, EndDate)

MsgBox "Start Date is " & StartDate & Chr(13) & Chr(13) & "End Date is " &
EndDate

MsgBox "Using your first code: " &
Evaluate("SUMPRODUCT(--(A2:A100=--""2005-06-01""),--(A2:A100<=--""2005-06-30""),
--(F2:F100=""Cleared""),--(D2:D1000),D2:D100)")
MsgBox "Using the variable StartDate: " &
Evaluate("SUMPRODUCT(--(A2:A100=--" & StartDate &
"),--(A2:A100<=--""2005-06-30""), --(F2:F100=""Cleared""),--(D2:D1000),D2:D100)")

'What's going amiss here ?

MsgBox "Using the variable EndDate: " &
Evaluate("SUMPRODUCT(--(A2:A100=--""2005-06-01""),--(A2:A100<=--" & EndDate
& "), --(F2:F100=""Cleared""),--(D2:D1000),D2:D100)")
MsgBox "Using the both variables: " & Evaluate("SUMPRODUCT(--(A2:A100=--" &
StartDate & "),--(A2:A100<=--" & EndDate &
"), --(F2:F100=""Cleared""),--(D2:D1000),D2:D100)")

End Sub


--

Dave Peterson