Note: The other languages of the website are Google-translated. Back to English

Como converter números em palavras em rúpias indianas no Excel?

Neste artigo, apresentarei como converter uma lista de números em palavras em rúpias indianas ou dólar inglês no Excel.

Converta números em palavras em rúpias indianas com o código VBA

Converta números em palavras em dólar inglês com um recurso incrível


Converta números em palavras em rúpias indianas com o código VBA

O seguinte código VBA pode ajudá-lo a converter os números em palavras em rúpias, faça o seguinte:

1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o código a seguir na janela do módulo.

Código VBA: converta números em palavras em rúpias

Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = " Rupees " & xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function 

3. Após inserir o código, salve e feche a janela de código, volte para a planilha e insira esta fórmula: = RupeeFormat (A2) em uma célula em branco e arraste a alça de preenchimento para baixo para aplicar esta fórmula a outras células, todos os números foram escritos em rúpias, veja a captura de tela:


Converta números em palavras em dólar inglês com um recurso incrível

Se você quiser converter os números em palavras em dólar inglês, Kutools for Excel'S Números para Palavras recurso pode ajudá-lo a resolver esse trabalho de forma rápida e fácil.

Dicas:Para aplicar isso Número para Palavras recurso, em primeiro lugar, você deve baixar o Kutools for Excele, em seguida, aplique o recurso de forma rápida e fácil.

Depois de instalar Kutools for Excel, por favor, faça o seguinte:

1. Selecione a lista de números que deseja converter e clique em Kutools > Conteúdo > Números para Palavras, veja as capturas de tela:

2. No Números para palavras de moeda caixa de diálogo, selecione Inglês opção do Idiomas seção e clique em Ok botão, os números na seleção foram convertidos para as palavras da moeda em inglês, consulte a captura de tela:

Clique para baixar Kutools para Excel e avaliação gratuita agora!

 


  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas e manutenção de dados; Dividir o conteúdo das células; Combine Linhas Duplicadas e Soma / Média... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Fórmulas favoritas e de inserção rápida, Intervalos, gráficos e imagens; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Agrupamento de tabela dinâmica por número da semana, dia da semana e mais ... Mostrar células desbloqueadas, bloqueadas por cores diferentes; Destacar células que possuem fórmula / nome...
guia kte 201905
  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório

 

Comentários (22)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
O Excel trava quando a célula de referência não tem válvula!
Este comentário foi feito pelo moderador no site
Olá, usuário,
Obrigado pelo seu comentário, o código neste artigo foi atualizado, por favor tente novamente, obrigado!
Este comentário foi feito pelo moderador no site
Prezado Senhor,

Dia bom,

Eu testei a fórmula acima que não funciona em valores de hífen menos como -100 -10,000 ou (100) (10,000)

Senhor, estou usando o código abaixo nos últimos 1 anos e hoje descobri o mesmo erro.

Quando escrevo menos -10,000 ou (10,000), mostra "Apenas cem e dez mil"
Quando escrevo 10,000 positivos, funciona muito bem "Apenas dez mil"

Abaixo exemplo:

(10,000.99) Apenas cento e dez mil e 99/100 riais
10,000.99 Apenas dez mil e 99/100 riais
(10,000,000.99) Apenas cento e dez milhões e 99/100 riais
10,000,000.99 Apenas dez milhões e 99/100 riais
(10,000,000,000.99) Apenas cento e dez bilhões e 99/100 riais
10,000,000,000.99 Apenas dez bilhões e 99/100 riais
(10,000,000,000,000.90) Apenas cento e dez trilhões e 90/100 riais
10,000,000,000,000.90 Apenas dez trilhões e 90/100 riais

Fórmula = ortografia

MEU CÓDIGO VBA:

'Função principal
Função SpellBilling(ByVal MyNumber)
Riyals escuros, Halalas, Temp
Dim DecimalPlace, Count
ReDim Place(9) Como String
Lugar(2) = " Mil "
Lugar(3) = " Milhão "
Lugar(4) = " Bilhões "
Lugar(5) = " Trilhões "
' Representação em string do valor.
MeuNúmero = Trim(Str(MeuNúmero))
' Posição da casa decimal 0 se nenhuma.
DecimalPlace = InStr(MeuNúmero, ".")
' Converte Halalas e define MyNumber para valor em Riyal.
Se DecimalPlace > 0 Then
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MeuNumero = Trim(Esquerda(MeuNumero, Lugar Decimal - 1))
Se acabar
Contagem = 1
Faça enquanto MeuNúmero <> ""
Temp = GetCentenas(Direita(MeuNúmero, 3))
If Temp <> "" Então Riyals = Temp & Place(Count) & Riyals
Se Len(MeuNúmero) > 3 Então
MeuNúmero = Esquerda(MeuNúmero, Len(MeuNúmero) - 3)
Outro
MeuNúmero = ""
Se acabar
Contagem = Contagem + 1
laço
Selecionar rials de caso
Caso ""
Rial = "Sem Rial"
Caso "Um"
Rials = "Apenas um Rial"
Case Else
Riyals = "Somente" & Riyals
Riais = Riais & ""
End Select
Selecionar caso Halalas
Caso ""
Halalas = "& 00/00 Riyals"
Caso "Um"
Halalas = "& 01/100 Riyals"
Caso "Dois"
Halalas = "& 02/100 Riyals"
Caso "Três"
Halalas = "& 03/100 Riyals"
Caso "Quatro"
Halalas = "& 04/100 Riyals"
Caso "Cinco"
Halalas = "& 05/100 Riyals"
Caso "Seis"
Halalas = "& 06/100 Riyals"
Caso "Sete"
Halalas = "& 07/100 Riyals"
Caso "Oito"
Halalas = "& 08/100 Riyals"
Caso "Nove"
Halalas = "& 09/100 Riyals"
Caso "Dez"
Halalas = "& 10/100 Riyals"
Caso "Onze"
Halalas = "& 11/100 Riyals"
Caso "Doze"
Halalas = "& 12/100 Riyals"
Caso "Treze"
Halalas = "& 13/100 Riyals"
Caso "Quatorze"
Halalas = "& 14/100 Riyals"
Caso "Quinze"
Halalas = "& 15/100 Riyals"
Caso "Dezesseis"
Halalas = "& 16/100 Riyals"
Caso "Dezessete"
Halalas = "& 17/100 Riyals"
Caso "Dezoito"
Halalas = "& 18/100 Riyals"
Caso "Dezenove"
Halalas = "& 19/100 Riyals"
Caso "Vinte"
Halalas = "& 20/100 Riyals"
Caso "Vinte e um"
Halalas = "& 21/100 Riyals"
Caso "Vinte e Dois"
Halalas = "& 22/100 Riyals"
Caso "Vinte e Três"
Halalas = "& 23/100 Riyals"
Caso "Vinte e Quatro"
Halalas = "& 24/100 Riyals"
Caso "Vinte e Cinco"
Halalas = "& 25/100 Riyals"
Caso "Vinte e Seis"
Halalas = "& 26/100 Riyals"
Caso "Vinte e Sete"
Halalas = "& 27/100 Riyals"
Caso "Vinte e Oito"
Halalas = "& 28/100 Riyals"
Caso "Vinte e Nove"
Halalas = "& 29/100 Riyals"
Caso "Trinta"
Halalas = "& 30/100 Riyals"
Caso "Trinta e um"
Halalas = "& 31/100 Riyals"
Caso "Trinta e Dois"
Halalas = "& 32/100 Riyals"
Caso "Trinta e Três"
Halalas = "& 33/100 Riyals"
Caso "Trinta e Quatro"
Halalas = "& 34/100 Riyals"
Caso "Trinta e Cinco"
Halalas = "& 35/100 Riyals"
Caso "Trinta e Seis"
Halalas = "& 36/100 Riyals"
Caso "Trinta e Sete"
Halalas = "& 37/100 Riyals"
Caso "Trinta e Oito"
Halalas = "& 38/100 Riyals"
Caso "Trinta e Nove"
Halalas = "& 39/100 Riyals"
Caso "Quarenta"
Halalas = "& 40/100 Riyals"
Caso "Quarenta e um"
Halalas = "& 41/100 Riyals"
Caso "Quarenta e Dois"
Halalas = "& 42/100 Riyals"
Caso "Quarenta e Três"
Halalas = "& 43/100 Riyals"
Caso "Quarenta e Quatro"
Halalas = "& 44/100 Riyals"
Caso "Quarenta e Cinco"
Halalas = "& 45/100 Riyals"
Caso "Quarenta e Seis"
Halalas = "& 46/100 Riyals"
Caso "Quarenta e Sete"
Halalas = "& 47/100 Riyals"
Caso "Quarenta e Oito"
Halalas = "& 48/100 Riyals"
Caso "Quarenta e Nove"
Halalas = "& 49/100 Riyals"
Caso "Cinquenta"
Halalas = "& 50/100 Riyals"
Caso "Cinquenta e um"
Halalas = "& 51/100 Riyals"
Caso "Cinquenta e Dois"
Halalas = "& 52/100 Riyals"
Caso "Cinquenta e Três"
Halalas = "& 53/100 Riyals"
Caso "Cinquenta e Quatro"
Halalas = "& 54/100 Riyals"
Caso "Cinquenta e Cinco"
Halalas = "& 55/100 Riyals"
Caso "Cinquenta e Seis"
Halalas = "& 56/100 Riyals"
Caso "Cinquenta e Sete"
Halalas = "& 57/100 Riyals"
Caso "Cinquenta e Oito"
Halalas = "& 58/100 Riyals"
Caso "Cinquenta e Nove"
Halalas = "& 59/100 Riyals"
Caso "Sessenta"
Halalas = "& 60/100 Riyals"
Caso "Sessenta e um"
Halalas = "& 61/100 Riyals"
Caso "Sessenta e Dois"
Halalas = "& 62/100 Riyals"
Caso "Sessenta e Três"
Halalas = "& 63/100 Riyals"
Caso "Sessenta e Quatro"
Halalas = "& 64/100 Riyals"
Caso "Sessenta e Cinco"
Halalas = "& 65/100 Riyals"
Caso "Sessenta e Seis"
Halalas = "& 66/100 Riyals"
Caso "Sessenta e Sete"
Halalas = "& 67/100 Riyals"
Caso "Sessenta e Oito"
Halalas = "& 68/100 Riyals"
Caso "Sessenta e Nove"
Halalas = "& 69/100 Riyals"
Caso "Setenta"
Halalas = "& 70/100 Riyals"
Caso "Setenta e um"
Halalas = "& 71/100 Riyals"
Caso "Setenta e Dois"
Halalas = "& 72/100 Riyals"
Caso "Setenta e Três"
Halalas = "& 73/100 Riyals"
Caso "Setenta e Quatro"
Halalas = "& 74/100 Riyals"
Caso "Setenta e cinco"
Halalas = "& 75/100 Riyals"
Caso "Setenta e Seis"
Halalas = "& 76/100 Riyals"
Caso "Setenta e Sete"
Halalas = "& 77/100 Riyals"
Caso "Setenta e Oito"
Halalas = "& 78/100 Riyals"
Caso "Setenta e Nove"
Halalas = "& 79/100 Riyals"
Caso "Oitenta"
Halalas = "& 80/100 Riyals"
Caso "Oitenta e um"
Halalas = "& 81/100 Riyals"
Caso "Oitenta e Dois"
Halalas = "& 82/100 Riyals"
Caso "Oitenta e Três"
Halalas = "& 83/100 Riyals"
Caso "Oitenta e Quatro"
Halalas = "& 84/100 Riyals"
Caso "Oitenta e cinco"
Halalas = "& 85/100 Riyals"
Caso "Oitenta e Seis"
Halalas = "& 86/100 Riyals"
Caso "Oitenta e Sete"
Halalas = "& 87/100 Riyals"
Caso "Oitenta e oito"
Halalas = "& 88/100 Riyals"
Caso "Oitenta e Nove"
Halalas = "& 89/100 Riyals"
Caso "Noventa"
Halalas = "& 90/100 Riyals"
Caso "Noventa e Um"
Halalas = "& 91/100 Riyals"
Caso "Noventa e Dois"
Halalas = "& 92/100 Riyals"
Caso "Noventa e Três"
Halalas = "& 93/100 Riyals"
Caso "Noventa e Quatro"
Halalas = "& 94/100 Riyals"
Caso "Noventa e Cinco"
Halalas = "& 95/100 Riyals"
Caso "Noventa e Seis"
Halalas = "& 96/100 Riyals"
Caso "Noventa e Sete"
Halalas = "& 97/100 Riyals"
Caso "Noventa e Oito"
Halalas = "& 98/100 Riyals"
Caso "Noventa e Nove"
Halalas = "& 99/100 Riyals"


Case Else
Halalas = "&" & Halalas & "Halalas"
End Select
SpellBilling = Riyals e Halalas
Função final


' Converte um número de 100-999 em texto
Função GetHundreds(ByVal MyNumber)
Resultado de escurecimento como string
Se Val(MyNumber) = 0, então saia da função
MeuNúmero = Direita("000" & MeuNúmero, 3)
' Converte o lugar das centenas.
If Mid(MyNumber, 1, 1) <> "0" Then
Resultado = GetDigit(Mid(MyNumber, 1, 1)) & " Cem "
Se acabar
' Converte a casa das dezenas e unidades.
If Mid(MyNumber, 2, 1) <> "0" Then
Resultado = Resultado & GetTens(Mid(MyNumber, 2))
Outro
Resultado = Resultado & GetDigit(Mid(MyNumber, 3))
Se acabar
GetHundreds = Resultado
Função final

' Converte um número de 10 a 99 em texto.
Função GetTens(TensText)
Resultado de escurecimento como string
Result = "" ' Anula o valor da função temporária.
If Val(Left(TensText, 1)) = 1 Then ' If valor entre 10-19...
Selecione Case Val(TensText)
Caso 10: Resultado = "Dez"
Caso 11: Resultado = "Onze"
Caso 12: Resultado = "Doze"
Caso 13: Resultado = "Treze"
Caso 14: Resultado = "Quatorze"
Caso 15: Resultado = "Quinze"
Caso 16: Resultado = "Dezesseis"
Caso 17: Resultado = "Dezessete"
Caso 18: Resultado = "Dezoito"
Caso 19: Resultado = "Dezenove"
Case Else
End Select
Else ' Se valor entre 20-99...
Selecione Case Val(Left(TensText, 1))
Caso 2: Resultado = "Vinte"
Caso 3: Resultado = "Trinta"
Caso 4: Resultado = "Quarenta"
Caso 5: Resultado = "Cinquenta"
Caso 6: Resultado = "Sessenta"
Caso 7: Resultado = "Setenta"
Caso 8: Resultado = "Oitenta"
Caso 9: Resultado = "Noventa"
Case Else
End Select
Resultado = Resultado & GetDigit _
(Right(TensText, 1)) ' Recupera o local.
Se acabar
GetTens = Resultado
Função final

' Converte um número de 1 a 9 em texto.
Função GetDigit(Digit)
Selecione Caso Val(Dígito)
Caso 1: GetDigit = "Um"
Caso 2: GetDigit = "Dois"
Caso 3: GetDigit = "Três"
Caso 4: GetDigit = "Quatro"
Caso 5: GetDigit = "Cinco"
Caso 6: GetDigit = "Seis"
Caso 7: GetDigit = "Sete"
Caso 8: GetDigit = "Oito"
Caso 9: GetDigit = "Nove"
Caso contrário: GetDigit = ""
End Select
Função final
Este comentário foi feito pelo moderador no site
Nada a dizer! Extremamente super
Este comentário foi feito pelo moderador no site
Prezado Senhor,

Dia bom,
Eu testei seu código VBA, mas infelizmente não está funcionando bem em valores negativos / negativos como -100 -10,000 / (100) (10,000).

Senhor, estou usando o código abaixo nos últimos 1 anos e hoje descobri o mesmo erro que também é encontrado no seu código VBA.

Quando escrevo menos -10,000 aparece em "Only Hundred Ten Thousand"
Quando escrevo 10,000 positivos, aparece em "Apenas dez mil" funciona bem

Abaixo exemplo:

(10,000.99) Apenas cento e dez mil e 99/100 riais
10,000.99 Apenas dez mil e 99/100 riais
(10,000,000.99) Apenas cento e dez milhões e 99/100 riais
10,000,000.99 Apenas dez milhões e 99/100 riais
(10,000,000,000.99) Apenas cento e dez bilhões e 99/100 riais
10,000,000,000.99 Apenas dez bilhões e 99/100 riais
(10,000,000,000,000.90) Apenas cento e dez trilhões e 90/100 riais
10,000,000,000,000.90 Apenas dez trilhões e 90/100 riais

Fórmula = ortografia

MEU CÓDIGO VBA:

'Função principal
Função SpellBilling(ByVal MyNumber)
Riyals escuros, Halalas, Temp
Dim DecimalPlace, Count
ReDim Place(9) Como String
Lugar(2) = " Mil "
Lugar(3) = " Milhão "
Lugar(4) = " Bilhões "
Lugar(5) = " Trilhões "
' Representação em string do valor.
MeuNúmero = Trim(Str(MeuNúmero))
' Posição da casa decimal 0 se nenhuma.
DecimalPlace = InStr(MeuNúmero, ".")
' Converte Halalas e define MyNumber para valor em Riyal.
Se DecimalPlace > 0 Then
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MeuNumero = Trim(Esquerda(MeuNumero, Lugar Decimal - 1))
Se acabar
Contagem = 1
Faça enquanto MeuNúmero <> ""
Temp = GetCentenas(Direita(MeuNúmero, 3))
If Temp <> "" Então Riyals = Temp & Place(Count) & Riyals
Se Len(MeuNúmero) > 3 Então
MeuNúmero = Esquerda(MeuNúmero, Len(MeuNúmero) - 3)
Outro
MeuNúmero = ""
Se acabar
Contagem = Contagem + 1
laço
Selecionar rials de caso
Caso ""
Rial = "Sem Rial"
Caso "Um"
Rials = "Apenas um Rial"
Case Else
Riyals = "Somente" & Riyals
Riais = Riais & ""
End Select
Selecionar caso Halalas
Caso ""
Halalas = "& 00/00 Riyals"
Caso "Um"
Halalas = "& 01/100 Riyals"
Caso "Dois"
Halalas = "& 02/100 Riyals"
Caso "Três"
Halalas = "& 03/100 Riyals"
Caso "Quatro"
Halalas = "& 04/100 Riyals"
Caso "Cinco"
Halalas = "& 05/100 Riyals"
Caso "Seis"
Halalas = "& 06/100 Riyals"
Caso "Sete"
Halalas = "& 07/100 Riyals"
Caso "Oito"
Halalas = "& 08/100 Riyals"
Caso "Nove"
Halalas = "& 09/100 Riyals"
Caso "Dez"
Halalas = "& 10/100 Riyals"
Caso "Onze"
Halalas = "& 11/100 Riyals"
Caso "Doze"
Halalas = "& 12/100 Riyals"
Caso "Treze"
Halalas = "& 13/100 Riyals"
Caso "Quatorze"
Halalas = "& 14/100 Riyals"
Caso "Quinze"
Halalas = "& 15/100 Riyals"
Caso "Dezesseis"
Halalas = "& 16/100 Riyals"
Caso "Dezessete"
Halalas = "& 17/100 Riyals"
Caso "Dezoito"
Halalas = "& 18/100 Riyals"
Caso "Dezenove"
Halalas = "& 19/100 Riyals"
Caso "Vinte"
Halalas = "& 20/100 Riyals"
Caso "Vinte e um"
Halalas = "& 21/100 Riyals"
Caso "Vinte e Dois"
Halalas = "& 22/100 Riyals"
Caso "Vinte e Três"
Halalas = "& 23/100 Riyals"
Caso "Vinte e Quatro"
Halalas = "& 24/100 Riyals"
Caso "Vinte e Cinco"
Halalas = "& 25/100 Riyals"
Caso "Vinte e Seis"
Halalas = "& 26/100 Riyals"
Caso "Vinte e Sete"
Halalas = "& 27/100 Riyals"
Caso "Vinte e Oito"
Halalas = "& 28/100 Riyals"
Caso "Vinte e Nove"
Halalas = "& 29/100 Riyals"
Caso "Trinta"
Halalas = "& 30/100 Riyals"
Caso "Trinta e um"
Halalas = "& 31/100 Riyals"
Caso "Trinta e Dois"
Halalas = "& 32/100 Riyals"
Caso "Trinta e Três"
Halalas = "& 33/100 Riyals"
Caso "Trinta e Quatro"
Halalas = "& 34/100 Riyals"
Caso "Trinta e Cinco"
Halalas = "& 35/100 Riyals"
Caso "Trinta e Seis"
Halalas = "& 36/100 Riyals"
Caso "Trinta e Sete"
Halalas = "& 37/100 Riyals"
Caso "Trinta e Oito"
Halalas = "& 38/100 Riyals"
Caso "Trinta e Nove"
Halalas = "& 39/100 Riyals"
Caso "Quarenta"
Halalas = "& 40/100 Riyals"
Caso "Quarenta e um"
Halalas = "& 41/100 Riyals"
Caso "Quarenta e Dois"
Halalas = "& 42/100 Riyals"
Caso "Quarenta e Três"
Halalas = "& 43/100 Riyals"
Caso "Quarenta e Quatro"
Halalas = "& 44/100 Riyals"
Caso "Quarenta e Cinco"
Halalas = "& 45/100 Riyals"
Caso "Quarenta e Seis"
Halalas = "& 46/100 Riyals"
Caso "Quarenta e Sete"
Halalas = "& 47/100 Riyals"
Caso "Quarenta e Oito"
Halalas = "& 48/100 Riyals"
Caso "Quarenta e Nove"
Halalas = "& 49/100 Riyals"
Caso "Cinquenta"
Halalas = "& 50/100 Riyals"
Caso "Cinquenta e um"
Halalas = "& 51/100 Riyals"
Caso "Cinquenta e Dois"
Halalas = "& 52/100 Riyals"
Caso "Cinquenta e Três"
Halalas = "& 53/100 Riyals"
Caso "Cinquenta e Quatro"
Halalas = "& 54/100 Riyals"
Caso "Cinquenta e Cinco"
Halalas = "& 55/100 Riyals"
Caso "Cinquenta e Seis"
Halalas = "& 56/100 Riyals"
Caso "Cinquenta e Sete"
Halalas = "& 57/100 Riyals"
Caso "Cinquenta e Oito"
Halalas = "& 58/100 Riyals"
Caso "Cinquenta e Nove"
Halalas = "& 59/100 Riyals"
Caso "Sessenta"
Halalas = "& 60/100 Riyals"
Caso "Sessenta e um"
Halalas = "& 61/100 Riyals"
Caso "Sessenta e Dois"
Halalas = "& 62/100 Riyals"
Caso "Sessenta e Três"
Halalas = "& 63/100 Riyals"
Caso "Sessenta e Quatro"
Halalas = "& 64/100 Riyals"
Caso "Sessenta e Cinco"
Halalas = "& 65/100 Riyals"
Caso "Sessenta e Seis"
Halalas = "& 66/100 Riyals"
Caso "Sessenta e Sete"
Halalas = "& 67/100 Riyals"
Caso "Sessenta e Oito"
Halalas = "& 68/100 Riyals"
Caso "Sessenta e Nove"
Halalas = "& 69/100 Riyals"
Caso "Setenta"
Halalas = "& 70/100 Riyals"
Caso "Setenta e um"
Halalas = "& 71/100 Riyals"
Caso "Setenta e Dois"
Halalas = "& 72/100 Riyals"
Caso "Setenta e Três"
Halalas = "& 73/100 Riyals"
Caso "Setenta e Quatro"
Halalas = "& 74/100 Riyals"
Caso "Setenta e cinco"
Halalas = "& 75/100 Riyals"
Caso "Setenta e Seis"
Halalas = "& 76/100 Riyals"
Caso "Setenta e Sete"
Halalas = "& 77/100 Riyals"
Caso "Setenta e Oito"
Halalas = "& 78/100 Riyals"
Caso "Setenta e Nove"
Halalas = "& 79/100 Riyals"
Caso "Oitenta"
Halalas = "& 80/100 Riyals"
Caso "Oitenta e um"
Halalas = "& 81/100 Riyals"
Caso "Oitenta e Dois"
Halalas = "& 82/100 Riyals"
Caso "Oitenta e Três"
Halalas = "& 83/100 Riyals"
Caso "Oitenta e Quatro"
Halalas = "& 84/100 Riyals"
Caso "Oitenta e cinco"
Halalas = "& 85/100 Riyals"
Caso "Oitenta e Seis"
Halalas = "& 86/100 Riyals"
Caso "Oitenta e Sete"
Halalas = "& 87/100 Riyals"
Caso "Oitenta e oito"
Halalas = "& 88/100 Riyals"
Caso "Oitenta e Nove"
Halalas = "& 89/100 Riyals"
Caso "Noventa"
Halalas = "& 90/100 Riyals"
Caso "Noventa e Um"
Halalas = "& 91/100 Riyals"
Caso "Noventa e Dois"
Halalas = "& 92/100 Riyals"
Caso "Noventa e Três"
Halalas = "& 93/100 Riyals"
Caso "Noventa e Quatro"
Halalas = "& 94/100 Riyals"
Caso "Noventa e Cinco"
Halalas = "& 95/100 Riyals"
Caso "Noventa e Seis"
Halalas = "& 96/100 Riyals"
Caso "Noventa e Sete"
Halalas = "& 97/100 Riyals"
Caso "Noventa e Oito"
Halalas = "& 98/100 Riyals"
Caso "Noventa e Nove"
Halalas = "& 99/100 Riyals"


Case Else
Halalas = "&" & Halalas & "Halalas"
End Select
SpellBilling = Riyals e Halalas
Função final


' Converte um número de 100-999 em texto
Função GetHundreds(ByVal MyNumber)
Resultado de escurecimento como string
Se Val(MyNumber) = 0, então saia da função
MeuNúmero = Direita("000" & MeuNúmero, 3)
' Converte o lugar das centenas.
If Mid(MyNumber, 1, 1) <> "0" Then
Resultado = GetDigit(Mid(MyNumber, 1, 1)) & " Cem "
Se acabar
' Converte a casa das dezenas e unidades.
If Mid(MyNumber, 2, 1) <> "0" Then
Resultado = Resultado & GetTens(Mid(MyNumber, 2))
Outro
Resultado = Resultado & GetDigit(Mid(MyNumber, 3))
Se acabar
GetHundreds = Resultado
Função final

' Converte um número de 10 a 99 em texto.
Função GetTens(TensText)
Resultado de escurecimento como string
Result = "" ' Anula o valor da função temporária.
If Val(Left(TensText, 1)) = 1 Then ' If valor entre 10-19...
Selecione Case Val(TensText)
Caso 10: Resultado = "Dez"
Caso 11: Resultado = "Onze"
Caso 12: Resultado = "Doze"
Caso 13: Resultado = "Treze"
Caso 14: Resultado = "Quatorze"
Caso 15: Resultado = "Quinze"
Caso 16: Resultado = "Dezesseis"
Caso 17: Resultado = "Dezessete"
Caso 18: Resultado = "Dezoito"
Caso 19: Resultado = "Dezenove"
Case Else
End Select
Else ' Se valor entre 20-99...
Selecione Case Val(Left(TensText, 1))
Caso 2: Resultado = "Vinte"
Caso 3: Resultado = "Trinta"
Caso 4: Resultado = "Quarenta"
Caso 5: Resultado = "Cinquenta"
Caso 6: Resultado = "Sessenta"
Caso 7: Resultado = "Setenta"
Caso 8: Resultado = "Oitenta"
Caso 9: Resultado = "Noventa"
Case Else
End Select
Resultado = Resultado & GetDigit _
(Right(TensText, 1)) ' Recupera o local.
Se acabar
GetTens = Resultado
Função final

' Converte um número de 1 a 9 em texto.
Função GetDigit(Digit)
Selecione Caso Val(Dígito)
Caso 1: GetDigit = "Um"
Caso 2: GetDigit = "Dois"
Caso 3: GetDigit = "Três"
Caso 4: GetDigit = "Quatro"
Caso 5: GetDigit = "Cinco"
Caso 6: GetDigit = "Seis"
Caso 7: GetDigit = "Sete"
Caso 8: GetDigit = "Oito"
Caso 9: GetDigit = "Nove"
Caso contrário: GetDigit = ""
End Select
Função final
Este comentário foi feito pelo moderador no site
Preciso aplicar toda a pasta de trabalho do Excel. Como aplicar esta codificação a todas as pastas de trabalho do Excel.
Este comentário foi feito pelo moderador no site
Rúpias Quatorze Mil Oitocentos E Setenta E Cinco Somente o último valor deve conter a palavra e exemplo
Rupias Quatorze Mil Oitocentos E Setenta E Cinco Apenas
Este comentário foi feito pelo moderador no site
não pode ler mais de 10 crore.
Este comentário foi feito pelo moderador no site
Um Lac Sessenta e Nove Mil Oitenta e Um e Quarenta e Dois Paise - Não convertido corretamente. Também não converteu o valor acima ao arredondar.
Este comentário foi feito pelo moderador no site
OBRIGADO PELO CÓDIGO...
Este comentário foi feito pelo moderador no site
Obrigado pela codificação. Eu apliquei e seu trabalho. Mas só se aplica a essa pasta de trabalho específica. Preciso aplicar toda a pasta de trabalho do Excel. Como aplicar esta codificação a todas as pastas de trabalho do Excel.
Este comentário foi feito pelo moderador no site
Olá, SivaG
Sim, este código é Função Definida pelo Usuário, você deve aplicar a fórmula aos arquivos um por um, se precisar de um código para aplicar em várias pastas de trabalho, ele será aplicado a todos os números, portanto, todos os números serão alterados. E o código não suporta desfazer, existem alguns riscos de segurança. Não é recomendado fazer isso. Obrigada!
Este comentário foi feito pelo moderador no site
Como pode remover a palavra "Rupees"? Normalmente, as folhas de cheque já têm a palavra "Rúpias".
Este comentário foi feito pelo moderador no site
Olá, Sakariya
Para resolver seu problema, aplique o código abaixo:
Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(Str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function



Por favor, tente, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Muito obrigado... 🙂
Este comentário foi feito pelo moderador no site
Mas isso aplicável a apenas um excel. Se eu inserir essa fórmula em outro excel isso não está funcionando
qual é a solução para isso
por favor, reverta
Este comentário foi feito pelo moderador no site
Olá,

Se você tiver várias pastas de trabalho, precisará copiar o código para várias pastas de trabalho.
Se você copiá-lo apenas para uma pasta de trabalho, ele não funcionará em outras pastas de trabalho. 😀
Por favor, tente, obrigado!
Este comentário foi feito pelo moderador no site
Muito obrigado é muito útil
Este comentário foi feito pelo moderador no site
Oi senhor, é possível definir isso por padrão para todas as planilhas do Excel ou não?
Este comentário foi feito pelo moderador no site
Olá, Mukesh

Sim, desde que o código seja copiado para o módulo da janela vba, a fórmula pode ser aplicada a toda a pasta de trabalho.
Mas ao fechar a pasta de trabalho, você deve salvá-la como Pasta de trabalho habilitada para macro do Excel .
Por favor, tente, obrigado!
Este comentário foi feito pelo moderador no site
Tentei várias vezes não está funcionando. Por favor ajude
Este comentário foi feito pelo moderador no site
Hey, Great Help! Thanks for creating such a wonderful code.

It has saved a lot of time. "God Bless You!!"
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL