Home |
Search |
Today's Posts |
|
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Time Difference in VBA Macro
I'm trying to write a VBA macro to take the difference between two times
input by the user, calculate the difference, and put that value in the cell. The first input box prompts for the start time (i.e. 9:00AM) and the second prompts for the end time (i.e. 5:30PM). I've searched through this newsgroup and done Google searches, but something just isn't sinking in. I need the value to come out as a decimal value. With the 9:00 - 5:30 example, the cell should show 8.5, but I keep getting -0.15. No doubt I'm missing something obvious! Thanks, John |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Time Difference in VBA Macro
Post up the code so we can see what you are doing.
-- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "John Schneider" wrote in message ... I'm trying to write a VBA macro to take the difference between two times input by the user, calculate the difference, and put that value in the cell. The first input box prompts for the start time (i.e. 9:00AM) and the second prompts for the end time (i.e. 5:30PM). I've searched through this newsgroup and done Google searches, but something just isn't sinking in. I need the value to come out as a decimal value. With the 9:00 - 5:30 example, the cell should show 8.5, but I keep getting -0.15. No doubt I'm missing something obvious! Thanks, John |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Time Difference in VBA Macro
Its definately a work in progress, but here's what I have so far:
Sub testjs() Dim startTime As String Dim endTime As String Dim totHours As String startTime = Application.InputBox("Enter Start Time", "Calculate Hours", , , , , , 1) endTime = Application.InputBox("Enter End Time", "Calculate Hours", , , , , , 1) totHours = CDate(endTime) - CDate(startTime) ActiveCell.Value = totHours End Sub "Bob Phillips" wrote: Post up the code so we can see what you are doing. -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "John Schneider" wrote in message ... I'm trying to write a VBA macro to take the difference between two times input by the user, calculate the difference, and put that value in the cell. The first input box prompts for the start time (i.e. 9:00AM) and the second prompts for the end time (i.e. 5:30PM). I've searched through this newsgroup and done Google searches, but something just isn't sinking in. I need the value to come out as a decimal value. With the 9:00 - 5:30 example, the cell should show 8.5, but I keep getting -0.15. No doubt I'm missing something obvious! Thanks, John |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Time Difference in VBA Macro
Sub testjs()
Dim startTime As Date Dim endTime As Date Dim totHours As Date startTime = Application.InputBox("Enter Start Time", "Calculate Hours", , , , , , 1) * 24 endTime = Application.InputBox("Enter End Time", "Calculate Hours", , , , , , 1) * 24 totHours = endTime - startTime ActiveCell.Value = totHours ActiveCell.NumberFormat = "00.00" End Sub StartTime entered as 9:0 EndTime entered as 17:30 Is this OK? "John Schneider" wrote: Its definately a work in progress, but here's what I have so far: Sub testjs() Dim startTime As String Dim endTime As String Dim totHours As String startTime = Application.InputBox("Enter Start Time", "Calculate Hours", , , , , , 1) endTime = Application.InputBox("Enter End Time", "Calculate Hours", , , , , , 1) totHours = CDate(endTime) - CDate(startTime) ActiveCell.Value = totHours End Sub "Bob Phillips" wrote: Post up the code so we can see what you are doing. -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "John Schneider" wrote in message ... I'm trying to write a VBA macro to take the difference between two times input by the user, calculate the difference, and put that value in the cell. The first input box prompts for the start time (i.e. 9:00AM) and the second prompts for the end time (i.e. 5:30PM). I've searched through this newsgroup and done Google searches, but something just isn't sinking in. I need the value to come out as a decimal value. With the 9:00 - 5:30 example, the cell should show 8.5, but I keep getting -0.15. No doubt I'm missing something obvious! Thanks, John |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Time Difference in VBA Macro
Billy,
That works perfect, but I don't understand why the time input (i.e. 9:00) has to be multiplied by 24. Thanks again!!! "Billy Liddel" wrote: Sub testjs() Dim startTime As Date Dim endTime As Date Dim totHours As Date startTime = Application.InputBox("Enter Start Time", "Calculate Hours", , , , , , 1) * 24 endTime = Application.InputBox("Enter End Time", "Calculate Hours", , , , , , 1) * 24 totHours = endTime - startTime ActiveCell.Value = totHours ActiveCell.NumberFormat = "00.00" End Sub StartTime entered as 9:0 EndTime entered as 17:30 Is this OK? "John Schneider" wrote: Its definately a work in progress, but here's what I have so far: Sub testjs() Dim startTime As String Dim endTime As String Dim totHours As String startTime = Application.InputBox("Enter Start Time", "Calculate Hours", , , , , , 1) endTime = Application.InputBox("Enter End Time", "Calculate Hours", , , , , , 1) totHours = CDate(endTime) - CDate(startTime) ActiveCell.Value = totHours End Sub "Bob Phillips" wrote: Post up the code so we can see what you are doing. -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "John Schneider" wrote in message ... I'm trying to write a VBA macro to take the difference between two times input by the user, calculate the difference, and put that value in the cell. The first input box prompts for the start time (i.e. 9:00AM) and the second prompts for the end time (i.e. 5:30PM). I've searched through this newsgroup and done Google searches, but something just isn't sinking in. I need the value to come out as a decimal value. With the 9:00 - 5:30 example, the cell should show 8.5, but I keep getting -0.15. No doubt I'm missing something obvious! Thanks, John |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Time Difference in VBA Macro
John
Excel calculates dates as numbers, normally counting from 1/1/1900. Time is calculated as fractions of a day. so 9:00 is 9/24 of a day. Bear this in mind when making any calculations with time. Peter "John Schneider" wrote: Billy, That works perfect, but I don't understand why the time input (i.e. 9:00) has to be multiplied by 24. Thanks again!!! "Billy Liddel" wrote: Sub testjs() Dim startTime As Date Dim endTime As Date Dim totHours As Date startTime = Application.InputBox("Enter Start Time", "Calculate Hours", , , , , , 1) * 24 endTime = Application.InputBox("Enter End Time", "Calculate Hours", , , , , , 1) * 24 totHours = endTime - startTime ActiveCell.Value = totHours ActiveCell.NumberFormat = "00.00" End Sub StartTime entered as 9:0 EndTime entered as 17:30 Is this OK? "John Schneider" wrote: Its definately a work in progress, but here's what I have so far: Sub testjs() Dim startTime As String Dim endTime As String Dim totHours As String startTime = Application.InputBox("Enter Start Time", "Calculate Hours", , , , , , 1) endTime = Application.InputBox("Enter End Time", "Calculate Hours", , , , , , 1) totHours = CDate(endTime) - CDate(startTime) ActiveCell.Value = totHours End Sub "Bob Phillips" wrote: Post up the code so we can see what you are doing. -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "John Schneider" wrote in message ... I'm trying to write a VBA macro to take the difference between two times input by the user, calculate the difference, and put that value in the cell. The first input box prompts for the start time (i.e. 9:00AM) and the second prompts for the end time (i.e. 5:30PM). I've searched through this newsgroup and done Google searches, but something just isn't sinking in. I need the value to come out as a decimal value. With the 9:00 - 5:30 example, the cell should show 8.5, but I keep getting -0.15. No doubt I'm missing something obvious! Thanks, John |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
subtract the time difference from another time difference | Excel Discussion (Misc queries) | |||
Comparing 2 files on date/time stamp, and based time difference do a subroutine | Excel Programming | |||
Daylight Saving Time (DST) and calculating time difference. | Excel Programming | |||
Time difference calculations, daylight savings time, Excel | Excel Discussion (Misc queries) | |||
Help with difference in time macro | Excel Programming |