Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
How do I calculate the difference between 2 times. I have my code (I'm
beginner) so 1st input box asks for start time (e.g. 8:15) and 2nd inpu box asks for endtime (e.g. 11:00) which should place the result of 2.7 in the activecell. My code is set up as follows. Sub Timediff() Dim Starttime As String Dim Endtime As String Starttime = InputBox("Enter Start Time") Endtime = InputBox("enter Start Time") hours = TimeValue(Endtime) - TimeValue(Starttime) msgbox CInt(hours) ActiveCell.Value = hours End Sub ======================================= My goal is to eventually build this into a worksheet that performs a follows (using formulas) see attachment. Thanks in Advanc Attachment filename: time.xls Download attachment: http://www.excelforum.com/attachment.php?postid=65181 -- Message posted from http://www.ExcelForum.com |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Do you really want your answer to display as a decimal or as correc
hours and mintues this gives answer as hour and minutes Sub Timediff() Dim Starttime As String Dim Endtime As String Dim Hours As Date Starttime = InputBox("Enter Start Time") Endtime = InputBox("Enter End Time") Hours = Format(TimeValue(Endtime) - TimeValue(Starttime), "hh:mm") MsgBox Hour(Hours) ActiveCell.Value = Hours End Sub If you want as decimal then you will something like ActiveCell.Value = Hour(Hours) & "." & (Minute(Hours) * 100) / 6 -- Message posted from http://www.ExcelForum.com |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks a lot. This helps out a lot and at least gives me something t
work with. However, when I enter a start time of 9:00 to say 1:15 will get a wrong answer unless I use a formula as in the attachmen (unless I type in 13:15). This is to track volunteer hours who generally come in in the mornin and work anywhere from 3 to 6 hours so I would like it in decimal (e.g. 3.75, 4.25). Thanks -- Message posted from http://www.ExcelForum.com |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
1:15 is shortly after midnight. 1:15 PM is shortly after noon. If you
want your code to always treat the second time as later than the first, you can use an if statement if endtime < starttime then endtime = endtime + timvalue("12:00") - now do your calculation. This assumes you won't have people working past midnight. -- Regards, Tom Ogilvy "xlsxlsxls " wrote in message ... Thanks a lot. This helps out a lot and at least gives me something to work with. However, when I enter a start time of 9:00 to say 1:15 I will get a wrong answer unless I use a formula as in the attachment (unless I type in 13:15). This is to track volunteer hours who generally come in in the morning and work anywhere from 3 to 6 hours so I would like it in decimals (e.g. 3.75, 4.25). Thanks. --- Message posted from http://www.ExcelForum.com/ |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Difference Between Two Times | Excel Discussion (Misc queries) | |||
Difference between two times | Excel Discussion (Misc queries) | |||
Calculating difference between two times | Excel Worksheet Functions | |||
Difference in Times | Excel Discussion (Misc queries) | |||
Difference between 2 times and dates | Excel Worksheet Functions |