Come convertire rapidamente la data in parole in Excel?
In generale, di solito convertiamo la data in altri formati di data o cifre in Excel, ma hai mai riscontrato un problema nel convertire la data in parole inglesi come mostrato nell'immagine sottostante? In realtà, non esiste una funzione incorporata in grado di gestirlo ma un codice VBA.
Converti la data in parola con la funzione definita
Converti la data in parola con la funzione definita
Ecco un codice macro che può farti un favore nella conversione delle date in parole.
1. Abilitare il foglio che si utilizza e premere Alt + F11 chiavi per aprire Microsoft Visual Basic, Applications Edition finestra.
2. Clic inserire > Moduli e incolla il codice sottostante nello script.
VBA: converti la data in parola
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. Salvare il codice e tornare al foglio, selezionare una cella in cui verrà emesso il risultato, digitare questa formula = DateToWords (A2) (A2 è la data utilizzata), premere entrare e trascina la maniglia di riempimento automatico sulle celle che ti servono. Vedi screenshot:
Sblocca la comodità di convertire istantaneamente i numeri in parole in Excel con Kutools per la funzione Numeri in parole di Excel, risparmiando tempo e fatica nella creazione di documenti dall'aspetto professionale senza sforzo!
Articoli relativi:
- Come convertire rapidamente il formato della data tra Europa e Stati Uniti in Excel?
- Come convertire dD.MM.YYYY in formato data (mM / DD / YYYY) in Excel?
- Come convertire tra data e timestamp Unix in Excel?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!