¿Cómo convertir rápidamente la fecha en palabras en Excel?
En general, generalmente convertimos la fecha a otros formatos de fecha o dígitos en Excel, pero ¿alguna vez ha encontrado un problema al convertir la fecha a palabras en inglés como se muestra a continuación? En realidad, no hay una función incorporada que pueda manejarlo, excepto un código VBA.
Convertir fecha en palabra con función definida
Convertir fecha en palabra con función definida
Aquí hay un código macro que puede hacerle un favor al convertir fechas en palabras.
1. Habilite la hoja que usa y presione Alt + F11 llaves para abrir Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Módulo y pegue el siguiente código en el script.
VBA: convierte la fecha en palabra
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. Guarde el código y vuelva a la hoja, seleccione una celda en la que generará el resultado, escriba esta fórmula = DateToWords (A2) (A2 es la fecha que usa), presione Participar y arrastre el controlador de relleno automático sobre las celdas que necesita. Ver captura de pantalla:
Desbloquee la conveniencia de convertir instantáneamente números a palabras en Excel con la función Números a palabras de Kutools for Excel, que le ahorra tiempo y esfuerzo al crear documentos de aspecto profesional sin esfuerzo.
Artículos relativos:
- ¿Cómo convertir rápidamente el formato de fecha entre europeos y estadounidenses en Excel?
- ¿Cómo convertir dD.MM.YYYY a formato de fecha (mM / DD / YYYY) en Excel?
- ¿Cómo convertir entre fecha y marca de tiempo Unix en Excel?
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!