Aula 1 Programação de Computadores usando VBA Introdução - 1
Objectivo: aprendizagem das técnicas básicas de programação de computadores Ambiente: Excel e Editor de VBA Requesitos: Conhecimentos de Excel 2
VBA VBA - linguagem de programação baseada no Visual Basic Permite acrescentar capacidades adicionais às aplicações Office Automatizar tarefas repetitivas 3
Macros Um macro é um programa escrito em VBA, que indica a uma aplicação Office quais os passos a dar para realizar uma dada tarefa. Um macro é uma descrição formalizada das acções que se pretende automatizar. Os macros incluem instruções que interagem com elementos da aplicação. Por ex.: Para numa aplicação Office se fechar uma janela, pode usar-se o menu Close. Num macro em VBA, a instrução correspondente é: ActiveWindow.Close 4
Construção de um Macro Métodos 1. Gravar a sequência de passos que ele deverá executar na aplicação. Corresponde a mostrar o que fazer para conseguir obter o resultado pretendido. Ensinar a aplicação pelo exemplo. 2. Criar o macro, Inserindo as instruções adequadas numa sub-rotina, usando o Editor de VBA. 5
Gravação de um Macro Passos 1. O utilizador indica ao programa que se vai entrar no modo de gravação do macro 2. Inicia a execução da sequência de acções que normalmente teria que executar. 3. Quando chega ao fim dessa sequência, indica ao programa que a gravação terminou. 4. Atribui-se a essa sequência uma combinação de teclas especial O macro estará pronto a ser executado, substituindo a sequência de acções individuais que anteriormente seriam necessárias. 6
Gravação de um Macro Gravação Janela de Gravação de Macros STOP! 7
Gestão de Macros Janela de Gestão de Macros [Alt-F8] 8
Ambiente de desenvolvimento VBA Explorador de projectos Barra de ferramentas VBA Editor de VBA [Alt-F11] 9
Criação de um macro Criar um módulo para albergar o macro, usando o menu "Insert/Module". Se já existir algum módulo criado, 1. seleccionar o módulo pretendido no explorador de projectos, 2. posicionar o cursor na janela correspondente a esse módulo, numa área fora de qualquer macro já existente, e 3. seleccionar a opção de menu "Insert/Procedure". Aparecerá uma janela própria onde será possível dar o nome ao novo procedimento, especificar o tipo de macro que vai ser construído (função ou procedimento) e qual o âmbito da sua utilização (privada ou pública). 10
Exemplo de Macro Macro que verifica se o valor presente numa determinada célula (B2) é superior a um dado limite e que, caso seja, disso notifica o utilizador. Cabeçalho Public Sub verificavalor() If Cells(2, 2) > 100 Then MsgBox "Valor maximo excedido!" End If End Sub Estrutura de Controlo Condicional Refere-se à célula B2 11
Outro exemplo de Macro Fazer a mesma verificação num conjunto de células e apenas desencadear o alarme caso mais do que duas dessas células ultrapassem o limite estabelecido. Public Sub verificagama() Dim i As Integer, c As Integer c = 0 For i = 1 To 5 If Cells(i, 3) > 100 Then c = c + 1 End If Next If c > 2 Then Estrutura de Controlo Repetitivo MsgBox c & " valores superiores ao limite!" End If End Sub 12