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

 

FIQUE TRANQÜILO, ESTE SITE É AUDITADO POR:

EM APENAS 06 MESES DE PUBLICAÇÃO ESTA HOMEPAGE JÁ ALCANÇOU A MARCA DE MAIS DE 43.000 HITS E MAIS DE 12.000 USUÁRIOS SATISFEITOS !

TUDO SOBRE EXCEL - Com este site seu Excel nunca mais será o mesmo!

 

Nº PageView Do Portal:

Nº PageView Desta Página:

Usuários Conectados:


© 2004 tudosobrexcel.com. Todos os direitos reservados.