Cavalcante Consultores – treinamento e consultoria em finanças e Excel

Introdução às macros

Cavalcante Consultores > Biblioteca de Excel > Introdução às macros

O que são macros?

Macros são rotinas, elaboradas em uma linguagem de programação, para automatização de tarefas repetitivas ou realização de ações definidas pelo usuário. O Excel (e em geral, todos os aplicativos da família Microsoft Office) possui uma linguagem de programação específica para elaboração de macros, chamada VBA (Visual Basic for Applications).

Utilizando macros e VBA, você pode estender as possibilidades de manipulação de seus dados. Seguem abaixo alguns exemplos de ações que podem ser facilmente automatizadas através do VBA:

O VBA é uma poderosa ferramenta, com possibilidades que vão muito além dos exemplos acima. Para automatizar alguns procedimentos, você se surpreenderá ao descobrir que não é necessário escrever uma linha de código sequer!

Exemplo

Observe a planilha abaixo, com a listagem de diretores regionais de uma empresa:

Aparentemente, a pessoa que montou esta tabela não teve o cuidado de remover os espaços extras nas células; além disso, a informação sobre o estado dos diretores está duplicada. Remover os espaços extras e o estado de origem é uma tarefa repetitiva e sujeita a erros.

Contudo, utilizando uma macro é fácil corrigir os itens desta lista. Observe os passos abaixo:

Ao fazê-lo, você encontrará a listagem de macros elaboradas em suas planilhas abertas:

A macro "Limpar" foi criada pelo usuário desta planilha, e sua função é automatizar a tarefa de remover os espaços excedentes e a informação sobre o estado duplicada. Com uma célula selecionada, basta selecionar a macro "Limpar" e executá-la:

Aplicando a macro a todas as células, obtemos o resultado desejado sem esforço:

Pratique!

A macro acima está gravada na planilha e pode ser utilizada novamente quando for necessário. Observe o código da macro "Limpar" logo abaixo: não se preocupe se isto não parecer claro por enquanto, pois em breve você aprenderá o que significa cada parte deste código.

'A macro Limpar remove os espaços extras da célula selecionada e os
'últimos caracteres, se estes forem uma expressão em parênteses.
Sub Limpar()

    'Declaração de variáveis
    Dim rLocal, rTemp As Range
    
    'Atribuição das variáveis
    Set rLocal = ActiveCell
    Set rTemp = Range("A65536")
    
    'Limpa os espaços excedentes na célula selecionada
    rTemp.Formula = "=TRIM(R" & rLocal.Row & "C" & rLocal.Column & ")"
    rLocal.value = rTemp.value
    rTemp.value = ""
    
    'Remove o estado em parênteses se for o caso
    If rLocal.value Like "* (??)" Then
        rLocal.value = Mid(rLocal.value, 1, Len(rLocal.value) - 5)
    End If
        
End Sub

Nos próximos conteúdos você aprenderá a elaborar macros.