Hvordan konverterer man hurtigt dato til ord i Excel?
Generelt konverterer vi normalt datoen til andre datoformater eller cifre i Excel, men har du nogensinde stødt på et problem med at konvertere datoen til engelske ord som vist nedenstående skærmbillede? Faktisk er der ingen indbygget funktion, der kan håndtere den, men en VBA-kode.
Konverter dato til ord med defineret funktion
Konverter dato til ord med defineret funktion
Her er en makrokode, der kan gøre dig en tjeneste ved at konvertere datoer til ord.
1. Aktivér det ark, du bruger, og tryk på Alt + F11 taster for at åbne Microsoft Visual Basic til applikationer vindue.
2. klik indsatte > Moduler og indsæt nedenstående kode i scriptet.
VBA: Konverter dato til word
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. Gem koden og gå tilbage til arket, vælg en celle som du vil udskrive resultatet i, skriv denne formel =DateToWords(A2) (A2 er den dato, du bruger), tryk på Indtast tast og træk autofyldhåndtaget hen over de celler, du har brug for. Se skærmbillede:
Lås op for bekvemmeligheden ved øjeblikkeligt at konvertere tal til ord i Excel med Kutools for Excel's Numbers to Words-funktion, hvilket sparer dig tid og kræfter i at skabe professionelt udseende dokumenter uden besvær!
Relative artikler:
- Hvordan man hurtigt konverterer datoformat mellem europæiske og amerikanske i Excel?
- Sådan konverteres dD.MM.YYYY til datoformat (mM / DD / YYYY) i Excel?
- Sådan konverteres mellem dato og Unix-tidsstempel i Excel?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!