Jak automatycznie sortować datę po wprowadzeniu lub zmianie daty w programie Excel?
W programie Excel Sortuj funkcja może pomóc w sortowaniu daty w kolejności rosnącej lub malejącej, zgodnie z potrzebami. Ale nie jest dynamiczna, jeśli posortowałeś datę, a następnie dodałeś do niej nową datę, musisz posortować ją ponownie. Czy są jakieś dobre i szybkie sposoby automatycznego sortowania daty przy każdym wprowadzaniu nowej daty w arkuszu?
Automatyczne sortowanie daty po wprowadzeniu lub zmianie daty za pomocą formuły
Data automatycznego sortowania, gdy data jest wprowadzana lub zmieniana za pomocą kodu VBA
Automatyczne sortowanie daty po wprowadzeniu lub zmianie daty za pomocą formuły
Na przykład pierwotna data w kolumnie A, poniższa formuła może pomóc w automatycznym sortowaniu daty lub innych ciągów tekstowych w nowej kolumnie pomocnika na podstawie kolumny, którą chcesz posortować, wykonaj następujące czynności:
1. Wprowadź tę formułę:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) do pustej komórki obok kolumny z datą, C2, a następnie naciśnij Ctrl + Shift + Enter klucze razem, a otrzymasz sekwencję liczb, a następnie przeciągnij uchwyt wypełniania w dół do komórek, których chcesz użyć, patrz zrzut ekranu:
Note: W powyższym wzorze: A2: A15 to oryginalny zakres dat, który chcesz automatycznie sortować.
2. Następnie sformatuj liczby jako format daty, klikając Krótka randka z Ogólne lista rozwijana pod Strona główna tab, zobacz zrzut ekranu:
3. Następnie numery sekwencji zostały przekonwertowane na format daty, a oryginalna data również została posortowana, patrz zrzut ekranu:
4. Odtąd, po wprowadzeniu nowej daty lub zmianie daty w kolumnie A, data w kolumnie C zostanie automatycznie posortowana w kolejności rosnącej, patrz zrzut ekranu:
Data automatycznego sortowania, gdy data jest wprowadzana lub zmieniana za pomocą kodu VBA
Poniższy kod VBA może pomóc w automatycznym sortowaniu daty w oryginalnej kolumnie po wprowadzeniu nowej daty lub zmianie daty zgodnie z potrzebami.
1. Przejdź do arkusza roboczego, w którym chcesz automatycznie sortować datę podczas wprowadzania lub zmiany daty.
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: automatyczne sortowanie po wprowadzeniu lub zmianie daty:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Note: W powyższym kodzie wprowadzona data będzie automatycznie sortowana w kolumnie A, możesz ją zmienić A1 i A2 do własnych komórek, jak potrzebujesz.
3. Odtąd po wpisaniu daty w kolumnie A data zostanie posortowana automatycznie rosnąco.
Najlepsze narzędzia biurowe
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...
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!