View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default Compare Dates in vba

Range uses "A1" not cells for cells(1,1)
need Workbook instead of windows
need to add sheets.

Workbooks(fNamestring).Sheets("sheet1").Range("A1" ).Value

"Bythsx-Addagio" wrote:

Thanks for the first part that seems to work.
But when I try to assign the value of Cells("A1") to Date2 I get Run-Time
error 438.
Object doesn't support this property or method.

Date2 = Windows(fNamestring).Cells("A1").Value

Here is the whole part
********************
Date1 = DateSerial(Year(Now()), Month(Now()), 0)
Date2 = Windows(fNamestring).Cells("A1").Value

If Date1 = Date2 Then
********************

Should I be declaring Date2 as a Date, or String?


Thanks again guys,

"Joel" wrote:

I don't think you are too far off. You need the dateserrial function and now

DateSerial(year, month, day)

Date1 = DateSerial(Year(Now()), Month(Now()), 0)
Date2 = windows(filename).cells("A1").value
If Date1 = Date2 Then


"Bythsx-Addagio" wrote:

Dates seem to be giving me trouble.

In my macro process I open an excel file that is created automatically each
month in a batch process. The file has the date for which the report was run
for printed in cell A1. I would like my macro to check that the date
printed in the file equals the last day of the previous month.

Basically this... even though I know it is very wrong.

Date1 = DATE(YEAR(TODAY()),MONTH(TODAY()),0)
Date2 = windows(filename).cells("A1").value

If Date1 = Date2 Then

Hopefully this will help me finally learn how to handle dates.
Thanks.