Przejdź do głównej zawartości

Jak wstawić dwukropek między liczbami, aby automatycznie ustawić je jako format czasu w programie Excel?

Kiedy wstawiasz format czasu do komórek arkusza, czy kiedykolwiek denerwowało Cię wpisywanie dwukropków za każdym razem? W tym artykule omówię, jak wstawić dwukropek podczas wprowadzania liczb, aby automatycznie ustawić je jako format czasu w programie Excel.

Wstaw dwukropek między liczbami, aby utworzyć je jako format czasu z formułami

Automatycznie dostosuj liczby do formatu czasu podczas wprowadzania ich za pomocą kodu VBA


strzałka niebieski prawy bąbelek Wstaw dwukropek między liczbami, aby utworzyć je jako format czasu z formułami

Przypuśćmy, że masz listę liczb, aby wstawić dwukropki i ustawić je jako format czasu, następujące formuły mogą ci wyświadczyć przysługę.

Jeśli liczby mają zawsze 3 lub 4 cyfry, możesz użyć tej formuły:

=TIME(LEFT(A1,LEN(A1)-2),RIGHT(A1,2),0), a następnie przeciągnij uchwyt wypełniania w dół do komórek, które chcesz zawrzeć w tej formule, a otrzymasz następujący wynik zgodnie z potrzebami:

doc wstaw dwukropek do cyfr 1

Jeśli liczby mają 5 lub 6 cyfr, zastosuj następującą formułę:

=(INT(A1/10000)&":"&INT(MOD(A1,10000)/100)&":"&MOD(A1,100))+0i przeciągnij uchwyt wypełniania w dół do komórek, które chcesz zawrzeć w tej formule, a otrzymasz sekwencję liczb, jak pokazano na poniższym zrzucie ekranu:

doc wstaw dwukropek do cyfr 2

Następnie należy sformatować liczby jako format czasu, klikając Czas z Ogólne lista rozwijana pod Strona główna tab, zobacz zrzut ekranu:

doc wstaw dwukropek do cyfr 3


strzałka niebieski prawy bąbelek Automatycznie dostosuj liczby do formatu czasu podczas wprowadzania ich za pomocą kodu VBA

Poniższy kod VBA może również pomóc w automatycznej konwersji liczb do formatu czasu podczas ich wprowadzania, wykonaj następujące czynności:

1. Przejdź do arkusza roboczego, w którym chcesz automatycznie wstawiać dwukropki do liczb.

2. Kliknij prawym przyciskiem myszy kartę arkusza i wybierz Wyświetl kod z menu kontekstowego w wyskakującym pliku Microsoft Visual Basic for Applications okno, skopiuj i wklej następujący kod w puste miejsce Moduł okno, patrz zrzut ekranu:

Kod VBA: Automatycznie dostosuj liczby do formatu czasu:

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 wstaw dwukropek do cyfr 4

Uwaga: W powyższym kodzie A1: A20 to komórki, które chcesz wstawić później, i możesz zmienić odwołanie do komórki zgodnie z potrzebami.

3. A teraz, gdy wpiszesz liczby, takie jak 102319 w zakresie komórek A1: A20, a następnie naciśnij Wchodzę numer zostanie automatycznie sformatowany jako format godziny 10:23:19, zgodnie z potrzebami.

doc wstaw dwukropek do cyfr 5

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (7)
Rated 4.5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
I know this is a very old post, but I am experiencing an error when I try to enter time between 00001 and 005959. It's either converting it to 1AM or throwing an error. Any ideas?
This comment was minimized by the moderator on the site
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 C A ZAKONCZENIA W KOLUMNIE D, WYNIK WYSWIETLI SIE W KOLUMNIE E
Rated 4.5 out of 5
This comment was minimized by the moderator on the site
does anyone know how to make this macro run on google sheets please?
This comment was minimized by the moderator on the site
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?
This comment was minimized by the moderator on the site
如果只要時跟分以及24小時制,請問可以怎麼改?
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
Thank you. Very well illustrated.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations