LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Worksheet change time format

Hi all
I have looked through all the related questions, and found most of my answer
on the cpearson website. You've nearly solved my problem except...
I can't figure out how to change the code to enter seconds every time. I've
changed Case 1 and 2 and they work fine, its the rest that I can't work out
how to change. I've managed to get the seconds in the right place in case 3,
but the minutes go into the hours column. I haven't attempted to change the
other cases as yet.
This is for a winch challenge scoring program which is a time based event.
It would be great if I could also have the .seconds also?

You guys are great
Thanks
KiwiGirl

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim TimeStr As String

On Error GoTo EndMacro
If Application.Intersect(Target,
Range("D3:D41,J3:J41,P3:P41,V3:V41,AB3:AB41,AH3:AH 41,AN3:AN41,AT3:AT41,AZ3:AZ41,BF3:BF41,BL3:BL41,BR 3:BR41,BX3:BX41,CD3:CD41,CJ3:CJ41,CP3:CP41,DB3:DB4 1,DH3:DH41,DN3:DN41")) Is Nothing Then
Exit Sub

End If
If Target.Cells.Count 1 Then
Exit Sub
End If
If Target.Value = "" Then
Exit Sub
End If
If Target.Value = "dnf" Then
Exit Sub
End If
If Target.Value = "dns" Then
Exit Sub
End If
Application.EnableEvents = False
With Target
If .HasFormula = False Then
Select Case Len(.Value)
Case 1 ' e.g., 1 = 00:01 AM
TimeStr = "00:00:0" & .Value
Case 2 ' e.g., 12 = 00:12 AM
TimeStr = "00:00:0" & .Value
Case 3 ' e.g., 735 = 7:35 AM
TimeStr = Left(.Value, 1) & ":0:00" & _
Right(.Value, 2)
Case 4 ' e.g., 1234 = 12:34
TimeStr = Left(.Value, 2) & ":" & _
Mid(.Value, 2, 2) & ":" & Right(.Value, 2)
Case 5 ' e.g., 12345 = 1:23:45 NOT 12:03:45
TimeStr = Left(.Value, 1) & ":" & _
Mid(.Value, 2, 2) & ":" & Right(.Value, 2)
Case 6 ' e.g., 123456 = 12:34:56
TimeStr = Left(.Value, 2) & ":" & _
Mid(.Value, 3, 2) & ":" & Right(.Value, 2)
Case Else
Err.Raise 0
End Select
.Value = TimeValue(TimeStr)
End If
End With
Application.EnableEvents = True
Exit Sub
EndMacro:
MsgBox "You did not enter a valid time"
Application.EnableEvents = True
End Sub

 
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
Time Format on Worksheet Change Pyrite Excel Programming 5 September 10th 08 10:56 AM
Time format via Worksheet Change Pyrite Excel Programming 5 September 9th 08 11:47 AM
Change time format from :0 to 0:0 Donald B[_2_] Excel Worksheet Functions 4 July 6th 07 03:53 AM
How to change to time format? SF Excel Programming 2 September 4th 06 11:51 AM
change format for time value Qaspec Excel Discussion (Misc queries) 1 May 23rd 05 10:25 PM


All times are GMT +1. The time now is 03:02 AM.

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

About Us

"It's about Microsoft Excel"