Cum se poate converti rapid data în cuvinte în Excel?
În general, de obicei, convertim data în alte formate de date sau cifre în Excel, dar ați întâmpinat vreodată o problemă legată de conversia datei în cuvinte în limba engleză, așa cum este prezentat mai jos? De fapt, nu există o funcție încorporată care să o poată gestiona, ci un cod VBA.
Convertiți data în cuvânt cu funcția definită
Convertiți data în cuvânt cu funcția definită
Iată un cod macro care vă poate ajuta să convertiți datele în cuvinte.
1. Activați foaia pe care o utilizați și apăsați Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
2. clic Insera > Module și lipiți codul de mai jos în script.
VBA: convertiți data în cuvânt
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. Salvați codul și reveniți la foaie, selectați o celulă în care veți obține rezultatul, tastați această formulă = DateToWords (A2) (A2 este data pe care o utilizați), apăsați Intrați tasta și trageți mânerul de umplere automată peste celulele de care aveți nevoie. Vedeți captura de ecran:
Deblocați confortul conversiei instantanee a numerelor în cuvinte în Excel cu funcția Numere în cuvinte din Kutools for Excel, economisind timp și efort în crearea fără efort de documente cu aspect profesional!
Articole relative:
- Cum se poate converti rapid formatul de dată între european și SUA în Excel?
- Cum se convertește dD.MM.YYYY în formatul de dată (mM / DD / AAAA) în Excel?
- Cum se face conversia între data și marcajul de timp Unix în Excel?
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!