Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello everyone!
I have a file that is generated on a second-by-second basis. Unfortunately, it does not give me a time column, rather a 0,1,2,3,... column. It does give me the start time, however, in this form: Fri Jan 23 14:13:19 2009 (GMT-05:00). My macro picks out the 14:13:19 using the Mid function, but after pasting this to a column, I want to add one second to it and then extend it down for the entire data set. I am having trouble adding one second to it. Here's my macro thus far: Sub TimeDilemma() Range("D:D,F:F,H:H,J:J,L:L,N:N,P:P,R:R,T:T").Delet e Shift:=xlToLeft 'Cleans up my data LastRow = Cells(Rows.Count, "A").End(xlUp).Row TimeLength = Len(Range("A6").Value) StartTime = Mid(Range("A6").Value, TimeLength - 24, 8) Range("A8").Value = StartTime 'make Range("A9") = StartTime + 1 sec then autofill down? Range("A8:A9").AutoFill Destination:=Range("A8:A" & LastRow) End Sub Any help would be greatly appreciated! THANKS! |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Excel should be treating the time you past in as a date. If you add one to a
date, you are adding a day: Jan-01-2009 + 1 = Jan-02-2009 There are 24*60*60 seconds in a day. So, to add just one second, you need to add a much smaller amount: TimeNow = StartTime + 1# / 24# / 60# / 60# Of course, you need to format that column as a time (something like HH:MN:SS) HTH, Eric |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thank you egun! Question... why do I need the '#' after the numbers?
"egun" wrote: Excel should be treating the time you past in as a date. If you add one to a date, you are adding a day: Jan-01-2009 + 1 = Jan-02-2009 There are 24*60*60 seconds in a day. So, to add just one second, you need to add a much smaller amount: TimeNow = StartTime + 1# / 24# / 60# / 60# Of course, you need to format that column as a time (something like HH:MN:SS) HTH, Eric |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The #'s are type codes - indicating that the number is a Double
precision floating point value. Of course, you don't need to do all the divisions, you could simply use TimeNow = StartTIme + 1/86400# or you can let VBA do the math: TimeNow = StartTime + TimeSerial(0, 0, 1) In article , Matt S wrote: hank you egun! Question... why do I need the '#' after the numbers? "egun" wrote: Excel should be treating the time you past in as a date. If you add one to a date, you are adding a day: Jan-01-2009 + 1 = Jan-02-2009 There are 24*60*60 seconds in a day. So, to add just one second, you need to add a much smaller amount: TimeNow = StartTime + 1# / 24# / 60# / 60# Of course, you need to format that column as a time (something like HH:MN:SS) |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Driving me CRAZY~ please help | New Users to Excel | |||
Sorry for reposting - but this is driving me crazy! | Excel Discussion (Misc queries) | |||
Driving me crazy! | Excel Programming | |||
It doesn't add up - It's driving me crazy | Excel Programming | |||
Driving me crazy! | Excel Programming |