Criamos este artigo para mostrar, na prática, um pouco da utilização das macros no Excel, interceptando alguns eventos. Trabalharemos alguns dos eventos muito comuns e úteis no Excel. Veremos o quanto são simples e poderosos quando usados corretamente.
O arquivo do JOGO DA VELHA está pronto, funcionando e livre de qualquer proteção. CLIQUE AQUI para baixar o arquivo.
A seguir detalharemos os eventos que foram interceptados na criação deste artigo.
Conceito de Evento
Quando falamos em macros VBA, falamos em programação. O VBA trabalha com "programação orientada a objetos".
Com foco neste artigo, precisamos entender algumas características da orientação a objetos. Os objetos possuem:
- "Propriedades", que podem ser ilustradas como, por exemplo, suas características físicas (cor, altura, tamanho, conteúdo, ...)
- "Eventos", que são ações que podem ocorrer com os objetos, por exemplo, um BOTÃO foi CLICADO (evento CLICK), uma CÉLULA foi EDITADA (evento CHANGE), uma PLANILHA recebeu um DUPLO-CLIQUE (evento ONDOUBLECLICK), e por aí vai.
- "Métodos", que são sub-rotinas que podem ser executadas quando algum EVENTO ocorrer em algum OBJETO. Por exemplo, se o evento CLICK ocorrer no objeto IMAGEM execute o procedimento RECALCULAR_TUDO.
Neste artigo utilizamos os seguintes eventos:
- Auto_Open, executado automaticamente quando o arquivo XLSM é aberto
- Auto_Close, executado automaticamente quando o arquivo XLSM é fechado
- OnTime, conseguimos programar a execução de algum método com horário definido
- OnDoubleClick, se ocorrer um duplo-click em alguma planilha, dispararemos métodos
Auto_Open
O evento Auto_Open ocorre automaticamente sempre que o arquivo XLSM é aberto. No nosso caso, desejamos que, ao abrirmos nosso arquivo JOGO DA VELHA o Excel execute os seguintes passos:
Abaixo temos a nossa Auto_Open:
Sub Auto_open()Sheets("CAPA").Select
Application.OnTime Now() + TimeValue("00:00:05"), "Programa"
End Sub
Auto_Close
O evento Auto_Close ocorre automaticamente sempre que o arquivo XLSM é fechado. No nosso caso, desejamos que, ao fecharmos nosso arquivo JOGO DA VELHA o Excel selecione a planilha CAPA antes de fechar.
Sub Auto_Close()Sheets("CAPA").Select
End Sub
OnTime
Utilizamos o OnTime quando desejamos agendar a data e hora para a execução de algum método. No nosso caso, utilizamos a sintaxe: Application.OnTime Now() + TimeValue("00:00:05"), "Programa"
Com essa sintaxe, programos a execução do método "Programa" para ocorrer 5 segundos após o momento da abertura do arquivo.
OnDoubleClick
O OnDoubleClick será executado sempre que houver um DUPLO-CLIQUE em qualquer célula da planilha "VELHA".
Public Sub Programa()
Sheets("Velha").Select
Sheets("Velha").OnDoubleClick = "Marcar_Velha"
End Sub
No mais, baixem o arquivo, estudem o uso dos eventos acima e, qualquer dúvida, estamos à disposição.
Leiam também outros artigos em NOSSO BLOG.
Estamos aqui, à disposição, aceitando sugestões para novos artigos.
Aproveitem e conheçam o site da nossa empresa: www.excelline.net.
Se você quiser saber mais sobre VBA, recomentamos o seguinte livro:
Contem conosco!
Curta a nossa página
Setembro/2014
GILBERTO GOMES
ExcelLine - Office World
Google+ +gilberto gomes