10 Macros simples em VBA

macrocalculator-e1422220596839Uma macro VBA é uma sequência de comandos usadas para realizar tarefas programadas utilizando a linguagem de programação Visual Basic for Applications (VBA). A grande vantagem de gravarmos uma seqüência de comandos é que poderemos utiliza-la sempre que necessário, para isso basta executar a macro na qual foi gravada esta seqüência de comandos. A seguir estou postando alguns exemplos de simples macros que podem ser úteis em qualquer projeto VBA.

As Macros são uma excelente opção para automatizar tarefas repetitivas. Com o uso de Macros temos um ganho de produtividade considerável, ao evitar que tenhamos que executar manualmente, os diversos passos de uma tarefa, passos estes que podem ser automatizados através do uso de uma macro. 

1. Inserindo uma linha em VBA: O exemplo abaixo insere uma nova linha na segunda linha da planilha

Sub adicionarLinha()
   Rows(2).Insert
End Sub

2. Executar macro ao abrir a planilha: Crie uma macro chamada  Auto_Open para exibir a mensagem abaixo quando da abertura da  planilha.

Sub Auto_Open()
MsgBox "Para ver dicas de Excel, acesse acervodeinformatica.blogspot.com"
End Sub

3. Atualizar somente a planilha (aba) atual: Esta macro atualiza as fórmulas da planilha ativa, só isso.

ActiveSheet.Calculate 'Calcula somente as fórmulas da aba ativa

4. mensagem informativa: Utilize na sua macro o comando MsgBox, da seguinte forma:

MsgBox "texto da mensagem"

5. Escrever data e hora atuais na planilha: Esse exemplo escreve a data e hora atuais na célula A1. Semelhante a função =AGORA() no Excel.

Sub escreverDataEHora()
   Range("A1") = Now
End Sub

6. Encontrar a próxima célula vazia: Costumeiramente necessitamos localizar a próxima célula vazia em nossas planilhas, para inserirmos novos dados ou ainda para sabermos o tamanho do Range que teremos para trabalhar. Sempre utilizei o código abaixo:

Sub vazio()

Dim I As Integer
   
    I = 1
    Do While Range("A" & I).Value <> ""
        I = I + 1
    Loop

    Range("A" & I).Select

End Sub

No código acima podemos observar que teste nos leva para a célula A1, se esta não estiver vazia o  cursor será posicionado na próxima célula vazia.

7. Backup de planilhas: Esta macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), faz um Backup das planilhas Folha e Funcionario com o nome Copia_Dados.xls

Sub Backup_Planilhas()

Sheets(Array("Folha", "Funcionario").Copy

ActiveWorkbook.SaveAs “C:\Copia_Dados.xls”

ActiveWorkbook.Close

End Sub

8. Copiando células de uma planilha para outra: Você pode copiar partes de uma planilha para outra planilha utilizando como exemplo a macro abaixo:

Sub copiar()
Sheets("Plan1").Range("A1:A3").Copy Destination:=Sheets("Plan2").Range("A1")
End Sub

9. Executar um aplicativo externo: Muitas vezes necessitamos introduzir em uma planilha Excel um atalho para executar um aplicativo que está localizado em uma determinada pasta do Windows, como fazer isso? O exemplo abaixo executa o aplicativo calculadora que se encontra na pasta chamada Boleto na raiz de C:\

Sub calculadora()
    Dim ReturnValue
    ReturnValue = Shell("C:\Boleto\calculadora\calculadora.exe", 1)
    AppActivate ReturnValue
End Sub

10. Zoom-In, Zoom-Out ,Zoom-Padrão: Trocar o zoom da planilha nem sempre é a tarefa mais cômoda de se fazer, o atalho disponível depende do mouse pressionando o botão de scroll na barra de status da planilha. Podemos, opcionalmente, criar três macros simples que incrementa o zoom em 10%, diminui o zoom na mesma proporção e por último configura o zoom para seu valor padrão que é 100%.

Sub zoomIn()
  Dim maisZoom As Long ‘ aumenta o zoom
  maisZoom = ActiveWindow.Zoom
  maisZoom = maisZoom + 10

  If maisZoom <= 400 Then
    ActiveWindow.Zoom = maisZoom
  End If

End Sub


Sub zoomOut()
Dim menosZoom As Long ‘diminue o zoom
  menosZoom = ActiveWindow.Zoom
  menosZoom = menosZoom - 10
 
  If menosZoom >= 10 Then
   ActiveWindow.Zoom = menosZoom
  End If

End Sub


Sub ZoomPadrao()

ActiveWindow.Zoom = 100 ‘configura para o valor padrão

End Sub

Observação: Para facilitar a execução de cada uma das macros crie um botão para cada uma delas. 5

Comentários

Postagens mais visitadas