45
Excel 2016 com VBA Aula 2 Prof. Guilherme Nonino Rosa

Excel 2016 com VBA · 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;

Embed Size (px)

Citation preview

Page 1: Excel 2016 com VBA · 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;

Excel 2016 com VBAAula 2

Prof. Guilherme Nonino Rosa

Page 2: Excel 2016 com VBA · 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;

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

Page 3: Excel 2016 com VBA · 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;

Contatos:

Prof. Guilherme Nonino Rosa

[email protected]

Page 4: Excel 2016 com VBA · 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;

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.

Page 5: Excel 2016 com VBA · 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;

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.

Page 6: Excel 2016 com VBA · 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;

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.

Page 7: Excel 2016 com VBA · 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;

APROVAÇÃO/FREQÜÊNCIA

FREQÜÊNCIA = 75%(7,5 horas)

ENTREGA DOS CERTIFICADOS :

NO ÚLTIMO DIA DO CURSO OU RETIRAR NA SECRETARIA (1º ANDAR)

Page 8: Excel 2016 com VBA · 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;

Usuário:Senha:

Page 9: Excel 2016 com VBA · 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;

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.

Page 10: Excel 2016 com VBA · 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;

Macros e VBA - ExcelAula 2 – Parte 01

- Objeto, Propriedade, método e evento.- Transferindo dados entre duas planilhas- Comando: application.screenupdating- Comando: MSGBOX – enviando mensagens

para o usuário da planilha.

Page 11: Excel 2016 com VBA · 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;

Projeto VBA

O projeto VBA é composto por:

• Pasta de Trabalho• Planilhas

• Formulários• Módulos• Classes

Estes dois próprios do Excel

Estes três próprios do VBA

Page 12: Excel 2016 com VBA · 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;

Elementos VBA

1-Objeto

-Uma unidade de dados que representa um elemento dasua planilha, tudo que é manipulável no aplicativo échamado de objeto.

Ex: O próprio Excel (application), pastas detrabalho(Workbook), planilhas(Sheet), células(cell), folhasde gráficos(chart), botões, menus, etc.

Page 13: Excel 2016 com VBA · 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;

Elementos VBA

2-Coleções

-Uma coleção é um grupo de objetos que são todos domesmo tipo. As coleções estão quase sempre no plural.Exemplos de coleções são pastas, folhas de planilhas, ediagramas.

Ex: Sheets(“Plan1).Select ou

Sheets(1).Select

Coleção

Membro

Page 14: Excel 2016 com VBA · 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;

Elementos VBA

3-Propriedades

-Propriedades são características de cada objeto.Tamanho, cor, valor.

Ex:Range(“A1”).Value = “Senac”

Value é a propriedade para o objeto Range(“Célula”).

Objeto

Propriedade

Page 15: Excel 2016 com VBA · 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;

Elementos VBA

4-Método

-Ações que submetemos os objetos. Não alteram aspropriedades do objeto mas submetem eles a ações maisamplas.

Ex:Range(“A1”).Select

Select é a ação de selecionar a célula que é um objeto.

Page 16: Excel 2016 com VBA · 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;

Elementos VBA

5-Eventos

-Ações que são reconhecidas por outros objetos, comoexemplo.

WorkbookOpen

A pasta de trabalho(workbook) aula2.xlsm é capaz deentender a ação de ser aberto.

Page 17: Excel 2016 com VBA · 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;

Elementos VBA

6-Procedimentos

-São conjuntos de declarações que realizam uma tarefaespecífica. Procedimentos podem ser ou macros oufunções.

Sub AlôMundo()MsgBox "Alô Mundo"

End Sub

Page 18: Excel 2016 com VBA · 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;

Elementos VBA

7-Funções

Funções são conjuntos de declarações que retornam umvalor. Exemplos de funções que são construídas noMicrosoft Excel são a função Soma() e a função Média()

Function TamanhoDaCaixa(X, Y)

TamanhoDaCaixa = X * Y

End Function

Page 19: Excel 2016 com VBA · 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;

Abra o arquivo aula2_parte01 no Excel.

InserirBotão de Ação

Mensagem de Conclusão

Page 20: Excel 2016 com VBA · 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;

Planilha que receberá os dados gravados.

Page 21: Excel 2016 com VBA · 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;

Sub InserirRegistro()'' InserirRegistro Macro'

Range("B5:G5").SelectSelection.CopySheets(“Clientes").SelectRange("A1").SelectSelection.End(xlDown).SelectSelection.End(xlUp).SelectRange("A2").SelectActiveSheet.PasteRange("A2").SelectSheets(“Cadastro").SelectRange("B5:G5").SelectApplication.CutCopyMode = FalseSelection.ClearContentsRange("G8").SelectActiveCell.FormulaR1C1 = "Gravação OK..."Range("B5").Select

End Sub

Código VBA antes das

alterações.

Page 22: Excel 2016 com VBA · 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;

Sub InserirRegistros()'

' InserirRegistros Macro'

Application.ScreenUpdating = False – 6ª. alteração

Range("G8").Value = "“ - 4ª. AlteraçãoRange("B5:G5").SelectSelection.CopySheets("Clientes").Select

Range("A1048576").Select - 1ª. Alteração.Selection.End(xlUp).Select - 2ª alteração

ActiveCell.Offset(1, 0).Select - 3ª. Alteração.

ActiveSheet.PasteSheets("Cadastro").SelectRange("B5:G5").SelectApplication.CutCopyMode = FalseSelection.ClearContentsRange("G8").SelectActiveCell.FormulaR1C1 = "Gravação OK..."

MsgBox "Processo concluído...", vbOKOnly, "Concluído“ – 5ª. Alteração.

Range("B5").SelectApplication.ScreenUpdating = True – 7ª. Alteração

End Sub

Código VBA depois das alterações.

Page 23: Excel 2016 com VBA · 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;

Macros e VBA - ExcelAula 2 – Parte 02- Cadastro de clientes com dados em células

não contínuas.

- Instrução: SHEETS().select

Page 24: Excel 2016 com VBA · 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;

Abra o arquivo aula2_parte02 no Excel.

Page 25: Excel 2016 com VBA · 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;

Sub inserirdados2()'' inserirdados2 Macro'

Range(“B5”).SelectSelection.CopySheets(“Clientes”).SelectRange("A1").SelectSelection.End(xlDown).SelectSelection.End(xlUp).SelectRange("A2").SelectActiveSheet.PasteActiveSheet.Previous.SelectRange("D5").SelectApplication.CutCopyMode = FalseSelection.CopyActiveSheet.Next.SelectRange("C2").SelectActiveSheet.PasteActiveSheet.Previous.SelectRange("F5").SelectApplication.CutCopyMode = FalseSelection.Copy

Código VBA antes das

alterações.

PARTE 1

Page 26: Excel 2016 com VBA · 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;

ActiveSheet.Next.SelectRange("E2").SelectActiveSheet.PasteActiveSheet.Previous.SelectRange("B8").SelectApplication.CutCopyMode = FalseSelection.CopyActiveSheet.Next.SelectRange("B2").SelectActiveSheet.PasteActiveSheet.Previous.SelectRange("D8").SelectApplication.CutCopyMode = FalseSelection.CopyActiveSheet.Next.SelectRange("D2").SelectActiveSheet.PasteActiveSheet.Previous.SelectRange("F8").SelectApplication.CutCopyMode = FalseSelection.CopyActiveSheet.Next.Select

Código VBA antes das

alterações.

PARTE 2

Page 27: Excel 2016 com VBA · 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;

Range("F2").SelectActiveSheet.PasteActiveSheet.Previous.SelectRange("F8,D8,B8,B5,D5,F5").SelectRange("F5").ActivateApplication.CutCopyMode = FalseSelection.ClearContentsRange("B5").Select

End Sub

Código VBA antes das

alterações.

PARTE 3

Page 28: Excel 2016 com VBA · 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;

Sub inserirdados2()' inserirdados2 Macro'

Application.ScreenUpdating = False Sheets("Cadastro").Select – 1ª alteração.Range(“B5”).SelectSelection.CopySheets(“Clientes”).SelectRange("A1").SelectSelection.End(xlDown).SelectSelection.End(xlDown).SelectSelection.End(xlUp).SelectActiveCell.Offset(1, 0).Select - 2ª alteração.ActiveSheet.PasteActiveSheet.Previous.SelectRange("D5").SelectApplication.CutCopyMode = FalseSelection.CopyActiveSheet.Next.SelectActiveCell.Offset(0, 2).Select – 3ª. AlteraçãoActiveSheet.PasteActiveSheet.Previous.SelectRange("F5").SelectApplication.CutCopyMode = FalseSelection.Copy

Código VBA após as alterações

PARTE 1

Page 29: Excel 2016 com VBA · 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;

ActiveSheet.Next.SelectActiveCell.Offset(0, 2).Select – 4ª. AlteraçãoActiveSheet.PasteActiveSheet.Previous.SelectRange("B8").SelectApplication.CutCopyMode = FalseSelection.CopyActiveSheet.Next.SelectActiveCell.Offset(0, -3).Select – 5ª. AlteraçãoActiveSheet.PasteActiveSheet.Previous.SelectRange("D8").SelectApplication.CutCopyMode = FalseSelection.CopyActiveSheet.Next.SelectActiveCell.Offset(0, 2).Select – 6ª. AlteraçãoActiveSheet.PasteActiveSheet.Previous.SelectRange("F8").SelectApplication.CutCopyMode = FalseSelection.CopyActiveSheet.Next.Select

Código VBA depois das alterações.

PARTE 2

Page 30: Excel 2016 com VBA · 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;

ActiveCell.Offset(0, 2).Select – 7ª. AlteraçãoActiveSheet.PasteActiveSheet.Previous.SelectRange("F8,D8,B8,B5,D5,F5").SelectRange("F5").ActivateApplication.CutCopyMode = FalseSelection.ClearContentsRange("B5").SelectApplication.ScreenUpdating = True

MsgBox "Processo concluído...", vbOKOnly, "Concluído“

End Sub

Código VBA depois das alterações.

PARTE 3

Page 31: Excel 2016 com VBA · 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;

Macros e VBA - ExcelAula 2 – Parte 03

-Caixas de Combinação(Formulários)Células Origem,Célula vinculada e Lista dinâmica – função desloc()

Page 32: Excel 2016 com VBA · 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;

Aba desenvolver – Grupo Controles – Inserir Caixa de Combinação

Page 33: Excel 2016 com VBA · 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;

Depois de Inserido, botão direito do mouse e clique em Formatar Controle

Page 34: Excel 2016 com VBA · 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;

Utilização da função desloc() para criar lista dinâmica.

DESLOC(LISTAS!$A$1;0;0;CONT.VALORES(LISTAS!$A:$A);1)

Parâmetros:

DESLOC(ref, lins, cols, [altura], [largura])

A sintaxe da função DESLOC tem os seguintes argumentos:

•ref Obrigatório. A referência na qual você deseja basear o deslocamento. Ref deve ser

uma referência a uma célula ou intervalo de células adjacentes; caso contrário, DESLOC

retornará o valor de erro #VALOR!.

•lins Obrigatório. O número de linhas, acima ou abaixo, a que se deseja que a célula

superior esquerda se refira. Usar 5 como o argumento de linhas, especifica que a célula

superior esquerda na referência está cinco linhas abaixo da referência. Lins podem ser

positivas (que significa abaixo da referência inicial) ou negativas (acima da referência

inicial).

•cols Obrigatório. O número de colunas, à esquerda ou à direita, a que se deseja que a

célula superior esquerda do resultado se refira. Usar 5 como o argumento de colunas,

especifica que a célula superior esquerda na referência está cinco colunas à direita da

referência. Cols pode ser positivo (que significa à direita da referência inicial) ou negativo

(à esquerda da referência inicial).

•altura Opcional. A altura, em número de linhas, que se deseja para a referência

fornecida. Altura deve ser um número positivo.

•largura Opcional. A largura, em número de colunas, que se deseja para a referência

fornecida. Largura deve ser um número positivo.

Page 35: Excel 2016 com VBA · 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;

Macros e VBA - ExcelAula 2 – Parte 04

-Caixas de Seleção-Botão de Opção-Caixa de grupo

Page 36: Excel 2016 com VBA · 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;

Você pode inserir controles de formulário como caixas de seleção ou botões de opção

para facilitar a entrada de dados. Caixas de seleção funcionam bem para formulários

com várias opções. Os botões de opção são melhores quando o usuário tem apenas

uma opção.

Desenvolvedor, clique em Inserir e,

em Controles de Formulário, clique em .

Para adicionar um botão de opção, clique na

guia Desenvolvedor, clique em Inserir e,

em Controles de Formulário, clique em .

Page 37: Excel 2016 com VBA · 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;

Formatar Controles

Page 38: Excel 2016 com VBA · 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;

O interessante é que ambos os controles anteriores sejam inseridos em uma Caixa de

Grupo. Caixas de grupo e controles de quadro são objetos retangulares com rótulos opcionais.Use uma caixa de grupo ou um controle de quadro para organizar visualmente os itensrelacionados em um formulário.

Page 39: Excel 2016 com VBA · 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;

Macros e VBA - ExcelAula 2 – Parte 05

-Barra de Rolagem

Page 40: Excel 2016 com VBA · 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;

Uma barra de rolagem horizontal e vertical são exibidos em um Excel pasta de trabalho

para que você pode percorrer os dados em suas planilhas. No entanto, você pode ativar

barras de rolagem ou desativar conforme necessário.

Page 41: Excel 2016 com VBA · 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;

Formatar Controles

Page 42: Excel 2016 com VBA · 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;

Macros e VBA - ExcelAula 2 – Parte 06

-Botão

Page 43: Excel 2016 com VBA · 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;

Você pode usar um botão (um controle de Formulário) ou um botão de comando (um controle ActiveX) para executar uma macro que realiza uma ação sempre que um usuário clica nesse botão.

Page 44: Excel 2016 com VBA · 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;

Formatar Controles

Page 45: Excel 2016 com VBA · 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;

Perguntas?