View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default Help with time VBA

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