Note: The other languages of the website are Google-translated. Back to English

如何在數字之間插入冒號以使其在Excel中自動成為時間格式?

當您在工作表單元格中插入時間格式時,您是否曾經每次輸入冒號都感到煩惱? 在本文中,我將討論在輸入數字以使其在Excel中自動成為時間格式時如何插入冒號。

在數字之間插入冒號,使它們成為帶有公式的時間格式

使用VBA代碼輸入數字時,會自動將數字設置為時間格式


箭頭藍色右氣泡 在數字之間插入冒號,使它們成為帶有公式的時間格式

假設您有一個數字列表,用於插入冒號並使它們成為時間格式,則以下公式可以幫您一個忙。

如果數字始終是3或4位數字,則可以使用以下公式:

=TIME(LEFT(A1,LEN(A1)-2),RIGHT(A1,2),0),然後將填充手柄向下拖動到要包含此公式的單元格,您將根據需要獲得以下結果:

doc將冒號插入數字1

如果數字是5或6位數字,請應用以下公式:

=(INT(A1/10000)&":"&INT(MOD(A1,10000)/100)&":"&MOD(A1,100))+0,然後將填充手柄向下拖動到要包含此公式的單元格,您將獲得數字序列,如以下屏幕截圖所示:

doc將冒號插入數字2

然後,您應該通過單擊將數字格式化為時間格式 時間 來自 一般 下的下拉列表 首頁 標籤,請參見屏幕截圖:

doc將冒號插入數字3


箭頭藍色右氣泡 使用VBA代碼輸入數字時,會自動將數字設置為時間格式

以下VBA代碼還可以幫助您在輸入數字時將數字自動轉換為時間格式,請按以下步驟操作:

1。 轉到要自動在數字中插入冒號的工作表。

2。 右鍵單擊工作表標籤,然後選擇 查看代碼 從上下文菜單中,彈出 Microsoft Visual Basic for Applications 窗口,請複制以下代碼並將其粘貼到空白處 模塊 窗口,請參見屏幕截圖:

VBA代碼:自動將數字設置為時間格式:

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將冒號插入數字4

備註: 在上面的代碼中, A1:A20 是您要在以後插入時間的單元格,您可以根據需要更改單元格引用。

3。 現在,當您在單元格區域A102319:A1中輸入諸如20之類的數字時,然後按 Enter 鍵,數字將根據需要自動格式化為10:23:19 AM時間格式。

doc將冒號插入數字5


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (6)
4.5中的5評分 · 1評級
網站主持人對此評論進行了最小化
謝謝你。 很好的說明。
網站主持人對此評論進行了最小化
如果什麼時候跟分以及24小時制,請問可以怎麼改?
網站主持人對此評論進行了最小化
嗨,凱拉,
你可以嘗試使用下面的 vba 來實現:(只顯示時間和分)

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
將 xStr 調暗為字符串
將 xVal 調暗為字符串
出錯時轉到 EndMacro
如果 Application.Intersect(Target, Range("A1:A20")) 什麼都不是,則退出 Sub
如果 Target.Count > 1 則退出 Sub
If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
有目標
如果不是 .HasFormula 那麼
xVal = .值
選擇大小寫長度(xVal)
案例 1 ' 例如,1 = 00:01 AM
xStr = "00:0" & xVal
案例 2 ' 例如,12 = 00:12 AM
xStr = "00:" & xVal
案例 3 ' 例如,735 = 7:35 AM
xStr = Left(xVal, 1) & ":" & Right(xVal, 2)
案例 4 ' 例如,1234 = 12:34
xStr = Left(xVal, 2) & ":" & Right(xVal, 2)
案例 5 ' 例如,12345 = 1:23:45 而不是 12:03:45
xStr = Left(xVal, 1) & ":" & Mid(xVal, 2, 2) & ":" & Right(xVal, 2)
案例 6 ' 例如,123456 = 12:34:56
xStr = Left(xVal, 2) & ":" & Mid(xVal, 3, 2) & ":" & Right(xVal, 2)
其他情況
錯誤。提高 0
最終選擇
.Value = Format(TimeValue(xStr), "短時間")
如果結束
結束
Application.EnableEvents = True
退出小組
結束宏:
MsgBox "您輸入的時間不正確"
Application.EnableEvents = True
END SUB
網站主持人對此評論進行了最小化
在早期版本的 Windows 中,我能夠將冒號時間分隔符更改為另一個字符(通常是星號),以便更輕鬆快捷地輸入大量時間數據。 有沒有辦法做到這一點,還是已經“新的和改進的”被遺忘了?
網站主持人對此評論進行了最小化
請問有誰知道如何讓這個宏在谷歌表格上運行?
網站主持人對此評論進行了最小化
DZIEKUJE ZA WYJAŞNIENIE, CZY KTOŚ MOŻE PODPOWIEDZIEC CZY DA SIE TO PRZEROBIC TAK ŻEBY DZIŁAŁO NA 2 LUB WIECEJ KOLUMNACH? CHODZI O WPROWADZENIE STARTU PRACY W KOLUMNIE CA ZAKONCZENIA W KOLUMNIE D, WYNIK WYSWIETLI SIE W KOLUMNIE E
4.5中的5評分
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護