b FUNÇÃO fExtenso() EM VBA

Download   Home  Anúncios

Uma função definida por usuário (UDF) em Microsoft® Visual Basic® for Application (VBA) que escreve por extenso em português qualquer número cardinal com ou sem fração com ou sem unidade masculina ou feminina.

A parte fracionária, se houver, pode ser lida de quatro maneiras: (1) lê a fração em centavos que é ideal para moeda; (2) lê a vírgula decimal, cada zero e o número restante como inteiro que é ideal para percentual; (3) lê a fração em décimos até bilionésimos que é ideal para número puro, (4) não lê a fração mas escreve como uma fração com um denominador de 100, 1000, 1000000.... e (5) lê a fração em cêntimos que é ideal para moeda Euro.

O maior número permitido é 1 trilhão menos 0.01 (999.999.999.999,99) e a menor fração sensível é 1 trilionésimo (0,000.000.000.001).

Ao todo, ela tem oito argumentos tornando-a bem flexível e bastante completa para ser usada por programadores em VB e VBA no Excel, Word, Access etc.

Características:

- Um único módulo de 13 Kb;

- Pronto para ser usado em seu projeto;

- Argumentos:

1º) Num - O número cardinal com ou sem fração a descrever;
    Maior número permitido: 1 trilhão menos 0.01 (999.999.999.999,99);
    Menor fração sensível: 1 trilionésimo (0,000.000.000.001).

2º) FraçTipo - 1, 2, 3, 4 ou 5 para as maneiras de ler (descrever) a fração (3 padrão ou 1 se houver UndNomeSing):
    1 - Lê a fração em centavos. Ideal para moeda;
    2 - Lê a vírgula decimal, cada zero e o número restante como inteiro. Ideal para percentual;
    3 - Lê a fração em décimos até bilionésimos. Ideal para número puro;
    4 - Não lê a fração por extenso, mas a escreve como uma fração com denominador de 100, 1000, 1000000... Ideal para moeda quando em frações menores do que um centavo e
    5 - Lê a fração em cêntimos. Ideal para moeda Euro, mas centavos também pode ser usado.

3º) UndNomeSing - Nome da unidade no singular (Opcional - A ausência indica número puro);

4º) UndNomePlur - Nome da unidade no plural (Opcional - Na ausência a pluralização será feita automaticamente a partir de UndNomeSing);

5º) UndMasc - Indica o gênero da unidade: Verdadeiro (masculino) ou Falso (feminino) (Opcional - Padrão Verdadeiro (masculino));

6º) UmMil - Escreve 1.000 completo sem omitir 'um': Ver-dadeiro (Sim, 'um mil') ou Falso (Não, 'mil') (Opcional - Padrão Verdadeiro (Completo));

7º) VirgEntrMilh - Indica intercalação de vírgula entre milhares: Verdadeiro (Sim) ou Falso (Não) (Opcional - Padrão Falso (Não intercala));

8º) CaixaAlta - Formata letras em maiúscalas/minúsculas (Opcional - Padrão 1):
    1 - todas minúscalas;
    2 - Sentença inteira (Só a 1º maiúscula);
    3 - Maiúscala/minúsculas (1º Maiúscula em Cada Palavra);
    4 - TODAS MAIÚSCULAS.

Download:

Testado no Access, Excel, PowerPoint e Word para Windows, versões 97, 2000, 2002(XP), 2003, 2007, 2010 (32 e 64-bit), 2013 (32 e 64-bit) e 2016 (32 e 64-bit) em instalações MSI-based e Click-To-Run do Office 365™ de serviços baseados na nuvem e também no VB.

Download

Baixe a versão portuguesa aqui   
Você pode baixar também deste site-espelho   
Última atualização: 17/10/2015 - 49,4kb    
Grátis baseado neste Contrato de Licença   

Aplicações:

O código desta função e as informações aqui apresentados se destinam a programadores em VB e VBA no Excel, Word, Access, PowerPoint etc.

Não programadores também podem usar esta função através de utilitários já prontos e gratuitos que a instalam automaticamente nos aplicativos citados: Extenso popup para Access, para Excel, para PowerPoint e para Word e ainda Minhas Ferramentas Úteis no Word.

O Extenso popup para Excel, o suplemento ExcelExtenso.xla, além de disponibilizar a função de planilha fExtenso() para todas as Pastas de Trabalho abertas em seu Excel, também possibilita capturar número no Excel, configurar o respectivo extenso através de uma interface de usuário e enviar para Àrea de Transferência do Windows para ser imediatamente colado em qualquer parte do Excel (célula, barra de fórmula, caixa de texto, comentário etc.) ou em outro aplicativo.

O ExcelExtenso.xla disponibiliza a função fExtenso() apenas no Excel em que estiver instalado. A função não funcionará se sua Pasta de Trabalho for aberta em outro Excel sem ExcelExtenso.xla instalado. Para funcionar em qualquer Excel é preciso instalar o código no projeto VBA de sua Pasta de Trabalho. Veja como no tópico a seguir.

Instalando em Sua Pasta de Trabalho do Excel:

Para isto, você necessita ter algum conhecimento sobre VBA. Mas mesmo sendo leigo em VBA, tente isto:

- Copie o módulo Mod1Extenso para a sua pasta;
Como:
1- Abra SuaPastaDeTrabalho.xls ou crie uma nova;
2- Abra este VBAExtenso.xls;
3- Pressione Alt+F11 para abrir a janela do Microsoft Visual Basic;
4- Araste o módulo Mod1Extenso para cima do objeto VBAProject(SuaPastaDeTrabalho.xls);
- Agora você pode usar a função fExtenso() diretamente nas células de sua pasta; Por exemplo, se tiver um número na célula A1, pode por esta fórmula em B1:
= fExtenso(A1; 1; "Real").

Veja alguns exemplos de uma planilha::

205,02 $  (duzentos e cinco reais e dois centavos)
205,02 $  (duzentos e cinco euros e dois centavos)
205,02 €  (duzentos e cinco euros e dois cêntimos)
205,02 % (duzentos e cinco vírgula zero dois por cento)
205,02     (duzentos e cinco, e dois centésimos)
205,02 gl  (duzentos e cinco galões e dois centésimos de galão)
205,02 sc (duzentas e cinco sacas e dois centésimos de saca)

 

Mais informação

Home

 





gplus

 

 

Visitas acumuladas em todas as páginas:
Visitas hoje só nesta página: