Sete dicas simples em VBA

logoExcel_VBA1. Atualizando as fórmulas e dados da planilha ativa

Este comando VBA recalcula e atualiza as fórmulas e dados da planilha ativa, ou seja, aquela em evidência no momento. Isto não vale para as outras planilhas da pasta de trabalho do sistema.

ActiveSheet.Calculate   'Calcula as fórmulas da planilha ativa

2. Usar .Activate em vez de .Select 

Range("E1") .Select - No exemplo ao lado estamos selecionando a célula E1 com o mouse, recomendo usar o comando Range (“E1”) .Activate pois  em algumas situações reduz o tempo de processamento do sistema tornando-o mais rápido.

3. Reduzir o espaço ocupado na memória

A medida que usamos o computador estamos constantemente enviando e recebendo dados da memória, isto às vezes pode deixar sua máquina lenta em algumas situações, acarretando retardo na execução de alguns aplicativos. Quando usamos VBA é sempre bom deixar que os códigos implementados não utilizem muito a memória virtual, acelerando assim o processamento de algumas ações. Veja a seguir alguns exemplos que podem ser utilizados para agilizar a execução de alguns processos:

Muito Usado

Range("C1:C50") .Copy 'Copiando da célula C1 até C50

Range("D1") .PasteSpecial 'Colando em D1

Application.CutCopyMode = False   'Limpando a área de transferência

Recomendado

Range("C1:C50") .Copy Destination:= Range("D1")        'Comando mais direto

O mesmo processo de copiar e colar, mas apenas como VALORES

Muito usado

Range("C1:C50") .Copy

Range("D1") .PasteSpecial xlPasteValues

Application.CutCopyMode = False 'Limpando a área de transferência

Recomendado

Range("D1:D50") .Value = Range("C1:C50").Value

Processo para copiar apenas as fórmulas

Muito usado

Range("C1:C50") .Copy

Range("D1") .PasteSpecial xlPasteFormulas

Application.CutCopyMode = False    'Limpando a área de transferência

Recomendado

Range("D1:D50") .Formula = Range("C1:C50").Formula

4. Monstrando uma mensagem informativa

O comando MsgBox é utilizado no VBA para inserir uma mensagem de texto em determinada ocasião durante o processamento do sistema, como no exemplo abaixo:

MsgBox "texto da mensagem"

Pode ser utilizado para avisar que a macro foi concluída, mostrar o resultado da macro, nformar se há algum erro na planilha, etc.

5. Executar uma macro ao abrir uma planilha

Simples, basta criar uma macro e adicioná-la ao evento chamado de Auto Open() na sua pasta de trabalho. Exemplo:

Sub Auto_Open()
MsgBox "Dicas de informática no blog Acervodeinformatica.blogspot.com"
End Sub


6. Inserir uma nova linha com VBA

Sub InserirLinha()  ‘Adiciona uma nova linha na quinta linha da planilha
   Rows(5) .Insert
End Sub

7. Mostrar a data e hora na planilha

Semelhante a função AGORA() do Excel o código abaixo em VBA traz a data e a hora atualizada na célula selecionada.

Sub InserirDataeHora()
   Range("A3") = Now
End Sub

Comentários

Postagens mais visitadas