Como converter rapidamente uma data em palavras no Excel?
Em geral, costumamos converter a data para outros formatos de data ou dígitos no Excel, mas você já enfrentou um problema ao converter a data em palavras em inglês, como mostra a captura de tela abaixo? Na verdade, não há uma função interna que possa lidar com isso, exceto por um código VBA.
Converter data em palavra com Função Definida
Converter data em palavra com Função Definida
Aqui está um código de macro que pode ajudá-lo a converter datas em palavras.
1. Habilite a planilha que você usa e pressione as teclas Alt + F11 para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o código abaixo no script.
VBA: Converter data em palavra
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. Salve o código e volte para a planilha, selecione uma célula onde você deseja exibir o resultado e digite esta fórmula =DateToWords(A2) (A2 é a data que você está usando), pressione Enter e arraste a alça de preenchimento automático sobre as células que você precisa. Veja a captura de tela:
Desbloqueie a conveniência de converter instantaneamente números em palavras no Excel com o recurso Números para Palavras do Kutools para Excel, economizando tempo e esforço na criação de documentos com aparência profissional sem esforço!
Artigos Relacionados:
- Como converter rapidamente o formato de data entre europeu e americano no Excel?
- Como converter DD.MM.AAAA para o formato de data (MM/DD/AAAA) no Excel?
- Como converter entre Data e Timestamp Unix no Excel?
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!