Excel e VBA

INTRODUÇÃO
por: Erisvaldo Ferreira Silva 

    O Excel é uma planilha eletrônica do pacote Office da Microsoft. Existem muitas outras planilhas eletrônicas no mercado (até mesmo mais avançadas ou gratuitas), mas não são tão utilizadas quanto o Excel. Por estar incluído no pacote Office, um pacote essencial em um computador cujo sistema operacional é o Windows, o Excel tornou-se uma ferramenta básica para tarefas tanto administrativas quanto operacionais. Seu poder de cálculo, de criação de gráficos e de integração à outros programas através do VBA o torna tão necessário quanto o próprio computador.

    O VBA (Visual Basic for Applications), também da Microsoft, é uma ferramenta poderosa de programação com uma linguagem direcionada aos próprios aplicativos que a contém. Sem necessidade de instalação, pois já vem embutido nos principais programas do pacote Office (dentre estes o Excel), o VBA pode ser utilizado para a integração entre programas ou para criação de rotinas que auxiliem o usuário nas suas tarefas diárias automatizando processos.

    Alguns exemplos: Planilhas para controle de estoque, Resolução de problemas matemáticos, Automatizar processos de pesquisa à Internet, Criação de agendas profissionais, Cadastro e envio automático de E-Mails, Formulários,  criação de Jogos e muito mais.



Contato: Erisvaldo Ferreira Silva - erisbaldo@yahoo.com.br www.erisbaldo.com/excel


Mensagem com linhas múltiplas

postado em 30 de mai de 2012 20:01 por Erisvaldo Ferreira Silva

Nada melhor que começar com um exemplo. Copie e cole em seu VBA o seguinte código:

Sub Mensagem()
    MsgBox "Acesse sempre o nosso site:" & vbCrLf"www.erisbaldo.com/excel"
End Sub

Ao executar o código acima você verá a seguinte mensagem:

Acesse sempre o nosso site:
www.erisbaldo.com/excel

A constante vbCrLf é uma combinação de retorno de carro com alimentação de linha, em outras palavras, "muda para a próxima linha".
Para um "salto" maior utilize uma combinação destas constantes. Por exemplo:

Sub Mensagem()
    MsgBox "Acesse sempre o nosso site:" & vbCrLf & vbCrLf "www.erisbaldo.com/excel"
End Sub

O código acima retornará a mesma mensagem anterior, porém com uma linha em branco separando as duas frases.

Acesse sempre o nosso site:

www.erisbaldo.com/excel

Criando fórmulas personalizadas

postado em 24 de mai de 2012 20:41 por Erisvaldo Ferreira Silva

    Você sabia que além das muitas fórmulas que já vêm prontas no Excel, você pode criar suas próprias fórmulas no VBA? Basta criar uma função em um módulo do VBA e utilizá-la nas planilhas do Excel normalmente como qualquer outra fórmula.

    Vamos a um exemplo:

    Crie um novo módulo ou utilize um módulo já existente no VBA.
Agora copie e cole o seguinte código:

Function InvertePalavra(palavra As String) As String
    Dim k As Integer
    Dim p As String
    Dim N As String
    N = ""
    For k = 1 To Len(palavra)
        p = Mid(palavra, k, 1)
        N = p & N
    Next k
    InvertePalavra = N
End Function

    O código acima irá receber uma palavra e retornará uma palavra cujas letras estarão invertidas. Por exemplo, digitando em qualquer célula da planilha a fórmula =InvertePalavra("Casa"), o valor da célula será asaC.

Observação: Para que suas macros funcionem corretamente, salve sempre o seu trabalho (pasta do Excel) como "Pasta de Trabalho Habilitada para Macros do Excel" e não se esqueça de habilitar as macros durante o carregamento de suas planilhas.

Adicionando uma referência ao VBA

postado em 24 de mai de 2012 20:18 por Erisvaldo Ferreira Silva

    Além dos comandos e funções que, por padrão, já se encontram ativos no VBA podemos adicionar outros mais específicos conforme nossa necessidade. Para se trabalhar com o InternetExplorer, por exemplo, é necessário que seja adiconada uma referência denominada "Microsoft Internet Controls".

Veja como é fácil: No VBA clique no menu "Ferramentas" e, logo em seguida, em "Referências...". Agora localize e marque a referência "Microsoft Internet Controls". Pressione "Ok" e pronto.

Abrindo um site através do VBA

postado em 24 de mai de 2012 20:08 por Erisvaldo Ferreira Silva   [ 26 de mai de 2012 19:09 atualizado‎(s)‎ ]

Antes de mais nada é necessário incluir a referência "Microsoft Internet Controls" ao seu VBA. Se não sabe como fazer isso, clique aqui.

O código abaixo abre o InternetExplorer na página "www.erisbaldo.com". Este código é ideal para incluir em suas planilhas ou programas, links para acesso às suas páginas ou à páginas de ajuda on-line.

Sub AbrirSite()
    Dim site As InternetExplorer
    Set site = New InternetExplorer
    site.Navigate "www.erisbaldo.com"
    While site.Busy Or site.ReadyState < READYSTATE_COMPLETE: Wend
    site.Visible = True
End Sub

    As linhas de comando Dim site As InternetExplorer e Set site = New InternetExplorer são essenciais neste código, pois cria e configura o parâmetro site para receber uma página da internet. A linha site.Navigate "www.erisbaldo.com" carrega a página www.erisbaldo.com, mas a mantém oculta até que o comando site.Visible = True a faça aparecer.

    Observe que entre as linhas site.Navigate "www.erisbaldo.com" e site.Visible = True existe a linha While site.Busy Or site.ReadyState < READYSTATE_COMPLETE: Wend. Esta linha faz com que o VBA aguarde até que a página seja totalmente carregada antes de torná-la visível.

1-4 of 4