curso de macros en excel (vba)

Post on 10-Aug-2015

147 Views

Category:

Education

11 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programação básica de macros em VBA para

Excel

Video

O mundo das linguagens de programação

http://eteab.com.br/cms/index.php/2012/03/linguagens-de-programacao-mais-utilizadas-fevereiro-2012/

What about people who don’t plan to become programmers? Should they also learn to code?

Programming is changing the way almost every industry works. Look at farming, for example. Farmers are using algorithms to determine when and where to plant crops and water crops. Look at publishing. Editors are using algorithms to help decide what news articles should appear on the cover of a magazine or homepage of a website. And finance has become much more algorithm-driven as well. We’re preparing people for a rapidly changing world, one in which nearly everything is affected by technology.

Program or Perish: Why Everyone Should Learn to Code By:  Richard Sine Mar 13, 2014

Excel e o VBA

O que é o Excel?

O Excel é um software que permite criar tabelas e calcular e analisar dados. Este tipo de software é chamado de software de planilha eletrônica.

O Excel permite criar tabelas que calculam automaticamente os totais de valores numéricos inseridos, imprimir tabelas em layouts organizados e criar gráficos simples

Excel

O que é uma Macro?

Uma macro é um pequeno programa que contém uma lista de instruções a realizar no Excel. Como sendo um repositório de operações, uma macro pode executar um conjunto de tarefas através de um único procedimento o qual pode ser invocado rapidamente.

As instruções que formam o corpo da macro são escritas num código próprio para que o computador as possa entender, essa linguagem é designada por VBA – Visual Basic for Applications.

Um valor acrescentado...

Criar Macros

Existem duas possibilidades de criação de macros: Através do Gravador de Macros Trabalhando com o editor de programação

em Visual Basic for Applications (VBA).

Usando o gravador de Macros

Antes de gravar uma macro 

Verifique se a guia Desenvolvedor está visível na faixa de opções. Por padrão, a guia Desenvolvedor não permanece visível; sendo assim, proceda da seguinte forma:

1. Clique na guia Arquivo, clique em Opções e depois clique na categoria Personalizar Faixa de Opções.

2. Em Personalizar a Faixa de Opções, na lista Guias Principais, clique em Desenvolvedor e em OK.

Ativando a Guia Desenvolvedor

Gravar uma macro

1. No grupo Código da guia Desenvolvedor, clique em Gravar Macro e em OK para iniciar a gravação

Gravação de macros

Gravar uma macro

2. Execute algumas ações em sua planilha, como digitar um texto, selecionar colunas ou linhas, ou preencher alguns dados. (Exemplo)

3. No grupo Código da guia Desenvolvedor, clique em Parar Gravação

Exemplo 1

Faça uma macro para criar o gráfico de uma função de segundo grau (quadrática)

Crie outros macros, a imaginação é o limite...

Examinando uma Macro

Para editar uma macro, no grupo Código da guia Desenvolvedor, clique em Macros, selecione o nome da macro gravada e clique em Editar. Isso inicia o Editor do Visual Basic.

Outra forma de abrir o editor Alt+F11 Examine o código e veja como as ações que

você gravou aparecem codificadas. Alguns códigos provavelmente serão claros para você, enquanto outros não.

Editor do VBA para Excel

Até aqui você foi capaz de criar uma macro sem se preocupar pela programação dela.

Olhando o código em VBA você pensará que esta lendo grego ou chinês, mas até o final da aula tenho certeza de que receberá o dom de línguas e passara a entender.

Salvando pastas de trabalho que contem macros Na hora de salvar

o seu trabalho que contem uma ou mais macros, devem ser salvados num arquivo que esteja habilitado para macros, este tipo de arquivo é denominado com a extensão XLSM.

Trabalhando com o editor de programação em Visual

Basic for Applications (VBE)

Editor de Visual Basic VBA do Excel (VBE)

O que é um Editor de Visual Basic? Podemos dizer que é um ambiente de desenvolvimento que possibilita você a trabalhar na redação e edição das macros em VBA.

Para abrir o editor pode usar o menu desenvolvedor ou teclar Alt+F11.

Para que é Utilizado? Para que possamos através de formulários e objetos criarmos código de programação para facilitar a execução de soluções de uma maneira mais significativa.

Partes do editor

Janela de Código

Janela do projeto

Janela de Propiedades

Acrescentar um módulo

Siga os seguintes passos para acrescentar um novo módulo1. No VBE, selecione o nome do projeto na janela de

projetos

2. Selecione na barra de menu Inserir->Módulo

Ou

3. No nome do projeto faça um click direito

4. Selecione Inserir-> Módulo na janela de menu que se abre

Criando um módulo

Em geral, um módulo VBA pode conter três tipos de código

DeclaraçõesProcedimentos

subProcedimentos

Function

Declarações (Comentários)

Uma ou mais declarações de informações que você fornece ao VBA. Por exemplo, você pode declarar o tipo de dados para variáveis que você planeja usar, ou definir algumas outras opções do módulo.

Os comentários sempre estão precedidos de apóstrofos.

Procedimentos Sub

Um grupo de instruções de programação que executam alguma ação.

Procedimentos Function

Um grupo de instruções que retorna um valor, semelhante ao que faz uma fórmula dentro de uma planilha Excel.

Exemplos de possíveis códigos dentro de um módulo

Declarações

Procedimentos Function

Procedimentos SUB

Inserindo código VBA em um módulo

É possível inserir código VBA em um módulo de três diferentes modos:

1. Digitar o código manualmente

2. Usar o gravador de macro do Excel para transformar as ações gravadas em código VBA

3. Copiar o código de um módulo e colar em outro.

Criando código manualmente

Siga os procedimentos abaixo para criar um procedimento manualmente. Crie uma nova Pasta de Trabalho no Excel (novo

arquivo). Pressione ALT+F11 para abrir o VBE. Clique no nome da Pasta de Trabalho na janela Projeto. Acesse Inserir > Módulo para inserir um módulo no

projeto. Digite o seguinte conteúdo dentro do módulo.

Criando código manualmente (Exemplo 2)

Personalizando o ambiente VBE

Se você é (ou se tornar) um programador Excel, você passará boa parte do tempo com os módulos VBA na tela. Para tornar o ambiente de desenvolvimento mais confortável, o VBE possui algumas opções de personalização.

Com o VBE ativo, acesse Ferramentas -> Opções. Uma janela com quadro abas aparecerá: Editor, Formado do editor, Geral, e Encaixe.

Personalizando o ambiente do VBE

Introdução ao modelo de objetos do Excel

Objeto

A programação orientada a objeto é baseada na ideia de que os programas consistem em

diferentes objetos que têm atributos (ou propriedades) e podem ser manipulados. Estes objetos não são itens materiais, ao contrário eles existem apenas virtualmente, em forma binária.

Hierarquia do modelo de objetos ExcelApplicatio

n

Workbooks

Workbook

WorkSheets

Range

Entendendo melhor – Objeto Porta

Casa.Quartos(“Recamara1").Portas(1).Abrir

Exemplo – localizando alguma células

Range

Dentro de

Worksheet

Dentro de

Workbook

Dentro do Excel

Célula Planilha Pasta Excel

Coleções

Coleções são agrupamentos de objetos do mesmo tipo, e a própria coleção também é um objeto. Exemplos de coleções comuns:

•Workbooks Coleção de objetos Workbook abertos

•Worksheets Coleção de todos os objetos Worksheet de um determinado objeto

Workbook (todas as guias de planilhas de um determinado arquivo)

•Charts Coleção de todos os objetos Chart (guias de gráfico) de um determinado

objeto Workbook

Referenciando Objetos

Fazer referência a um objeto no código VBA é importante, porquê você deve informar qual é o objeto com o qual você está trabalhando, para que o programa saiba qual objeto manipular.

Para referenciar um único objeto de uma coleção, coloca-se o nome do objeto, ou seu índice, entre parênteses após o nome da coleção.

Exemplos

Worksheets("Plan1")

Worksheets(1)

Navegando pela hierarquia

Application.Workbooks("Curso VBA.xlsm")

Application.Workbooks("Curso VBA.xlsm").Worksheets(1)

Application.Workbooks("Curso VBA.xlsm").Worksheets(1).Range("A1").Value

Simplificando referências à objetos

O uso frequente da Referência Totalmente Qualificada em um código VBA pode deixá-lo muito longo e um pouco mais difícil de ser lido. Felizmente, o Excel possui alguns atalhos que podem simplificar a leitura e a digitação de código. O objeto Application é sempre assumido automaticamente, são poucos os casos onde ele é necessário. Omitindo-o então, a referência anterior ficaria assim...

Navegando pela hierarquia - Simplificada

Range("A1").Value

Worksheets(1).Range("A1").Value

Workbooks("Curso VBA.xlsm").Worksheets(1).Range("A1").Value

Exemplo 3

Usando a hierarquia de objetos selecione Uma célula Uma fileira Uma coluna

Simplesmente selecionando não faço muito, vamos adicionar funcionalidade...

Propriedades e Métodos de Objetos

Propriedades e Métodos de Objetos

Referenciar um objeto é importante, mas quase nada pode ser feito apenas com sua referência, para poder manipulá-lo, é necessário proceder com uma entre duas opções: Ler ou modificar a propriedade de um objeto. Especificar um método de ação para ser usado

com o objeto.

Entendendo melhor – Objeto Porta

Método- Abrir

- Fechar

Propriedades- Cor

- Material

Casa.Quartos(“Recamara1").Portas(1).Abrir

Propriedades dos objetos

Todo objeto tem propriedades. Você pode imaginar as propriedades como atributos que descrevem u objeto. As propriedades do objeto determinam sua aparência, seu comportamento, e até mesmo se ele deve estar ou não visível. Usando o VBA, é possível realizar duas ações com as propriedades dos objetos: Consultar o valor atual de uma propriedade Alterar o valor de uma propriedade

Exemplo 4 – Mostrar o valor

Sub MostraValor()    Conteudo = Worksheets("Plan1").Range("A1").Value    MsgBox ConteudoEnd Sub

Exemplo 5 – Alterar o valor

Sub AlteraValor()    Worksheets("Plan1").Range("A1").Value = 456.78End Sub

Exemplo 6 – Modificar o tamanho e a cor

Sub propiedadesTamanhoCor()

Range("B2").Select Range("B2").Interior.Color = RGB(0, 255, 0) Columns("B:B").ColumnWidth = 18 End Sub

Métodos de Objetos

Além das propriedades, objetos também têm métodos. Um método é uma ação que você pode executar com um objeto. Um método pode alterar a propriedade de um objeto ou fazer com que o objeto faça algo.

Exemplo 7 – limpar conteúdo (ClearContents)

Sub limparConteudo()    Range("A1").ClearContentsEnd Sub

Exemplo 8 – copiar uma célula a outra

Sub CopiarUm()

Worksheets("Plan1").Activate Range("A1").Copy Range("B1") End Sub

Ajudas

Agora que conhece um pouco sobre objetos, propriedades, métodos e eventos, você pode se interessar pelas seguintes ferramentas: Sistema de Ajuda do VBA (F1) Pesquisador de objeto (F2) Listagem automática de propriedades e métodos.

Listagem automática de propriedades e métodos

Procedimentos Sub e Function

Sub e Function

Os códigos VBA que você escreve no Editor do Visual Basic são conhecidos como procedimentos. os dois tipos mais comuns de procedimentos são Sub e Function. Um procedimento Sub é um grupo de declarações

VBA que executam alguma ação (ou ações) com o Excel.

Um procedimento Function é um grupo de declarações que executa algum cálculo e retorna um valor.

Procedimentos Sub

Todo procedimento Sub inicia com a palavra chave Sub e termina com a declaração End Sub. Abaixo, um exemplo.

Sub ExibirMensagem() MsgBox "Olá pessoal!"End Sub

Procedimentos Function (Exemplo 9)

Todo procedimento Function (função) inicia com a palavra chave Function e termina com a declaração End Function. Abaixo, um exemplo:

Function RaizCubica(numero) RaizCubica = numero ^ (1 / 3)End Function

Algumas forma de executar os

procedimentos

Algumas forma de executar os procedimentos

Execução direta Ative o VBE e selecione o módulo VBA que

contém o procedimento Posicione o cursor dentro do código (clique em

qualquer parte dentro do código, entre Sub e End Sub)

Pressione F5 (ou acesse Executar > Executar Sub/UserForm).

Digite o valor solicitado e pressione OK.

Algumas forma de executar os procedimentos

Execução a partir da janela Macro Ative o Excel. Acesse Desenvolvedor > Código > Macro

(ou pressione ALT+F8). Selecione a macro. Clique em Executar (ou faça um duplo

clique sobre o nome da macro).

Algumas forma de executar os procedimentos

Execução por tecla de atalho Para executar uma macro usando teclas de

atalho é necessário, antes, definir as teclas de atalho desejadas para a macro. Acesse Desenvolvedor > Código > Macros. Selecione o nome do procedimento. Coloque no botão Opções. Clique na opção Tecla de Atalho e digite uma

letra (ao lado de onde está escrito Ctrl+).

Algumas forma de executar os procedimentos

Execução a partir de um botão ou imagem Uma opção para executar as macros de forma amigável para o

usuário, é vinculá-la a algum botão (ou qualquer tipo de imagem) em uma planilha. Para isso, siga estes passos: Ative a planilha. Selecione Botão nos Controles de Formulário (conforme imagem

abaixo). Em seguida, clique na planilha e arraste para desenhar o botão no

tamanho que desejar. Após inserir o botão, o Excel mostrará a janela Atribuir macro. Selecione a macro que deseja associar ao botão. Clique em OK.

Executando procedimentos Function

As funções, diferente das macros Sub, podem ser executadas em apenas dois modos: Sendo chamadas por outra macro (Sub ou

Function) Sendo usada como uma fórmula em uma

planilha.

Chegando no fimFazendo um programa...

Solução da equação de segundo grau

Se Delta <0, Não tem raízes reais

Se Delta = 0, tem uma raiz

Se Delta >0, tem duas raízes

Layout

Execução

Parabéns você já é um programador !!!Continue praticando...

top related