Jak szybko przekonwertować datę na słowa w programie Excel?
Ogólnie rzecz biorąc, zwykle konwertujemy datę na inne formaty daty lub cyfry w programie Excel, ale czy kiedykolwiek napotkałeś problem z konwersją daty na angielskie słowa, jak pokazano na poniższym zrzucie ekranu? W rzeczywistości nie ma wbudowanej funkcji, która mogłaby to obsłużyć, ale kod VBA.
Konwertuj datę na słowo za pomocą zdefiniowanej funkcji
Konwertuj datę na słowo za pomocą zdefiniowanej funkcji
Oto kod makra, który może ci pomóc w zamianie dat na słowa.
1. Włącz arkusz, którego używasz i naciśnij Alt + F11 klucze do otwarcia Microsoft Visual Basic for Applications okno.
2. kliknij wstawka > Moduł i wklej poniższy kod do skryptu.
VBA: Konwertuj datę na słowo
Function DateToWords(ByVal xRgVal As Date) As String
' Update by Extendoffice on 20240926
Dim xYear As String
Dim Hundreds As String
Dim Decades As String
Dim xTensArr As Variant
Dim xOrdArr As Variant
Dim xCardArr As Variant
' Initialize arrays
xOrdArr = Array("First", "Second", "Third", "Fourth", "Fifth", "Sixth", _
"Seventh", "Eighth", "Ninth", "Tenth", "Eleventh", "Twelfth", _
"Thirteenth", "Fourteenth", "Fifteenth", "Sixteenth", _
"Seventeenth", "Eighteenth", "Nineteenth", "Twentieth", _
"Twenty-first", "Twenty-second", "Twenty-third", "Twenty-fourth", _
"Twenty-fifth", "Twenty-sixth", "Twenty-seventh", "Twenty-eighth", _
"Twenty-ninth", "Thirtieth", "Thirty-first")
xCardArr = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", _
"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", _
"Seventeen", "Eighteen", "Nineteen")
xTensArr = Array("Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
' Extract year
xYear = CStr(Year(xRgVal))
Decades = Mid$(xYear, 3)
' Handle decades
If CInt(Decades) < 20 Then
Decades = xCardArr(CInt(Decades))
Else
Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & xCardArr(CInt(Right$(Decades, 1)))
End If
' Handle hundreds
Hundreds = Mid$(xYear, 2, 1)
If CInt(Hundreds) Then
Hundreds = xCardArr(CInt(Hundreds)) & " Hundred "
Else
Hundreds = ""
End If
' Construct English representation of the date
DateToWords = xOrdArr(Day(xRgVal) - 1) & " " & Format$(xRgVal, "mmmm") & " " & _
xCardArr(CInt(Left$(xYear, 1))) & " Thousand " & Hundreds & Decades
End Function
3. Zapisz kod i wróć do arkusza, wybierz komórkę, w której wyprowadzisz wynik, wpisz tę formułę = DateToWords (A2) (A2 to data, której używasz), naciśnij Wchodzę i przeciągnij uchwyt automatycznego wypełniania do potrzebnych komórek. Zobacz zrzut ekranu:
Odblokuj wygodę natychmiastowej konwersji liczb na słowa w programie Excel dzięki Kutools for Excel's Numbers to Words funkcja, oszczędzając czas i wysiłek w tworzeniu profesjonalnie wyglądających dokumentów bez wysiłku!
Względne artykuły:
- Jak szybko przekonwertować format daty między europejskimi a amerykańskimi w programie Excel?
- Jak przekonwertować dD.MM.RRRR na format daty (mM / DD / RRRR) w programie Excel?
- Jak konwertować między datą a znacznikiem czasu uniksowego w programie Excel?
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!