edicao do lado direito. Copie e cole a FUNCAO ABAIXO (no fim do post) na area de edicao do modulo.Clique no botao SALVAR (ou CTRL+B).Feche o editor do VISUAL BASIC e retorne a planilha do EXCEL.Na celula A1, digite um valor numerico (123,45) e tecle enter.Selecione a celula B1, clique no menu INSERIR, item FUNCAO.Sera exibida uma janela para selecao das funcoes disponiveis. Na opcao CATEGORIA, selecione DEFINIDA PELO USUARIO.Sera exibida uma funcao EXTENSO na caixa de selecao. Clique sobre ela e clique em OK.Na janela seguinte, ARGUMENTOS DA FUNCAO, informe A1 no campo nValor e clique em OK.O valor por extenso devera ser exibido na celula B1.Para testar, altere o valor na celula A1. O valor por extenso em B1 devera ser alterado automaticamente.Clique a seguir para baixar o arquivo TXT com o codigo: DownloadOBSERVACAO: Esta funcao suporta valores ate 999.999,99Codigo da funcao:Function EXTENSO(nValor)On Error GoTo 99If IsNull(nValor) Or nValor > 9999999 ThenEXTENSO = # VALOR POR EXTENSO...............Exit FunctionEnd IfIf (nValor) < 0 ThennValor = nValor * -1End If Dim nContador, nTamanho As IntegerDim CValor, CPArte, CFinal, Etiq As StringReDim aGrupo(4), aTexto(4) As StringReDim aUnid(19) As StringaUnid(1) = Um aUnid(2) = Dois aUnid(3) = Tres aUnid(4) = Quatro aUnid(5) = Cinco aUnid(6) = Seis aUnid(7) = Sete aUnid(8) = Oito aUnid(9) = Nove aUnid(10) = Dez aUnid(11) = Onze aUnid(12) = Doze aUnid(13) = Treze aUnid(14) = Quatorze aUnid(15) = Quinze aUnid(16) = Dezesseis aUnid(17) = Dezessete aUnid(18) = Dezoito aUnid(19) = Dezenove ReDim aDezena(9) As StringaDezena(1) = Dez aDezena(2) = Vinte aDezena(3) = Trinta aDezena(4) = Quarenta aDezena(5) = Cinquenta aDezena(6) = Sessenta aDezena(7) = Setenta aDezena(8) = Ointenta aDezena(9) = Noventa ReDim aCentena(9) As StringaCentena(1) = Cento aCentena(2) = Duzentos aCentena(3) = Trezentos aCentena(4) = Quatrocentos aCentena(5) = Quinhentos aCentena(6) = Seiscentos aCentena(7) = Setecentos aCentena(8) = Oitocentos aCentena(9) = Novecentos CValor = Format$(nValor, 0000000000.00)aGrupo(1) = Mid$(CValor, 2, 3)aGrupo(2) = Mid$(CValor, 5, 3)aGrupo(3) = Mid$(CValor, 8, 3)aGrupo(4) = 0 + Mid$(CValor, 12, 2)For nContador = 1 To 4CPArte = aGrupo(nContador)nTamanho = Switch(Val(CPArte) < 10, 1, Val(CPArte) < 100, 2, Val(CPArte) < 1000, 3)If nTamanho = 3 ThenIf Right$(CPArte, 2) <> 00 ThenaTexto(nContador) = aTexto(nContador) + aCentena(Left(CPArte, 1)) + e nTamanho = 2ElseaTexto(nContador) = aTexto(nContador) + IIf(Left$(CPArte, 1) = 1, CEM , aCentena(Left(CPArte, 1)))End IfEnd IfIf nTamanho = 2 ThenIf Val(Right(CPArte, 2)) < 20 ThenaTexto(nContador) = aTexto(nContador) + aUnid(Right(CPArte, 2))ElseaTexto(nContador) = aTexto(nContador) + aDezena(Mid(CPArte, 2, 1))If Right$(CPArte, 1) <> 0 ThenaTexto(nContador) = aTexto(nContador) + e nTamanho = 1End IfEnd IfEnd IfIf nTamanho = 1 ThenaTexto(nContador) = aTexto(nContador) + aUnid(Right(CPArte, 1))End IfNext If Val(aGrupo(1) + aGrupo(2) + aGrupo(3)) = 0 And Val(aGrupo(4)) <> 0 ThenCFinal = aTexto(4) + IIf(Val(aGrupo(4)) = 1, centavo, centavos)ElseCFinal = CFinal = CFinal + IIf(Val(aGrupo(1)) <> 0, aTexto(1) + _IIf(Val(aGrupo(1)) > 1, milhoes , milhao ), )If Val(aGrupo(2) + aGrupo(3)) = 0 ThenCFinal = CFinal + de ElseCFinal = CFinal + IIf(Val(aGrupo(2)) >= 1, aTexto(2) + mil , )End IfCFinal = CFinal + aTexto(3) + IIf(Val(aGrupo(1) + aGrupo(2) + aGrupo(3)) = 1, real , reais )CFinal = CFinal + IIf(Val(aGrupo(4)) <> 0, e + aTexto(4) + _IIf(Val(aGrupo(4))