VBA Introduo ao VBA Excel VB ou Visual
VBA
Introdução ao VBA - Excel VB ou Visual Basic – Os elementos de um programa em VB, são armazenados em arquivos distintos e tornam possível gerar um arquivo executável (. EXE), o aplicativo pode ser rodado diretamente no Windows, como um programa qualquer escrito para esse sistema operacional. VBA ou Visual Basic for Applications – Implementação do VB presente nos programas do MS/Office. Em VBA não é possível gerar o executável, pois o aplicativo permanece inserido no programa em que foi escrito, dependendo do mesmo para ser executado. As linguagens para VB e VBA não são iguais, em VBA, o formulário é simplificado, contendo apenas o essencial e a linguagem VBA é orientada à aplicação utilizada.
Ou Seja : As estruturas lógicas, estruturas de decisão e repetição e até algumas funções e procedimentos são iguais, mas a sub rotina do código é estruturada de forma diferente. Por esse motivo um código criado em VBA não roda no editor VB, a principal diferença pode ser notada através dos locais que recebem os dados e aplicam os resultados, no VBA células são usadas como input box ou text box, esse simples fato muda referências no código e sua estruturação.
Vantagens : - Poupar tempo, substituindo o teclado e mouse em ações. - Reduzir erros e realizar validação de dados de forma mais eficiente. - Padronizar rotinas de trabalho. - Possibilidade de integração do Excel com outros programas com suporte VBA. - Realizar cálculos mais complexos e solucionar problemas de cálculo no Excel.
Tela Inicial VB
Configurar Tela VBA Exibir Project Explorer CTRL + R
Exibir Barra de Ferramentas Padrão
Exibir Janela de Verificação Imediata CTRL + G
Exibir Janela de Propriedades F 4
Exibir Código F 7
Inserir Formulário
Declarações Estrutura Básica VBA Evento Expressões Argumentos Sub. Rotina Coleções Excel VBA Objeto Procedimento Propriedade Método Declarações Operadores Aritméticos Caixas de Diálogo Inputbox Comparação msgbox Lógicos Mensagem de Informação Concatenação Mensagem de Decisão User. Form Controles de Formulário Variáveis Function Expressões Argumentos
Procedimento Sub Rotina e Macro são duas denominações para a mesma execução. A Sub Rotina é inserida no módulo de código e possibilita estruturar funções e procedimentos. Todas as ações devem estar dentro da Sub Rotina.
Procedimento Function <Nome da função> (<Parâmetro 1> As <Tipo>, . . . ) As <tipo>. . . <Nome da Função> = <Valor/Expressão>. . . End Function Funções são rotinas, iniciadas pela palavra chave Function e terminadas por End Function, todas as funções utilizadas pelo Excel são deste tipo de rotina, a função é identificada pelo Nome, Número e Tipo de Parâmetros fornecidos e tem como objetivo executar um conjunto de instruções para produzir um resultado final.
Eventos Para um procedimento ser executado, um evento deve acontecer, ou seja é a causa da ação ou método. Exemplos de Eventos: Click Dbl. Click Before. Right. Click Initialize Enter
Objetos Um objeto representa um elemento de um aplicativo, como uma planilha, uma célula, um gráfico, um formulário ou um relatório. No código do Visual Basic, você deve identificar um objeto antes de poder aplicar um dos métodos do objeto ou alterar o valor de uma das suas propriedades. Exemplos de Objetos: Workbook <Pasta de Trabalho> Worksheet <Planílha> Range <Seleção>
Propriedades são características de um objeto, várias propriedades podem coexistir no mesmo objeto. Objeto. Propriedade <Entrando com um valor na célula> Active. Cell. Value = 5 Após selecionar a célula e rodar a macro o valor 5 será escrito. Exemplos de Propriedades: . Font. Color. Count
Métodos Método é um termo que representa uma ação a ser imposta à um objeto. Objeto. Método <Copiando o conteúdo de uma célula> Active. Cell. Copy Após selecionar a célula e rodar a macro o seu conteúdo é copiado. Exemplos de Métodos: . Select. Clear. Show
Variáveis Uma Variável é um local na memória do computador reservado para armazenar um ou mais valores, como esses valores variam durante a execução do código, são chamados de variáveis. Cada variável é referenciada por um nome que deve iniciar por uma letra e possuir até 255 caracteres. Variável Local : é válida apenas para o procedimento onde foi declarada. Variável Global: é válida para todo o módulo, deve ser declarada antes da rotina. Todo valor deve ser declarado como variável. Exemplo: Para utilizar um valor para média, declaramos: Dim Média as Double
Tipo Alocação Valor Boolean 2 bytes True ou False Byte 1 byte De 0 a 255 Currency 8 bytes De -922. 337. 203. 685. 477, 5808 até 922. 337. 203. 685. 477, 5807 Date 8 bytes De 01/01/100 até 31/12/9999 Decimal 12 bytes +/- 79. 228. 162. 514. 264. 337. 593. 543. 950. 335 Definido Usuário Varia Double 8 bytes De -1, 79769313486232 E 308 a -4, 94065645841247 E-324 para Negativo e 1, 79769313486232 E 308 para Positivo. Integer 2 bytes De -32. 768 a 32. 767 Long 4 bytes De -2. 147. 483. 648 a 2. 147. 483. 647 Object 4 bytes Referência ao objeto Single 4 bytes De -3, 402823 E 38 a -1, 401298 E-45 para Negativos e 1, 401298 E-45 a 3, 402823 E 38 para Positivos String 10 bytes De 1 a 2 bilhões de caracteres Variant Numérica 16 bytes De -1, 797693134862315 E 308 a -4, 94066 E 324 para Negativos e 4, 94066 E 324 a 1, 797693134862315 E 308 para Positivos Variant Texto 22 bytes De 0 a 2 bilhões de caracteres
Operadores Aritméticos Operador Descrição + Adição - Subtração * Multiplicação / Divisão Divisão Inteira ^ Exponenciação Mod Retorna o resto da divisão
Operadores de Comparação Operador Descrição = Igual a > Maior que < Menor que <> Diferente de >= Maior ou igual a <= Menor ou igual a Is É – compara duas variáveis Like Como – Compara sequência de caracteres
Operadores Lógicos Operador Descrição And E – Acrescenta condições ao teste lógico. Deve respeitar todas as condições para retornar verdadeiro, caso contrário retorna Falso. Or OU – Acrescenta condições ao teste lógico. Deve respeitar pelo menos uma condição para retornar Verdadeiro, caso contrário retorna Falso. Not NÃO – Gera uma negação lógica Eqv Realiza uma equivalência lógica. Retorna Verdadeiro se as duas expressões forem verdadeiras ou falsas, caso contrário retorna Falso. Imp Realiza uma implicação lógica. Xor Realiza uma exclusão lógica. Retorna Verdadeiro se apenas uma expressão for verdadeira, caso contrário retorna Falso.
Operadores de Concatenação Operador & +
Precedência entre Operadores Operador Definição ^ Exponenciação - Negação */ Mod Multiplicação e Divisão Inteira Resto da Divisão +- Adição e Subtração & Concatenação = > < <> >= <= Is Like And Or Not Eqv Imp Xor Comparação Lógicos
Caixas de Diálogo Possibilitam a comunicação com o usuário, exibição de mensagens e auxílio a validação de dados.
Input Box Inputbox(Prompt, Title, Default, Xpos, Ypos, Helpfile, Context) Prompt: Texto da Mensagem <obrigatório> Title: Título da Caixa <opcional> Default: Texto exibido quando a caixa é carregada <opcional> Xpos: Posição Horizontal da Caixa <opcional> Ypos: Posição Vertical da Caixa <opcional> Helpfile: Identifica o arquivo de ajuda <opcional> Context: Nº de identificação do Contexto do Tópico de Ajuda em Helpfile <opcional> Tipo: Especifica o tipo de argumento retornado, se omitido retorna texto. <opcional>
Especificação do Tipo - Input. Box Valor Significado 0 Uma Fórmula 1 Um Número 2 Texto ( uma seqüencia ) 4 Um Valor Lógico ( True or False) 8 Uma referência a células, como um objeto Range 16 Um valor de Erro, como #N/D 64 Uma Matriz de Valores
Msg Box Inputbox(Prompt, Title, Default, Xpos, Ypos, Helpfile, Context) Prompt: Texto do corpo mensagem <obrigatório> Buttons: Botões que serão exibidos <opcional> Title: Título <opcional> Helpfile: Identifica o arquivo de ajuda, quando houver <opcional> Context: Nº de identificação do Contexto do Tópico de Ajuda em Helpfile <opcional>
Definições do Argumento Buttons - Msg. Box
Mensagem de Informação Mensagem de Decisão
Estruturas de Decisão If. . . Then Se. . . Então Faça If <condição/teste> Then Comando 1 Comando 2. . . Comando n End If Executa determinados comandos, caso uma condição seja verdadeira.
Estruturas de Decisão If. . . Then. . . Else Se. . . Então. . . Faça Senão Faça If <condição/teste> Then Comando 1 Comando 2. . . Comando n Else Comando 1 Comando 2 Comando n End If Caso a condição seja verdadeira, executa um comando, caso falsa outro.
Estruturas de Decisão If. . . Then. . . Else. If. . . Else Se. . . Então. . . Faça Senão. . . Faça Ou Então. . . Faça Trabalha com diversas possibilidades, testa uma condição e em caso de Verdadeiro, executa um comando, em caso de Falso realiza o próximo teste lógico. If <condição/teste> Then Comando 1 Comando 2. . . Comando n Else. If <condição 2> Comando 1 Comando 2. . . Comando n Else. If<condição 3> Comando 1 Comando 2. . . Comando n Else. If<condição n> Comando 1 Comando 2. . . Comando n Else<caso nenhum anterior seja verdadeiro> Comando 1 Comando 2. . . Comando n End If
Estruturas de Decisão Select Case Selecionar caso Select Case (Dim) End Select Caso 1 Caso 2. . . Caso n Permite testar um número ilimitado de possibilidades.
Estruturas de Repetição Do. . . Loop Esta Estrutura pode ser utilizada para repetir um trecho de código Enquanto uma determinada condição for verdadeira, ou até que uma determinada condição torne-se verdadeira, pode-se usar dois operadores condicionais: - While (enquanto) - Until (até)
Estruturas de Repetição Do While. . . Loop Faça Enquanto. . . (a condição for verdadeira) Do While<condição/teste> Comando 1 Comando 2. . . Comando n Loop Enquanto a condição for verdadeira, o código dentro do laço é executado. Quando a condição tornar-se falsa, o primeiro comando após o final do laço será executado. Quando falsa na primeira vez, o laço não será executado nenhuma vez.
Estruturas de Repetição Do. . . Loop While Faça até que. . . (A condição seja verdadeira) Do <condição/teste> Comando 1 Comando 2. . . Comando n Loop While Nesta estrutura, enquanto a condição for verdadeira, o código dentro do laço é executado, quando tornar-se falsa, o primeiro comando após o final do laço será executado. Se a condição for falsa já na primeira vez, o laço será executado apenas 1 vez. Se continuar retornando verdadeiro, o loop será infinito.
Estruturas de Repetição Do Until. . . Loop Faça até. . . (a condição ser verdadeira) Do Until<condição/teste> Comando 1 Comando 2. . . Comando n Loop O código dentro do laço é executado enquanto a condição for Falsa, quando retorna Verdadeiro, a execução da estrutura é abandonada e o primeiro comando após o laço é executado. Caso seja Verdadeira na primeira vez, o laço não será executado nenhuma vez.
Estruturas de Repetição Do. . . Loop Until Do Comando 1 Comando 2. . . Comando n Loop Until <condição/teste> Nesta estrutura, o teste fica no final do laço, as instruções dentro do laço são executadas pelo menos uma vez, e enquanto a condição for falsa o laço continua sendo executado. Quando a condição for verdadeira, o primeiro comando após o final do laço será executado. Caso seja verdadeira na primeira vez, o laço será executado uma única vez.
Estruturas de Repetição For. . . Next Para. . . De. . . Até. . . Passo. . . Faça For contador=início to fim incremento Comando 1 Comando 2. . . Comando n Next No início, a variável contador tem o valor definido, em cada passagem do laço, a variável contador é incrementada pelo valor definido em incremento, caso não seja definido, será utilizado o padrão 1.
Estruturas de Repetição For Each. . . Next Para Cada. . . Faça For Each Elemento in Grupo Comando 1 Comando 2. . . Comando n Next Nesta Estrutura, o grupo de instruções é executado uma vez para cada elemento do grupo. Quando não houver mais elementos no grupo, o processo de execução sai do laço e continua com a próxima linha de código após a instrução next.
- Slides: 42