Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to insert colon between numbers to make them as time format automatically in Excel?

When you insert time format in worksheet cells, have you ever be annoyed with typing the colons each time? In this article, I will talk about how to insert colon when you entering numbers to make them as time format automatically in Excel.

Insert colon between numbers to make them as time format with formulas

Auto make the numbers to time format when you entering them with VBA code


arrow blue right bubble Insert colon between numbers to make them as time format with formulas


Supposing, you have a list of numbers, to insert the colons and make them as time format, the following formulas can do you a favor.

If the numbers are always 3 or 4 digits you can use this formula:

=TIME(LEFT(A1,LEN(A1)-2),RIGHT(A1,2),0), then drag the fill handle down to the cells that you want to contain this formula, and you will get the following result as you need:

doc insert colon to numbers 1

If the numbers are 5 or 6 digits, please apply this formula:

=(INT(A1/10000)&":"&INT(MOD(A1,10000)/100)&":"&MOD(A1,100))+0, and drag the fill handle down to the cells that you want to contain this formula, and you will get number sequence as following screenshot shown:

doc insert colon to numbers 2

Then you should format the numbers as time format by clicking Time from the General drop down list under the Home tab, see screenshot:

doc insert colon to numbers 3


arrow blue right bubble Auto make the numbers to time format when you entering them with VBA code

The following VBA code also can help you to auto convert the numbers to time format when you entering them, please do as this:

1. Go the worksheet that you want to insert colons into numbers automatically.

2. Right click the sheet tab, and select View Code from the context menu, in the popped out Microsoft Visual Basic for Applications window, please copy and paste the following code into the blank Module window, see screenshot:

VBA code: Auto make the numbers to time format:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20160606
    Dim xStr As String
    Dim xVal As String
    On Error GoTo EndMacro
    If Application.Intersect(Target, Range("A1:A20")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    With Target
        If Not .HasFormula Then
            xVal = .Value
            Select Case Len(xVal)
                Case 1 ' e.g., 1 = 00:01 AM
                    xStr = "00:0" & xVal
                Case 2 ' e.g., 12 = 00:12 AM
                    xStr = "00:" & xVal
                Case 3 ' e.g., 735 = 7:35 AM
                    xStr = Left(xVal, 1) & ":" & Right(xVal, 2)
                Case 4 ' e.g., 1234 = 12:34
                    xStr = Left(xVal, 2) & ":" & Right(xVal, 2)
                Case 5 ' e.g., 12345 = 1:23:45 NOT 12:03:45
                    xStr = Left(xVal, 1) & ":" & Mid(xVal, 2, 2) & ":" & Right(xVal, 2)
                Case 6 ' e.g., 123456 = 12:34:56
                    xStr = Left(xVal, 2) & ":" & Mid(xVal, 3, 2) & ":" & Right(xVal, 2)
                Case Else
                    Err.Raise 0
            End Select
            .Value = TimeValue(xStr)
        End If
    End With
    Application.EnableEvents = True
    Exit Sub
EndMacro:
    MsgBox "You did not enter a valid time"
    Application.EnableEvents = True
End Sub

doc insert colon to numbers 4

Note: In the above code, A1:A20 is the cells that you want to insert time later, and you can change the cell reference to your need.

3. And now, when you enter the numbers such as 102319 in cell range A1:A20, and then press Enter key, the number will be formatted as 10:23:19 AM time format automatically as you need.

doc insert colon to numbers 5


Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Dave · 4 months ago
    In an earlier version of windows I was able to change the colon time delimiter to another character (usually an asterisk) to make it easier and faster to enter lots of time data. Is there still a way to do this or has it been "new & improved" into oblivion?
  • To post as a guest, your comment is unpublished.
    kyra · 1 years ago
    如果只要時跟分以及24小時制,請問可以怎麼改?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi, kyra,
      你可以嘗試使用下面的vba來實現: (只顯示時和分)

      Private Sub Worksheet_Change(ByVal Target As Excel.Range)
      Dim xStr As String
      Dim xVal As String
      On Error GoTo EndMacro
      If Application.Intersect(Target, Range("A1:A20")) Is Nothing Then Exit Sub
      If Target.Count > 1 Then Exit Sub
      If Target.Value = "" Then Exit Sub
      Application.EnableEvents = False
      With Target
      If Not .HasFormula Then
      xVal = .Value
      Select Case Len(xVal)
      Case 1 ' e.g., 1 = 00:01 AM
      xStr = "00:0" & xVal
      Case 2 ' e.g., 12 = 00:12 AM
      xStr = "00:" & xVal
      Case 3 ' e.g., 735 = 7:35 AM
      xStr = Left(xVal, 1) & ":" & Right(xVal, 2)
      Case 4 ' e.g., 1234 = 12:34
      xStr = Left(xVal, 2) & ":" & Right(xVal, 2)
      Case 5 ' e.g., 12345 = 1:23:45 NOT 12:03:45
      xStr = Left(xVal, 1) & ":" & Mid(xVal, 2, 2) & ":" & Right(xVal, 2)
      Case 6 ' e.g., 123456 = 12:34:56
      xStr = Left(xVal, 2) & ":" & Mid(xVal, 3, 2) & ":" & Right(xVal, 2)
      Case Else
      Err.Raise 0
      End Select
      .Value = Format(TimeValue(xStr), "Short Time")
      End If
      End With
      Application.EnableEvents = True
      Exit Sub
      EndMacro:
      MsgBox "You did not enter a valid time"
      Application.EnableEvents = True
      End Sub
  • To post as a guest, your comment is unpublished.
    Steven · 1 years ago
    Thank you. Very well illustrated.