Apostilas de VBA para download

Olá Pessoal!

Estou passando por aqui só para avisar que disponibilizei na barra lateral do blog três apostilas de VBA para download.

Criei essas apostilas quando trabalhava na diretoria de Controladoria da Oi, para dar aula de VBA para algumas pessoas da minha equipe.

Usando os ensinamentos dessas apostilas, vocês conseguirão otimizar bastante o Excel, criando planilhas bem interessantes!

Espero que esse material seja de grande utilidade, principalmente para aqueles que estão iniciando no mundo do VBA!!!!

 

Abs, Dr. Excel

Conhecendo o código de uma Macro

Oi pessoal!

Neste post, dando continuidade ao post Macro – definição e gravação, vamos entender os comandos gravados na criação da Macro NegritoVermAmarelo.

Para visualizar o código da Macro, siga os próximos passos a partir do arquivo onde foi criada a Macro NegritoVermAmarelo.

Passos:

1. Selecione o comando Exibição -> Macros -> Exibir Macros;

2. Será exibida a janela Macro;

3. Clique na Macro NegritoVermAmarelo para selecioná-la;

4. Clique no botão Editar;

5. O Editor do VBA será carregado, exibindo as seguintes linhas de código:

Sub NegritoVermAmarelo()

‘ Macro que formata as células com Negrito, fonte vermelha e fundo amarelo.

‘ Atalho do teclado: Ctrl+Shift+L

Selection.Font.Bold = True

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

Selection.Font.ColorIndex = 3

End Sub

Agora vamos entender o que está escrito acima…

Selection.Font.Bold = True

Este comando aplica Negrito na célula selecionada. (onde o cursor estiver posicionado).

Para vocês entenderem melhor, separando as palavras deste comando, temos o seguinte:

– Selection – o Excel entende que algum comando será executado em um local determinado. Como não especificamos nenhuma célula, range, linha etc. antes desta linha de código, o comando será aplicado onde o cursor estiver posicionado na planilha.

– Font.Bold = True – quer dizer que a formação Negrito deve ser ativada para uma determinada seleção.

Selection.Font.ColorIndex = 3

Este comando aplica cor de fonte vermelha na célula selecionada. (onde o cursor estiver posicionado).

O valor 3 correspondente a cor vermelha no Excel.

Obs: você não precisa ficar decorando os números relacionados às cores do Excel para programar em VBA. Quando você quiser saber o número relacionado a uma cor, basta gravar uma Macro de formação e depois visualizar os comandos no código.

Continuando…

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

Este comando aplica cor de fundo amarelo na célula selecionada. (onde o cursor estiver posicionado).

Nesta parte do código, como temos dois comandos de formatação para o mesmo objeto (.Color.Index = 6 e .Pattern = xlSolid para Interior) escrevemos os comandos dentro da chave WithEnd With, que é uma forma de simplificar o código quando precisamos escrever vários comandos para uma mesma seleção de objeto.

Agora vamos criar uma macro similar a anterior, mas determinando onde na planilha a formatação deve ser aplicada.

Crie uma Macro chamada NegritoVermAmarelo_versão02, repetindo todo o passo a passo do post Macro – definição e gravação na gravação da Macro NegritoVermAmarelo, mas trocando a ordem dos passos 2 e 3, ou seja, coloque o passo 2 (Clique na célula A1) após o passo 3 (Selecione o comando Exibição -> Macros -> Gravar Macro).

Depois de gravar a nova Macro, vamos acessá-la no editor do VBA, executando os passos que expliquei no início do post.

Visualizaremos o seguinte código…

Sub NegritoVermAmarelo_versão02()

‘ Macro que formata as células com Negrito, fonte vermelha e fundo amarelo.

‘ Atalho do teclado: Ctrl+Shift+L

Range(“A1”).Select

Selection.Font.Bold = True

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

Selection.Font.ColorIndex = 3

End Sub

Repare que as linhas de código são as mesmas da primeira Macro gravada (NegritoVermAmarelo), com exceção da primeira linha Range(“A1”).Select, que foi acrescentada ao código quando invertemos a ordem dos passos 2 e 3.

Ou seja, com esta troca, após iniciar a gravação da Macro (passo 3) solicitamos ao VBA que  selecionasse a célula A1 (passo 2).

Essa nova linha de código determina que todos os comandos seguintes sejam aplicados à célula A1.

A forma para selecionar um intervalo de células é bem parecida, por exemplo, para selecionarmos da célula A1 até a célula C5 teríamos a seguinte sintaxe: Range(“A1:C5”).Select.

Importante: o comando Range(“B1”).Select também pode ser escrito da seguinte forma: Cells(1,2).Select, onde o primeiro número determina a linha da célula B1 e o segundo determina a coluna.

Em programação VBA, este segundo formato de escrita é mais eficiente, pois facilita a manutenção das linhas de códigos de uma Macro e permite que você crie comandos mais inteligentes usando variáveis.

Mas, por enquanto, vamos deixar esse assunto para o futuro, porque antes precisamos entender mais alguns conceitos e comandos básicos de VBA…

Abs, Dr. E

P.S. Gostaria de pedir desculpas, mas infelizmente não estou conseguindo responder todos os e-mails com dúvidas que venho recebendo. Por isso, peço que não usem o espaço de comentários do post para enviar dúvidas.

Macro – definição e gravação

Oi pessoal!

Conforme prometido no post anterior, vou tentar explicar o que é Macro e dar um exemplo de gravação através do Excel.

A Macro, ou sub-rotina, é uma sequência de comandos e funções armazenados no VBA que pode ser criada, por exemplo, para automatizar uma tarefa que seria executada várias vezes no Excel. O que ajuda você a ganhar tempo e diminuir os erros que poderia cometer ao executar as mesmas tarefas repetidas vezes, já que o sistema fica encarregado de executar essa sequência de tarefas sempre na ordem correta e sem pular nenhuma etapa. É claro que devemos ter muito cuidado ao criar uma Macro para ter certeza que esta contempla todas as etapas do processo. Isso que dizer que a integridade das informações geradas depende principalmente do planejamento que o usuário faz antes de gravar a Macro, para certificar-se que todas as etapas foram contempladas.

 

Como exemplo, vamos supor que seguidamente precisemos formatar uma célula com Negrito, Itálico, fonte Verdana de tamanho 13 e cor vermelha. Ao invés de executar todos os comandos de formatação em cada célula, podemos criar uma Macro que aplique todos esses comandos num intervalo de células selecionado pelo usuário.

 

A Macro pode ser gravada etapa a etapa para realizar uma tarefa, mas antes de gravá-la, devemos planejar as etapas e os comandos que devem ser executados. Cometendo-se erros durante a gravação, as correções que também forem efetuadas no momento serão gravadas em seqüência. Então, lembrem-se da importância do planejamento do processo que citei no início do post!

Podemos executar uma Macro através do caminho Exibição -> Macros -> Exibir Macros, através de um botão específico, de uma combinação de teclas, de um botão de uma barra de ferramentas, a partir de um atalho no teclado, de um objeto gráfico em uma planilha etc. Porém com com exceção da primeira opção, que já existe na Barra de Menu do Excel, todas as outras dependem de programação VBA.

 

Agora vou dar um exemplo de gravação de Macro para vocês entenderem melhor como funciona na prática.

 

Vamos lá!

 

A Macro deverá formatar a célula atual com Negrito, cor de fonte vermelha e fundo amarelo. Gravar a Macro com o nome NegritoVermAmarelo.

1. Abra uma nova pasta no Excel.

2. Clique na célula A1.

3. Selecione o comando Exibição -> Macros -> Gravar Macro

 

4. Será exibida a janela Gravar macro, conforme figura abaixo.

5. No campo Nome da macro digite: NegritoVermAmarelo

6. No campo Tecla de atalho digite L. Observe que o Excel troca para Ctrl+Shift+L. Isso acontece porque a combinação Ctrl+L já deve estar associada a algum comando do Excel. Com isso estamos associando a combinação Ctrl+Shift+L a Macro NegritoVermAmarelo, ou seja, cada vez que quisermos executar essa Macro basta pressionar Ctrl+Shift+L.

7. No campo Descrição podemos registrar qualquer informação referente à Macro.

8. Clique em OK, que a gravação da Macro será iniciada e todos os comandos executados durante a gravação farão parte da Macro.

9. A barra (  ) é exibida na planilha do Excel e é utilizada para parar a gravação da Macro, que também pode ser finalizada através do caminho Ferramentas -> Macro -> Parar gravação.

10. Clique no botão (  ) para aplicar Negrito.

11. Na lista de Cores da fonte (  ) selecione Vermelho.

12. Na lista de Cores de fundo (  ) selecione Amarelo.

13. Clique no botão (  ) para encerrar a gravação da Macro.

 

 

Para executar a Macro NegritoVermAmarelo siga os passos abaixo.

 

1. Clique na Célula C7.

2. Pressione Ctrl+Shift+L.

3. A Macro FormataVermAmarelo será executada e as formatações definidas no código (Negrito, fonte vermelha e fundo amarelo) serão automaticamente aplicadas a Célula C7.

Obs: a Macro também pode ser executada através do comando Exibição -> Macros -> Exibir Macros (neste ponto você deve selecionar a macro na lista e clicar em “Executar”.

Abs, Dr. E

P.S. Gostaria de pedir desculpas, mas infelizmente não estou conseguindo responder todos os e-mails com dúvidas que venho recebendo. Por isso, peço que não usem o espaço de comentários do post para enviar dúvidas.