Setting a Date variable

S

scott

I have a cell A3 that contains the date like "200412" that my code finds
with the OFFSET command. In "CODE 1" below, sDateRange returns "12/1/2004"
as it should. However, "CODE 2" gives me an error if I try to set the
cellOffset variable to the OFFSET cell. I'm just trying to shorten my code.
Is it the data type that's causing a problem?


CODE 1 (Works):
Dim cell As Range, sDateRange As Date

Set cell = FindCell("myword", Sheets(1).Cells)
sDateRange = Right(cell.Offset(0, 2).Value, 2) & "/" & (Left(cell.Offset(0,
2).Value, Len(cell.Offset(0, 2).Value) - 2))


CODE 2 (Doesn't Work):

Dim cell As Range, cellOffset As Range, sDateRange As Date

Set cell = FindCell("myword", Sheets(1).Cells)
cellOffset = cell.Offset(0, 2).Value
sDateRange = Right(cellOffset, 2) & "/" & (Left(cell.Offset(0, 2).Value,
Len(cellOffset) - 2))
 
B

Bob Phillips

Don't declare CellOffset as Range, use Variant or Long

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
J

Jim Thomlinson

First thing off the top of my pointy little head is that you are not using
set for celloffset... That being said try this instead...

Dim cell As Range, sDateRange As Date

Set cell = FindCell("myword", Sheets(1).Cells).Offset(0, 2)
sDateRange = Right(cell.value, 2) & "/" & (Left(cell.Value, Len(cell) - 2))

Or something like that...

HTH
 
S

scott

Consider below code. If sDateRange works fine and returns "12/1/2004", why
does the sMonth varible not set to "12"? It gives no error, but I can't seem
to return the "12" month part as a string to use elsewhere.

Dim cell As Range, cellOffset As Range
Dim sDateRange As Date
Dim sMonth As String

Set cell = FindCell("To Period", Sheets(1).Cells).Offset(0, 2)
sDateRange = Right(cell.Value, 2) & "/" & (Left(cell.Value, Len(cell) -
2))
sMonth = CStr(Right(cell.Value, 2))

MsgBox sMonth
 
S

scott

i got it, thanks.


Jim Thomlinson said:
First thing off the top of my pointy little head is that you are not using
set for celloffset... That being said try this instead...

Dim cell As Range, sDateRange As Date

Set cell = FindCell("myword", Sheets(1).Cells).Offset(0, 2)
sDateRange = Right(cell.value, 2) & "/" & (Left(cell.Value, Len(cell) -
2))

Or something like that...

HTH
 

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