web 2.0


Valor por extenso no Excel

Tempos atrás (e põe tempo nisso) me vi as voltar com o desafio de escrever uma função personalizada no Excel que escrevesse números por extenso até a casa dos trilhões de reais. Passados alguns anos, novamente fui solicitado pela mesma função e fui obrigado e desenterrar o meu Excel Addin.

O AddIn é auto-instalável bastando apenas clicar duas vezes sobre ele (baixe o arquivo em Extenso no Excel). Para criar um sistema de auto-instalação de AddIn, você deve proceder como segue:

Option Explicit
Dim ExtensoInstalado    As Boolean

Private Sub Workbook_AddinInstall()
   ExtensoInstalado = True
End Sub

Private Sub Workbook_Open()
    Dim naLista     As Boolean
    Dim nAddIn      As AddIn
    Dim nomeArq     As String

For Each nAddIn In AddIns
    If nAddIn.Name = ThisWorkbook.Name Then
        naLista = True
    End If
Next

If Not ThisWorkbook.IsAddin Then Exit Sub
Application.Workbooks.Add
    If Not ExtensoInstalado Then
        If Not naLista Then
            AddIns.Add (ThisWorkbook.FullName)
            MsgBox "O suplemento 'Extenso' foi instalado com sucesso...", vbInformation, "Suplemento instalado..."
        End If

            For Each nAddIn In AddIns
                If nAddIn.Name = ThisWorkbook.Name Then
                    nomeArq = nAddIn.Title
                End If
            Next
       
        Application.EnableEvents = False
        AddIns(nomeArq).Installed = True
        Application.EnableEvents = True
       
   
    End If
End Sub


O restante da UDF você pode ver no AddIn.

Tags: , , ,

VBA

Comentários

Danilo Campana Brasil, on 18/6/2010 23:49:18 Said:

Danilo Campana

Obrigado Robert, ajudou bastante essa função.


Ailton Marques dos Santos Brasil, on 19/6/2010 3:45:20 Said:

Ailton Marques dos Santos

Cara estes modelos de VBA que voce manda esta me ajudando muito no meu aprendizado nesta linguagem.....pode mandar sempre..
Abraços

Brasil, on 18/7/2010 9:38:34 Said:

Jô

O extendo funciona com w7? E como uma pessoa que só sabe usar o excel pode instalar esta função? Eu baixei, cliquei 2 vêzes conforme vc sugere, mas não consigo encontrá-la no excel 2007, Grata

Robert Martim Reino Unido, on 18/7/2010 10:37:48 Said:

Robert Martim

Jo

Sim, funciona no Win7 e Office 2007. Só nao foi testado no Office 2010 x64, mas acredito que deva funcionar também sem problemas.

Cheque na lista de suplementos para ver se está lá. Se sim, basta digitar o nome da funcao na planilha: =NOME_DA_FUNCAO()

Os comentários estão fechados