Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default Here's an Easy One

I have the following two variables:

dim myVar as single
dim myDate as date

myVar ends up with a value of 0.96.
myDate ends up with a value of "9/29/06 12:33".

How do I add myVar to myDate to get "9/30/06 11:37"?

I've tried running every conversion function on myVar I can think of and
I'm still getting a type mismatch.

-Kevin
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default Here's an Easy One

Forgot to mention. I'm trying to store the result in this variable:

dim myResult as date
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 25
Default Here's an Easy One


Kevin wrote:
Forgot to mention. I'm trying to store the result in this variable:

dim myResult as date


Try this:

Sub test()

Dim myVar As Single
Dim myDate As Date
Dim myResult As Date
Dim myMinutes As Long


myVar = 0.96
myMinutes = Round(myVar * 24 * 60) 'myVar times # of minutes in a day
myDate = "9/29/06 12:33"
myResult = DateAdd("n", myMinutes, myDate)
MsgBox myResult

End Sub

-------------------------------------

I don't know if there is a more elegant way

-semiopen

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default Here's an Easy One

Not sure where you get 37,

Sub EFG()
Dim myVar As Double
Dim myDate As Date
Dim myDate1 as Date

myVar = 0.96
myDate = DateValue("9/29/06") + TimeValue("12:33")
myDate1 = myDate + myVar

Debug.Print myDate1

End Sub
returns
09/30/2006 11:35:24 AM

which appears correct since

? format(.96,"hh:mm:ss")
23:02:24

--
Regards,
Tom Ogilvy


"Kevin" wrote:

Forgot to mention. I'm trying to store the result in this variable:

dim myResult as date

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default Here's an Easy One

Try this:

Sub test()

Dim myVar As Single
Dim myDate As Date
Dim myResult As Date
Dim myMinutes As Long


myVar = 0.96
myMinutes = Round(myVar * 24 * 60) 'myVar times # of minutes in a day
myDate = "9/29/06 12:33"
myResult = DateAdd("n", myMinutes, myDate)
MsgBox myResult

End Sub

-------------------------------------

I don't know if there is a more elegant way

-semiopen


Worked like a charm. Never knew about the dateadd function. Things
like timevalue, datevalue, and cdate are all over the place. Thank you!

-Kevin


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 53
Default Here's an Easy One


Or this...

Sub Test()
Dim myVar As Single
Dim myDate As Date
myVar = 0.96
myDate = "9/29/06 12:33"
MsgBox myDate + myVar
End Sub




"Kevin" schreef in bericht
...
Try this:

Sub test()

Dim myVar As Single
Dim myDate As Date
Dim myResult As Date
Dim myMinutes As Long


myVar = 0.96
myMinutes = Round(myVar * 24 * 60) 'myVar times # of minutes in a day
myDate = "9/29/06 12:33"
myResult = DateAdd("n", myMinutes, myDate)
MsgBox myResult

End Sub

-------------------------------------

I don't know if there is a more elegant way

-semiopen


Worked like a charm. Never knew about the dateadd function. Things like
timevalue, datevalue, and cdate are all over the place. Thank you!

-Kevin



  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 25
Default Here's an Easy One


moon wrote:
Or this...

Sub Test()
Dim myVar As Single
Dim myDate As Date
myVar = 0.96
myDate = "9/29/06 12:33"
MsgBox myDate + myVar
End Sub


I didn't know it was that simple. I assumed that the OP was getting a
type-mismatch error (else why all this concern about type conversion?)
- so I typed "date" in Help and saw the DateAdd function and thought
"bingo". I seldom play around with dates in my code - learn something
new every day.

-semiopen


"Kevin" schreef in bericht
...
Try this:

Sub test()

Dim myVar As Single
Dim myDate As Date
Dim myResult As Date
Dim myMinutes As Long


myVar = 0.96
myMinutes = Round(myVar * 24 * 60) 'myVar times # of minutes in a day
myDate = "9/29/06 12:33"
myResult = DateAdd("n", myMinutes, myDate)
MsgBox myResult

End Sub

-------------------------------------

I don't know if there is a more elegant way

-semiopen


Worked like a charm. Never knew about the dateadd function. Things like
timevalue, datevalue, and cdate are all over the place. Thank you!

-Kevin


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Easy one... but not for me :S ChrisMattock Excel Worksheet Functions 7 July 3rd 06 09:49 PM
probably easy but.... obion Excel Worksheet Functions 3 October 7th 05 07:08 PM
Probably easy but I need help! djbob2k2 Excel Worksheet Functions 1 September 19th 05 01:44 AM
new user with easy question? not easy for me speakeztruth New Users to Excel 5 June 3rd 05 09:40 PM
Easy but not for me!! Lynda Excel Programming 3 February 16th 05 08:48 PM


All times are GMT +1. The time now is 04:05 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"