Excel VBA - Data Type Conversion problem

P

PaulC

All I want to do is display today's date in 3 separate boxes for Day
Month and Year.

I have tried the following code to split the date into 3 strings:

Dim TodaysDate As Date
Dim strDate As String
Dim myDay As String
Dim myMonth As String
Dim myYear As String

TodaysDate = Format(Date, "dd/mm/yy")
strDate = CStr(TodaysDate)
myDay = Left(Cells(strDate, 1), 2)
myMonth = Mid(Cells(srtDate, 1), 4, 2)
myYear = Mid(Cells(srtDate, 1), 7, 2)


However, it says there is a type mismatch on the line:
myDay = Left(Cells(strDate, 1), 2).

There must be a simple solution but I can't find it.

Pau
 
D

Don Guillett

couldn't you have just used the first one to do all three by changing the
format

myDay = Format(Date, "dd")
myMonth = Format(Date, "mm")
myYear =Format(Date, "yy")
 
J

JE McGimpsey

There's no need to use Format - the value passed to XL from VBA will be
parsed just as if it's a keyboard entry. One way:

Dim myDay As String
Dim myMonth As String
Dim myYear As String
myDay = CStr(Day(Date))
myMonth = CStr(Month(Date))
myYear = CStr(Year(Date)


You got the type mismatch error because Cells() requires a number as its
first argument, not a string (see XL/VBA Help!).
 

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