RINGO Postado Junho 9, 2004 Denunciar Share Postado Junho 9, 2004 Boa tarde.Alguém tem uma formula de extenso para o excel.E como coloar a formular para rodar em todas a planilha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Air Postado Novembro 11, 2004 Denunciar Share Postado Novembro 11, 2004 Olá novato,segue extensoDim um_a_19Dim DezenasDim CentenasSub carregaVars()um_a_19 = Array("", "Um", "Dois", "Três", "Quatro", "Cinco", _ "Seis", "Sete", "Oito", "Nove", "Dez", _ "Onze", "Doze", "Treze", "Quatorze", _ "Quinze", "Dezesseis", "Dezessete", _ "Dezoito", "Dezenove") Dezenas = Array("", "Dez", _ "Vinte", "Trinta", "Quarenta", "Cinquenta", _ "Sessenta", "Setenta", "Oitenta", "Noventa") Centenas = Array("Cem", "Cento", "Duzentos", "Trezentos", "Quatrocentos", _ "Quinhentos", "Seiscentos", "Setecentos", _ "Oitocentos", "Novecentos") End SubFunction Processa(num) As String'Rotina utilizada para processar'parcelas de um numero'dividido em três posiçõesDim nn = Format(num, "000")a1 = Val(Mid(n, 1, 1))a2 = Val(Mid(n, 2, 1))a3 = Val(Mid(n, 3, 1))If a1 <> 0 And a2 & a3 = "00" Then If Val(a1 & a2 & a3) > 100 Then Processa = Centenas(a1) Else Processa = Centenas(a1 - 1) End If ElseIf a1 > 0 And a2 >= 0 Then Select Case a3 Case Is > 0 If Val(a2 & a3) > 19 Then Processa = Centenas(a1) & " e " & _ Dezenas(a2) & " e " & _ um_a_19(a3) Else Processa = Centenas(a1) & " e " & _ um_a_19(Val(a2 & a3)) End If Case Is = 0 Processa = Centenas(a1) & " e " & Dezenas(a2) End Select ElseIf a1 = 0 Then Select Case Val(a2 & a3) Case Is < 20 Processa = um_a_19(Val(a2 & a3)) Case Else If um_a_19(a3) = "" Then Processa = Dezenas(a2) Else Processa = Dezenas(a2) & " e " & _ um_a_19(a3) End If End SelectElse Processa = ""End IfEnd Function''''Function xExtenso(numero As Double) As StringDim ExtensoTemp As StringDim XMilhoes, XMilhares, XCentenas, CentavosDim moeda1 As String, moeda2 As String, sep As StringDim v1 As Boolean, v2 As BooleanCall carregaVarsIf numero > 999999999.99 Then Extenso = "Erro - valor superior ao maximo:999.999.999,99" Exit FunctionEnd Ifnum = Format(numero, "000000000.00")XMilhoes = Processa(Mid(num, 1, 3))XMilhares = Processa(Mid(num, 4, 3))XCentenas = Processa(Mid(num, 7, 3))Centavos = Right(num, 2)v1 = FalseIf Val(Mid(num, 1, 9)) > 0 Then moeda1 = " Reais " v1 = TrueEnd Ifv2 = FalseIf Val(Centavos) > 0 Then moeda2 = " Centavos " v2 = TrueEnd IfIf v1 = True And v2 = True Then sep = "e "Select Case Centavos Case Is <= 19 extCentavos = um_a_19(Centavos) Case Is >= 20 extCentavos = Dezenas(Left(Centavos, 1)) & " " & um_a_19(Right(Centavos, 1))End Select If XMilhoes > "" Then If XMilhoes = "Um" Then ExtensoTemp = ExtensoTemp & XMilhoes & " milhão " Else ExtensoTemp = ExtensoTemp & XMilhoes & " milhões " End IfEnd IfIf XMilhares > "" Then If XMilhares = "um" And XMilhoes = "" Then ExtensoTemp = ExtensoTemp & "mil " Else ExtensoTemp = ExtensoTemp & XMilhares & " mil " End IfEnd IfIf XCentenas > "" Then ExtensoTemp = ExtensoTemp & XCentenasExtensoTemp = ExtensoTemp & moeda1 & sep & extCentavos & moeda2xExtenso = LCase(ExtensoTemp)End Function Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
RINGO
Boa tarde.
Alguém tem uma formula de extenso para o excel.
E como coloar a formular para rodar em todas a planilha
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.