truncate date; nix the time component

C

cate

I am reading a cell that was populated with NOW(). It contains a time
part I do not want. There has got to be a trunc() function somewhere,
but I can't find it. Was going to try WorksheetFunction.Date, but
it's not there? (I thought that anything available for use on the
sheet would show up here)

So, do I build a string and use DateTime.DateValue, or DateSerial, to
get just the date part and eliminate the time component? It works ok,
but it just doesn't seem like it's the way to do it.

Thank you.

Here is one example of removing time. Is this the proper way to do
it? (will be 'vba'd)

http://www.techonthenet.com/excel/questions/remove_time.php
Excel: Convert date/time value to a date value (remove time portion)
in Excel 2003/XP/2000/97
Answer: In order for Excel to recognize the values as dates, you will
need to modify your formula as follows:

=DATEVALUE(MONTH(A1) & "/" & DAY(A1) & "/" & YEAR(A1))
 
C

Chip Pearson

In a formula, you can use TRUNC to get only the date portion of a
datetime. E.g., =TRUNC(A1,0)

In code, you can use the Int (not CInt) function. E.g,

Dim L As Long
L = Int(Range("A1").Value)

Remember that dates are nothing but numbers, so you can manipulate
them in any fashion you would a "real" number.

The reason you don't find the Date function in WorksheetFunctions is
because Excel functions that have a native VBA function aren't
included in WorksheetFunctions. Since VBA has DateSerial, the Date
function isn't included.

Cordially,
Chip Pearson
Microsoft Most Valuable Professional,
Excel, 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com
 
O

OssieMac

Not entirely sure of what you are attempting to achieve. That is do you want
VBA code or formula for a worksheet?

Worksheet function for date only is TODAY() while in VBA it is Date.

NOW() function is date and time for both Worksheet and VBA.

To convert a Date/Time to date only in VBA

Dim myDate as Date
myDate = DateValue(Format(Now(), "dd mmm yyyy"))

Can replace Now() with a cell reference containing Date and Time and also,
depending on your local date format, you might want to use format
"mmm dd yyyy". When using DateValue, it is best to use the literal month
(mmm) rather than numeric.

Hope this helps
 
J

JLGWhiz

You might be looking for this:

=Text(Now(), "mm/dd/yyyy")

Which give the date as a string.
 

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