Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
Im trying to use the code down below. It´s from Chip Pearsons site and works great if I dont change it as I have done.(se target Range) As you can se I need to select areas in the sheet, otherwise it gives me another problem, as I have digits that shall not be changed. What have I done wrong? Private Sub WorkSheet_Change(ByVal Target As Excel.Range) Dim TimeStr As String On Error GoTo EndMacro If Application.Intersect(Target, Range("F1:I1000"), ("K1:N1000"), ("p1:s1000"), ("u1:x1000"), ("z1:ac1000"), ("ae1:ah1000"), ("ajK1:an1000")) 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 Application.EnableEvents = False With Target If .HasFormula = False Then Select Case Len(.Value) Case 1 ' e.g., 1 = 00:01 AM TimeStr = "00:0" & .Value Case 2 ' e.g., 12 = 00:12 AM TimeStr = "00:" & .Value Case 3 ' e.g., 735 = 7:35 AM TimeStr = Left(.Value, 1) & ":" & _ Right(.Value, 2) Case 4 ' e.g., 1234 = 12:34 TimeStr = Left(.Value, 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 "Vill du mata in det här värdet?" Application.EnableEvents = True End Sub Thanks in advance! //Thomas |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
one way (not fully tested though) try: Private Sub WorkSheet_Change(ByVal Target As Excel.Range) Dim TimeStr As String Dim comp_rng as range On Error GoTo EndMacro 'If target.cells.count 1 then exit sub 'you may want to add this line Set comp_rng = Union(Range("F1:I1000"),Range("K1:N1000"),Range("P 1:S1000"),_ Range("U1:X1000"),Range("Z1:AC1000"),Range("AE1:AH 1000"),Range("AJK1:AN 1000")) If Application.Intersect(Target, comp_rng) Is Nothing Then Exit Sub '..... -- Regards Frank Kabel Frankfurt, Germany Jonsson wrote: Hi, Im trying to use the code down below. It´s from Chip Pearsons site and works great if I dont change it as I have done.(se target Range) As you can se I need to select areas in the sheet, otherwise it gives me another problem, as I have digits that shall not be changed. What have I done wrong? Private Sub WorkSheet_Change(ByVal Target As Excel.Range) Dim TimeStr As String On Error GoTo EndMacro If Application.Intersect(Target, Range("F1:I1000"), ("K1:N1000"), ("p1:s1000"), ("u1:x1000"), ("z1:ac1000"), ("ae1:ah1000"), ("ajK1:an1000")) 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 Application.EnableEvents = False With Target If .HasFormula = False Then Select Case Len(.Value) Case 1 ' e.g., 1 = 00:01 AM TimeStr = "00:0" & .Value Case 2 ' e.g., 12 = 00:12 AM TimeStr = "00:" & .Value Case 3 ' e.g., 735 = 7:35 AM TimeStr = Left(.Value, 1) & ":" & _ Right(.Value, 2) Case 4 ' e.g., 1234 = 12:34 TimeStr = Left(.Value, 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 "Vill du mata in det här värdet?" Application.EnableEvents = True End Sub Thanks in advance! //Thomas |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Thomas,
Change this If Application.Intersect(Target, Range("F1:I1000"), ("K1:N1000"), ("p1:s1000"), ("u1:x1000"), ("z1:ac1000"), ("ae1:ah1000"), ("ajK1:an1000")) Is Nothing Then to this If Application.Intersect(Target, Range("F1:I1000, K1:N1000, P1:S1000, " & _ "U1:X1000, Z1:AC1000, AE1:AH1000," & _ "AJ1:AN1000")) Is Nothing Then -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "Jonsson" wrote in message ... Hi, Im trying to use the code down below. It´s from Chip Pearsons site and works great if I dont change it as I have done.(se target Range) As you can se I need to select areas in the sheet, otherwise it gives me another problem, as I have digits that shall not be changed. What have I done wrong? Private Sub WorkSheet_Change(ByVal Target As Excel.Range) Dim TimeStr As String On Error GoTo EndMacro If Application.Intersect(Target, Range("F1:I1000"), ("K1:N1000"), ("p1:s1000"), ("u1:x1000"), ("z1:ac1000"), ("ae1:ah1000"), ("ajK1:an1000")) 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 Application.EnableEvents = False With Target If .HasFormula = False Then Select Case Len(.Value) Case 1 ' e.g., 1 = 00:01 AM TimeStr = "00:0" & .Value Case 2 ' e.g., 12 = 00:12 AM TimeStr = "00:" & .Value Case 3 ' e.g., 735 = 7:35 AM TimeStr = Left(.Value, 1) & ":" & _ Right(.Value, 2) Case 4 ' e.g., 1234 = 12:34 TimeStr = Left(.Value, 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 "Vill du mata in det här värdet?" Application.EnableEvents = True End Sub Thanks in advance! //Thomas |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Time calculations for Scheduled Time vs. Actual Time Worked | Excel Discussion (Misc queries) | |||
straight time, time and a half, and double time | Excel Discussion (Misc queries) | |||
Calculate Ending time using Start Time and Elapsed Time | Excel Worksheet Functions | |||
verify use of TIME Function, Find Quantity Level compare to time-d | Excel Discussion (Misc queries) | |||
Calculating days & time left from start date/time to end date/time | Excel Worksheet Functions |