Compare Dates in vba

G

Guest

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.
 
K

Keith74

Maybe something like this?

Public Sub MatchDates()

If Date = Workbooks("book1").Worksheets("sheet1").Cells(1,
1).Value Then
MsgBox "Dates match"
End If

End Sub

hth

Keith
 
G

Guest

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
 
G

Guest

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,
 
G

Guest

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top