Você está na página 1de 10

VBA - UMA RÁPIDA VISÃO

Visual Basic Aplication

Introdução:

Quando você estiver usando qualquer ferramenta Office , isto é, utilizando programas como
Excel, Word, Power Point, Access, na hora de programar, basta pressionar as teclas ALT +
F11.

Para saber o nome de cada ícone na barra de ferramentas do VBA, basta passar o mouse
em cima dos ícones.

O que vai modificar será a Barra de Título, no caso acima é Microsoft Visual Basic – Pasta1,
porque está dentro do Excel, se fosse no Word seria Microsoft Visual Basic – Documento1 e
assim por diante.

Área de Trabalho

Se pressionar as teclas F4 ( Janela Propriedades ), CTRL + R ( Janela Projeto ) e F7


(Janela Código), irá aparecer as respectivas janelas.
Utilize a janela Código para gravar, exibir e editar código do Visual Basic. Você pode abrir o
mesmo número de janelas Código como de módulos, de modo a poder visualizar facilmente
o código em diferentes formulários ou módulos e copiar e colar entre eles.

Você pode abrir uma janela Código a partir da:

· Janela Projeto, selecionando um formulário ou um módulo, e escolhendo o botão Visualizar


código.
· Janela UserForm, clicando duas vezes em um controle ou formulário, escolhendo Código
no menu Exibir ou pressionando F7.

Você pode arrastar o texto selecionado para:

· Um local diferente na janela Código atual.


· Outra janela Código.
· As janelas Imediata e Inspeção.
· A Lixeira.

Elementos da janela

Caixa Objeto

Exibe o nome do objeto selecionado. Clique na seta à direita da caixa de listagem para
exibir uma lista de todos os objetos associados ao formulário.
Caixa Procedimentos/Eventos

Lista todos os eventos reconhecidos pelo Visual Basic de um formulário ou controle exibido
na caixa Objeto. Quando você seleciona um evento, o procedimento de evento associado a
esse nome de evento é exibido na janela Código.

Caso (Geral) seja exibido na caixa Objeto, a caixa Procedimento listará as declarações e
todos os procedimentos gerais que tenham sido criados para o formulário. Caso você esteja
editando o código do módulo, a caixa Procedimento listará todos os procedimentos gerais
no módulo. Em ambos os casos, o procedimento selecionado na caixa Procedimento é
exibido na janela Código.

Todos os procedimentos em um módulo aparecem em uma lista de rolagem, classificada em


ordem alfabética pelo nome. A seleção de um procedimento nas caixas de listagem
suspensas na parte superior da janela Código move o cursor para a primeira linha de código
no procedimento selecionado.

Barra de divisão

Quando esta barra é arrastada para baixo, divide a janela Código em dois painéis
horizontais, que podem ser rolados de modo independente. Em seguida, você poderá
visualizar diferentes partes do código ao mesmo tempo. As informações que aparecem na
caixa Objeto e na caixa Procedimentos/Eventos se aplicam ao código no painel que tem o
foco. Para fechar um painel, arraste a barra para a parte superior ou inferior da janela ou
clique duas vezes sobre ela.

Barra do Indicador de margem

Uma área cinzenta no lado esquerdo da janela Código, onde são exibidos os indicadores de
margem.

Permite que você crie as janelas ou caixas de diálogo no seu projeto. Você desenha e
visualiza controles em um formulário.

Enquanto estiver projetando um formulário:

· Cada formulário possui um botão Maximizar, Minimizar e Fechar.

· Você pode visualizar a grade de formulário e determinar o tamanho das linhas de grade na
guia Geral da caixa de diálogo Opções.
· Utilize os botões da caixa de ferramentas para desenhar controles no formulário. Você
pode definir seus controles para alinhar com a grade do seu formulário a partir da guia Geral
da caixa de diálogo Opções.

Ao abrir o Form, abre-se uma caixa de ferramentas (abaixo).

Passe o mouse em cima dos ícones.

Atalhos do Teclado

Você pode utilizar as seguintes teclas de atalho para acessar comandos na janela Código:

Descrição Teclas de Atalho

Janela Visualizar código F7


Visualizar Pesquisador de Objeto F2
Localizar CTRL+F
Substituir CTRL+H
Encontrar próximo F3
Encontrar anterior SHIFT+F3
Próximo procedimento CTRL+SETA ABAIXO
Procedimento anterior CTRL+SETA ACIMA
Visualizar definição SHIFT+F2
Deslocar uma tela para baixo CTRL+PAGE DOWN
Deslocar uma tela para cima CTRL+PAGE UP
Ir para a última posição CTRL+SHIFT+F2
Início do módulo CTRL+HOME
Fim do módulo CTRL+END
Mover uma palavra para a direita CTRL+SETA À DIREITA
Mover uma palavra para a esquerda CTRL+SETA À ESQUERDA
Mover para o fim da linha END
Mover para o início da linha HOME
Desfazer CTRL+Z
Excluir linha atual CTRL+Y
Excluir até o fim da palavra CTRL+DELETE
Recuo TAB
Recuo deslocado SHIFT+TAB
Limpar todos os pontos de interrupção CTRL+SHIFT+F9
Visualizar menu de atalho SHIFT+F10
Refazer CTRL+Q
 Módulos: O que são e como funcionam ?

O que é um módulo?

Um módulo é uma coleção de declarações e procedimentos do Visual Basic para aplicativos


armazenados conjuntamente, formando uma unidade.

Existem dois tipos básicos de módulos: módulos classe e módulos padrão. Cada
procedimento em um módulo pode ser um procedimento Function ou um procedimento Sub.

Módulos Classe

Módulos de formulário e de relatório são módulos classe que estão associados a um


determinado formulário ou relatório. Os módulos de formulário e relatório freqüentemente
contêm procedimentos de evento que são executados em resposta a um evento no
formulário ou relatório. Você pode utilizar procedimentos de evento para controlar o
comportamento dos seus formulários e relatórios, e sua resposta às ações do usuário, como
clicar o mouse sobre um botão de comando.

Quando você cria o primeiro procedimento de evento para um formulário ou relatório, o


Microsoft Access cria automaticamente um módulo de formulário ou relatório associado.
Para ver o módulo de um formulário ou relatório, clique em Código na barra de ferramentas
do formulário ou relatório no modo Estrutura.
Os procedimentos nos seus módulos de formulário e relatório podem chamar procedimentos
que você tenha adicionado aos módulos padrão.

No Microsoft Access 95, os módulos classe só existem em associação com um formulário ou


relatório. No Microsoft Access 97, módulos classe também podem existir
independentemente de um formulário ou relatório e esse tipo de módulo classe está listado
na guia Módulos da janela Banco de Dados. Você pode utilizar um módulo classe da guia
Módulos para criar uma definição para um objeto personalizado. Para saber mais sobre
programação com esses módulos classe, clique em .

Módulos Padrão

Os módulos padrão contêm procedimentos de uso geral que não estão associados a
nenhum outro objeto e procedimentos utilizados com freqüência, que podem ser executados
a partir de qualquer lugar do seu banco de dados.

Você pode visualizar a lista de módulos padrão no seu banco de dados clicando na guia
Módulos na janela Banco de Dados. Os módulos padrão, de formulário e de relatório
também estão listados no Pesquisador de Objeto.

O que é um procedimento ?

Um procedimento é uma unidade de código do Visual Basic para aplicativos. Ele contém
uma série de instruções e métodos que executam uma operação ou calculam um valor. Por
exemplo, o procedimento de evento a seguir utiliza o método OpenForm para abrir o
formulário Pedidos:
Private Sub AbrirPedidos_Click()

DoCmd.AbrirPedidos "Pedidos"

End Sub

Existem dois tipos de procedimentos:

· Procedimentos Sub : Executam uma operação ou série de operações mas não retornam
um valor. Você pode criar seus próprios procedimentos Sub ou utilizar os modelos de
procedimentos de evento que o Microsoft Access cria automaticamente.

Cada formulário e relatório no seu banco de dados tem um módulo de formulário ou um


módulo de relatório interno contendo modelos de procedimentos de evento. Você pode
adicionar códigos que são executados em resposta a eventos que ocorrem no formulário, no
relatório ou nos controles no formulário ou relatório. Quando o Microsoft Access reconhece
que um evento ocorreu em um formulário, relatório ou controle, ele automaticamente
executa o procedimento de evento chamado para o objeto e o evento. Por exemplo, você
pode escrever um procedimento de evento que define o foco para uma caixa de texto Nome
do Cônjuge quando o usuário seleciona uma caixa de seleção Casado.

Dica :Muitos assistentes (por exemplo, o Assistente de Botão de Comando) que criam
objetos também criam procedimentos de evento para o objeto. Você pode examinar estes
procedimentos de evento para ver exemplos de como os procedimentos funcionam.

· Procedimentos Function :(muitas vezes chamados apenas de funções) retornam um


valor como, por exemplo, o resultado de um cálculo. O Visual Basic inclui muitas funções
internas; por exemplo, a função Now retorna a data e hora atuais. Além destas funções
internas, você pode criar suas próprias funções personalizadas.

Como as funções retornam valores, você pode utilizá-las em expressões. Você pode utilizar
funções em expressões em várias partes do Microsoft Access, inclusive em uma instrução
ou método Visual Basic, em várias definições de propriedade ou em uma expressão de
critério num filtro ou consulta.

O exemplo a seguir mostra um procedimento Function, PrimeiroDoPróximoMês, que retorna


a data do primeiro dia do mês seguinte à data atual:

Function PrimeiroDoPróximoMês()

PrimeiroDoPróximoMês = DateSerial(Year(Now), Month(Now) + 1, 1)

End Function

Esta função personalizada consiste de uma única instrução de atribuição que atribui os
resultados de uma expressão (no lado direito do sinal de igual [=]) ao nome da função,
PrimeiroDoPróximoMês (no lado esquerdo do sinal de igual). Esta função calcula um
resultado utilizando as funções DateSerial, Year, Now e Month internas do Visual Basic.

Uma vez criada esta função, você poderá utilizá-la em uma expressão praticamente em
qualquer parte no Microsoft Access. Por exemplo, você poderia especificar que uma caixa
de texto exibe o primeiro dia do mês seguinte à data atual, como seu valor padrão, definindo
a propriedade Valor Padrão do controle da caixa de texto com a expressão a seguir na folha
de propriedades:

=PrimeiroDoPróximoMês()

Observação: Para utilizar uma função como uma definição de propriedade, a função deve
estar no módulo do formulário ou do relatório ou em um módulo padrão. Você não pode
utilizar uma função em um módulo classe que não esteja associado a um formulário ou
relatório, como uma definição de propriedade de formulário ou de relatório.

Os dois procedimentos, Sub e Function, podem aceitar argumentos.

Criando uma Macro

Para entender melhor toda essa introdução, vamos criar uma macro passo a passo e depois
vamos analisá-la.

Abra uma planilha nova no Excel e digite a seguinte tabela :

Vamos criar uma macro que coloque em ordem por Bairro.

Siga os passos :

1. Clique em Ferramentas / Macros / Gravar nova macro...

2. Digite o nome da Macro : Ordem_Bairro / Ok.

3. Agora selecione da célula A6:G12


4. Dados / Classificar .

5. Classificar por Bairro ou Coluna A, em ordem Crescente. Em seguida por Aluguel em


ordem Crescente. Ok.

6. Ferramentas / Macros / Parar gravação.

7. Para executar a Macro, altere os nomes de alguns bairros e entre em Ferramentas /


Macros / Executar.

Criando um botão para executar a Macro

1. Exibir / Barra de Ferramentas / Formulários.

2. Aparecerá a figura :

2. Passe o Mouse sobre os ícones para saber os nomes.

3. Clique no ícone Botão.

4. Crie um retângulo na célula A3, quando aparecer a tela Atribuir Macro, clique em cima da
Macro Ordem_Bairro e dê um Ok.

5. Clique no Botão e altere o nome para Bairro.

Altere alguns nomes de bairros e clique no botão.

Vamos acessar o código escrito pelo Visual Basic, aperte as teclas ALT + F11. Do lado
esquerdo, clique no sinal de + em módulos e dê 2 cliques em módulo 1.

Este é o código que o VB fez :


 

Sub Ordem_Bairro()

Range("A6:G12").Select

Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Key2:=Range("F6") _

, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _

False, Orientation:=xlTopToBottom

End Sub

Você também pode gostar