Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Convert xx:xx:xx to decimal value so can be summed.

Morning all,

Im having some trouble when summing some time values from my Access Database.
The values are all "elapsed times" between one time and another so eg:
00:06:32
would mean a 6 minute and 32 second elapsed time.

The problem is that i cannot sum up these values, i just get a 0.
I thought i had it beat when i did a little loop as below..

Do Until IsEmpty(ActiveCell)
ActiveCell = TimeValue(ActiveCell)
ActiveCell.Offset(1,0).Select
Loop

This didnt work, not sure why but it makes the times a lot bigger than they
used to,
I know i can convert it inside a cell formula eg: ' = AY301 * 24 ' but i do
not want to do it like that, i would like the code to run on the
Worksheet_Activate so it simply converts the values when user selects the
worksheet.

Is this possible or should i just look at trying to use the formula route?

Any suggestions are much appreciated.

M

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Convert xx:xx:xx to decimal value so can be summed.

Have a go with this -

Sub test()
Dim dt As Date
Dim rng As Range, cel As Range

Set rng = ActiveCell
If Len(rng.Offset(1, 0)) Then
Set rng = Range(rng, rng.End(xlDown))
End If

rng.NumberFormat = "hh:mm:ss"
For Each cel In rng
dt = -1

On Error Resume Next
dt = CDate(cel.Value)
On Error GoTo 0

If dt = 0 Then
cel.Value = dt
End If
Next
End Sub

Regards,
Peter T


"bUncE" wrote in message
...
Morning all,

Im having some trouble when summing some time values from my Access

Database.
The values are all "elapsed times" between one time and another so eg:
00:06:32
would mean a 6 minute and 32 second elapsed time.

The problem is that i cannot sum up these values, i just get a 0.
I thought i had it beat when i did a little loop as below..

Do Until IsEmpty(ActiveCell)
ActiveCell = TimeValue(ActiveCell)
ActiveCell.Offset(1,0).Select
Loop

This didnt work, not sure why but it makes the times a lot bigger than

they
used to,
I know i can convert it inside a cell formula eg: ' = AY301 * 24 ' but i

do
not want to do it like that, i would like the code to run on the
Worksheet_Activate so it simply converts the values when user selects the
worksheet.

Is this possible or should i just look at trying to use the formula route?

Any suggestions are much appreciated.

M



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Convert xx:xx:xx to decimal value so can be summed.

Hi,

I managed to work it out, just had to do
CDate(TimeValue(ActiveCell)) * 24 which works fine!!
Just needed the CDate in there :)

Thanks for the reply!!

M

"Peter T" wrote:

Have a go with this -

Sub test()
Dim dt As Date
Dim rng As Range, cel As Range

Set rng = ActiveCell
If Len(rng.Offset(1, 0)) Then
Set rng = Range(rng, rng.End(xlDown))
End If

rng.NumberFormat = "hh:mm:ss"
For Each cel In rng
dt = -1

On Error Resume Next
dt = CDate(cel.Value)
On Error GoTo 0

If dt = 0 Then
cel.Value = dt
End If
Next
End Sub

Regards,
Peter T


"bUncE" wrote in message
...
Morning all,

Im having some trouble when summing some time values from my Access

Database.
The values are all "elapsed times" between one time and another so eg:
00:06:32
would mean a 6 minute and 32 second elapsed time.

The problem is that i cannot sum up these values, i just get a 0.
I thought i had it beat when i did a little loop as below..

Do Until IsEmpty(ActiveCell)
ActiveCell = TimeValue(ActiveCell)
ActiveCell.Offset(1,0).Select
Loop

This didnt work, not sure why but it makes the times a lot bigger than

they
used to,
I know i can convert it inside a cell formula eg: ' = AY301 * 24 ' but i

do
not want to do it like that, i would like the code to run on the
Worksheet_Activate so it simply converts the values when user selects the
worksheet.

Is this possible or should i just look at trying to use the formula route?

Any suggestions are much appreciated.

M




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
convert a summed time value to hours only Jay Excel Discussion (Misc queries) 3 July 16th 08 11:44 PM
How can I convert decimal commas to decimal points? Peteylepieu Excel Discussion (Misc queries) 1 October 2nd 07 10:18 PM
convert hrs into decimal Smoakie Excel Programming 8 April 3rd 07 09:50 PM
convert decimal to 16 bit hex tsobiech Excel Worksheet Functions 3 March 7th 07 04:40 PM
convert decimal number to time : convert 1,59 (minutes, dec) to m agenda9533 Excel Discussion (Misc queries) 8 January 20th 05 10:24 PM


All times are GMT +1. The time now is 06:41 PM.

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"