Hoe converteer je snel een datum naar woorden in Excel?
Over het algemeen converteren we de datum meestal naar andere datumnotaties of cijfers in Excel, maar bent u ooit een probleem tegengekomen bij het converteren van de datum naar Engelse woorden, zoals hieronder wordt getoond? Eigenlijk is er geen ingebouwde functie die het aankan, maar een VBA-code.
Converteer datum naar woord met gedefinieerde functie
Converteer datum naar woord met gedefinieerde functie
Hier is een macrocode die u een plezier kan doen bij het omzetten van datums in woorden.
1. Schakel het blad dat u gebruikt in en druk op Alt + F11 sleutels om te openen Microsoft Visual Basic voor toepassingen venster.
2. klikken Invoegen > Module en plak onderstaande code in het script.
VBA: converteer datum naar woord
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. Sla de code op en ga terug naar het blad, selecteer een cel waarin u het resultaat wilt uitvoeren, typ deze formule = DateToWords (A2) (A2 is de datum die u gebruikt), druk op Enter toets en sleep de automatische vulgreep naar de cellen die u nodig hebt. Zie screenshot:
Ontgrendel het gemak van het direct converteren van getallen naar woorden in Excel met Kutools voor Excel's Numbers to Words-functie, waardoor u tijd en moeite bespaart bij het moeiteloos maken van professioneel ogende documenten!
Relatieve artikelen:
- Hoe snel datumnotatie converteren tussen Europees en VS in Excel?
- Hoe converteer je dD.MM.YYYY naar het datumnotatie (mM / DD / JJJJ) in Excel?
- Hoe te converteren tussen datum en Unix-tijdstempel in Excel?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!