Excel 2016 com VBA - … · Os objetos mais usados do Excel na programação VBA são Workbook,...
Transcript of Excel 2016 com VBA - … · Os objetos mais usados do Excel na programação VBA são Workbook,...
Excel 2016 com VBAAula 3
Prof. Guilherme Nonino Rosa
Apresentação:
Prof. Guilherme Nonino Rosa- Graduado em Ciências da Computação pela Unifran – Universidade
de Franca no ano de 2000.
- Pós-Graduado em Tecnologia da Informação aplicada aos Negócios pela Unip-Universidade Paulista no ano de 2011.
- Licenciado em Informática pela Fatec – Faculdade de Tecnologia de Franca no ano de 2011.
- Docente do Senac – Ribeirão Preto desde fevereiro/2012
- Docente do Centro de Educação Tecnológica Paula Souza, nas Etecsde Ituverava e Orlândia de fevereiro/2010
- Docente na Faculdade Anhanguera – Ribeirão Preto desde de fevereiro/2013
OBJETIVOS DO CURSO:
Capacitar o aluno a desenvolver macros, formulários e funções personalizadas utilizando recursos do Excel e do VBA, a fim de otimizar o
processamento, armazenamento e apresentação de informações nas planilhas do Excel.
NORMAS DO LABORATÓRIO
• Proibido ingerir bebidas e alimentos dentro do laboratório
• Evitar atender o celular durantes as aulas.• Evite faltar, pois não há como voltar na aula anterior.
CRITÉRIOS DE AVALIAÇÃO
A avaliação da aprendizagem será contínua e cumulativa, priorizando aspectos qualitativos
relacionados com o processo de aprendizagem e o desenvolvimento do aluno observado durante
a realização das atividades propostas, individualmente e/ou em grupo.
APROVAÇÃO/FREQÜÊNCIA
FREQÜÊNCIA = 75%(7,5 horas)
ENTREGA DOS CERTIFICADOS :
NO ÚLTIMO DIA DO CURSO OU RETIRAR NA SECRETARIA (1º ANDAR)
Usuário:Senha:
1. Cria macro de gravação; 2. Diferencia referência relativa e absoluta; 3. Salva arquivo de Excel com macros; 4. Configura recursos de segurança de macros; 5. Identifica os elementos da interface do VBE; 6. Cria macro de programação; 7. Consulta documentação da Microsoft ou equivalente, quando necessário; 8. Utiliza recursos de tratamento de erro, quando necessário; 9. Utiliza caixa de entrada e caixa de mensagem; 10. Utiliza variáveis e constantes; 11. Utiliza estrutura de desvio condicional; 12. Utiliza estruturas de repetição; 13. Cria funções personalizadas; 14. Cria formulários personalizados; 15. Integra diferentes recursos de programação do VBA em um único projeto.
Macros e VBA - ExcelAula 3 – Parte 01
- Detalhes importantes da programação VBA.
Nomes importantes para os objetos no VBA
Sheet(s) = planilha
WORKBOOK = Pasta de trabalho
Objetos e Coleções
Objetos são os blocos de construção fundamentais do Visual Basic.Um objeto é um tipo especial de variável que contém ambos, dados ecódigos. A coleção é um grupo de objetos da mesma classe.
Os objetos mais usados do Excel na programação VBA são Workbook,Worksheet, Sheet, e Range.
Workbooks é uma coleção de todos os objetos workbook. Worksheetsé uma coleção de objetos worksheet. O objeto Workbook representauma workbook, o objeto Worksheet representa uma planilha, oobjeto Sheet representa uma planilha ou gráfico, e o objeto Rangerepresenta um intervalo de células.
Alt + F11 – Abrir tela do Microsoft VBA
Selecione EstaPasta_de_trabalho e ao lado selecione Workbook
Digite o conteúdo abaixo e sai do VBA.
Salve sua planilha como: Pasta de Trabalho habilitada para Macro do Excel e reabra o arquivo novamente.
Macros e VBA - ExcelAula 3 – Parte 02
- Evento Activate- Código Range- Evento DoubleClick- Evento Calculate- Comentar código- Janela de Verificação Imediata
Exibir código VBA da planilha.
Botão direito do Mouse –Menu aberto – Exibir
Código.
Veja que sua plan1 esta selecionada e clicaremos para exibir o objeto Worksheetevento Activate
Digitaremos o código abaixo:
Toda vez que ativarmos a plan1 a mensagem aparecerá em nossa tela, devido ao uso do evento ACTIVATE.
Incrementando outros comandos, veja como fica:
ActiveSheet.Range(“C3”).Select – estou selecionando a célula C3 dentro do método Activate.
Trabalhando com outros eventos da planilha
1) Evento BeforeDoubleClick
2) Evento Calculate
Comentando linhas no VBA
Inclua o apóstrofo (‘) na frente da linha.
Janela de Verificação imediata.
Janela de Verificação imediata.
? Significa que o resultado do comando será exibido na Verificação Imediata
Comandos interessantes no VBATrasladar-se a uma CélulaRange("A1").Select
Escrever em uma CélulaActivecell.FormulaR1C1="Bertolo“
Letra em NegritoSelection.Font.Bold = True
Letra Cursiva (Itálico)Selection.Font.Italic = True
Letra SublinhadaSelection.Font.Underline = xlUnderlineStyleSingle
Centralizar o Texto With Selection.HorizontalAlignment = xlCenterEnd With
Alinhar à esquerda With Selection.HorizontalAlignment = xlLeftEnd With
Alinhar à Direita With Selection.HorizontalAlignment = xlRightEnd With
Tipos de Letra (Fonte) With Selection.Font.Name = "AGaramond" End With
Tamanho de Letra (Tamanho de Fonte) With Selection.Font.Size = 15 End With
Copiar Selection.Copy
Comandos interessantes no VBAColar ActiveSheet.Paste
Cortar Selection.Cut
Ordenar Ascendente Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Ordenar Descendente Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Buscar Cells.Find(What:="Bertolo", After:=ActiveCell, LookIn:=xlFormulas, LookAt :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,MatchCase:= _False).Activate
Comandos interessantes no VBAInserir LinhaSelection.EntireRow.Insert
Eliminar LinhaSelection.EntireRow.Delete
Inserir Coluna Selection.EntireColumn.Insert
Eliminar Coluna Selection.EntireColumn.Delete
Abrir uma Pasta Workbooks.Open Filename:="C:\Meus documentos\aula3.xls“
Gravar um Pasta ActiveWorkbook.SaveAs Filename:="C:\Meus documentos\piscis.xls", FileFormat :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= False, CreateBackup:=False
Macros e VBA - ExcelAula 3 – Parte 03Variáveis e seus tipos.- String- Double- Date- Variant
VariávelUma variável é um objeto que você cria e naqual você pode armazenar texto (STRING),datas(DATE), números(INTEGER, LONG,SIMPLE, DOUBLE) ou qualquer outra coisatambém(VARIANT).
Declaração:Dim var01 as STRING.
TiposTipo de Dados
Tamanho de Armazenamento
Intervalo permitido
Boolean 2 bytes True ou False
Integer 2 bytes -32.768 a 32.767
Long 4 bytes -2.147.483.648 a 2.147.483.647
Double 8 bytes -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos
Currency 8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807
Date 8 bytes 1 de janeiro de 100 a 31 de dezembro de 9999
String 10 bytes e o comprimento da sequencia de caracteres
Obs: Caso não declare o tipo, o VBA assume como sendo Variant
Declarações
Localização Instrução de declaração Escopo
Dentro de um procedimento Dim “variável” As Variável disponível apenas este procedimento.
No início do módulo Dim “variável” as...OuPublic variável As
Variável disponível para todos os procedimentos de todos os módulos.
No início do módulo Private variável As Variável disponível para todos os procedimentos apenas no módulo em que foi declarada.
Visibilidade de procedimentos
Instrução Escopo
Public Public Sub Exemplo1() – Trata-se de um procedimento público que pode ser visto e chamado em qualquer módulo e melhor identado no VBA.
Private Private Sub Exemplo2() – trata-se de um procedimento privadoque só pode ser chamado apenas no módulo que está.
Sub Sub Exemplo1() - Trata-se de um procedimento público que pode ser visto e chamado em qualquer módulo.
Abra uma planilha nova, aba desenvolver, inserir botão do Controles ActiveX
Duplo click no botão
E vamos inserir o código
E vamos inserir o código
Private Sub CommandButton1_Click()
Dim vValor1 As StringDim vValor2 As IntegerDim vValor3 As LongDim vValor4 As Boolean
vValor1 = "Guilherme Nonino Rosa"vValor2 = ActiveSheet.Range("A1").ValuevValor3 = 2000vValor4 = False
MsgBox vValor1MsgBox vValor2
MsgBox vValor1 & " - " & vValor2MsgBox vValor3 & " / " & vValor4
ActiveSheet.Range("a2").Value = vValor1ActiveSheet.Range("b2").Value = vValor2ActiveSheet.Range("c2").Value = vValor3ActiveSheet.Range("d2").Value = vValor4
End Sub
Macros e VBA - ExcelAula 3 – Parte 04
-Option Explicit – Tornar a declaração de variáveis obrigatória.-Atribuindo variáveis com o comando SET-Operações matemáticas com variáveis-Tipo Worksheet
Operadores
Operadores
Operadores
Montamos a planilha e vamos inserir o código.
Inclua a variável Dim d_hoje as Date
d_hoje = date
W.Range(“E2”).Value = d_hoje
Funções importantes do Ambiente VBA.
• F8 – depuração total• CTRL + F8 – executar até o cursor.Shift+F9 – Inspecionar variáveis• F9 – Ativar/desativar pontos de
interrupção• CTRL+SHIFT+F9 – Limpar todos os
pontos de interrupção.
Macros e VBA - ExcelAula 3 – Parte 05
Estrutura de controle condicional- Estrutura IF .. THEN- Estrutura IF.. THEN.. ELSE...END IF- Estrutura SELECT..CASE..ELSE
Seleção simples(If ... Then) — testa uma condição única e executa uma instrução ou um bloco de instruções.
Seleção composta(If … Then … Else) — testa uma condição única e executa um entre dois blocos de instruções.
Sintaxe: If condição Then
Instruções
End If
Sintaxe: If condição ThenInstruções
Else
Instruções
End If
Seleção composta encadeada(If … Then … ElseIf) — testa mais de uma condição e executa um dos vários blocos de instruções..
Sintaxe: If condição ThenInstruções
ElseIf condição ThenInstruções
. . .Else
InstruçõesEnd If
Seleção de múltipla escolha(Select Case) — testa uma condição única e executa um dos vários blocos de instruções.
Sintaxe: Select Case var_teste
Case expr: instruções. . .Case Else: instruções
End Select
1º Exemplo
No código acima, a condiçãotestada pelo If é se o valor de x épositivo (x > 0). Caso estaexpressão seja verdadeira, oprimeiro bloco de código(Absoluto = x) será executado, eo segundo, ignorado; casocontrário, apenas o segundobloco (Absoluto = -x) seráexecutado.
2º Exemplo
A estrutra If … Then … Else pode ser estendida com o uso da Estrutura ElseIf. Elapermite que você construa um nível de teste lógico em vários níveis, permitindoestender seu teste além de uma única condição.
Duplo click no botão para abrir o Ambiente VBA
Alterando as propriedades do botãoName: btnCalcularCaption: Calcular
Segue o código
Macros e VBA - ExcelAula 3 – Parte 06
Estrutura condicional- Select Case
Perguntas?