vba should reformat time

Dark0Prince

Active Member
Joined
Feb 17, 2016
Messages
433
I can't get this code to reformat the time to hh:mm and keep the numbers there. it just clears the number and reformats the field.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Selection.Count > 1 Then
Exit Sub
End If

If Not Intersect(Range("C3:N33"), Target) Is Nothing Then
    TLlen = Len(Target)
    
    If TLen = 1 Then
        TimeV = TimeValue(Target & ":00")
    ElseIf TLen = 2 Then
        TimeV = TimeValue(Target & ":00")
    ElseIf TLen = 3 Then
        TimeV = TimeValue(Left(Target, 1) & ":" & Right(Target, 2))
    ElseIf TLen = 4 Then
        TimeV = TimeValue(Left(Target, 2) & ":" & Right(Target, 2))
    ElseIf TLen > 4 Then
        'do nothing
        End If
        Target.NumberFormat = "HH:MM"     'am/pm if you want am and pm
        Application.EnableEvents = False
        Target = TimeV
        Application.EnableEvents = True
End If

End Sub
 

Some videos you may like

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.

Watch MrExcel Video

Forum statistics

Threads
1,122,962
Messages
5,599,065
Members
414,281
Latest member
Engjamal2021

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Top