Vídeo: #03 - Curso de Macros e Excel VBA - Referência Relativa 2025
O modo de gravação padrão do Excel é referência absoluta. Quando uma referência de célula em uma fórmula é uma referência absoluta , ela não se ajusta automaticamente quando a fórmula é colada em um novo local.
A melhor maneira de entender como esse conceito se aplica às macros é experimentá-lo. Grave uma macro que conta as linhas em uma planilha. (Veja a figura para um exemplo.)
Você pode encontrar o conjunto de dados de amostra usado aqui online.
Siga estas etapas para gravar a macro:
-
Verifique se a célula A1 está selecionada.
-
Na guia Desenvolvedor, selecione Record Macro.
-
Nomeie a macro AddTotal.
-
Escolha Esta pasta de trabalho para salvar a localização.
-
Clique em OK para iniciar a gravação.
Neste ponto, o Excel está gravando suas ações.
-
Enquanto o Excel está gravando, selecione a célula A16 e digite Total na célula.
-
Selecione a primeira célula vazia na coluna D (D16) e digite = COUNTA (D2: D15).
Esta fórmula fornece uma contagem de números de ramificação na parte inferior da coluna D. Você usa a função COUNTA porque os números de ramificação são armazenados como texto.
-
Clique em Parar Gravação na guia Desenvolvedor para parar a gravação da macro.
Sua planilha pós-totalizada.
A planilha formatada deve parecer algo como o mostrado aqui.
Para ver sua macro em ação, exclua a linha Total que você acabou de adicionar e reproduza sua macro, seguindo estas etapas:
-
Na aba Desenvolvedor, selecione Macros.
-
Encontre e selecione a macro AddTotal que você acabou de gravar.
-
Clique no botão Executar.
Se tudo correr bem, a macro reproduz suas ações em um T e dá a sua tabela um total. Agora, aqui está o assunto. Não importa o quão difícil você tente, você não pode fazer a macro AddTotal funcionar na segunda tabela. Por quê? Porque você gravou isso como uma macro absoluta.
Para entender o que isso significa, examine o código subjacente selecionando Macros na guia Desenvolvedor. Aparece a caixa de diálogo Macro.
Selecione a macro AddTotal e clique no botão Editar. O Editor do Visual Basic abre e exibe o código que foi escrito quando você gravou sua macro:
Sub AddTotal () Range ("A16"). Selecione ActiveCell. FormulaR1C1 = intervalo "Total" ("D16"). Selecione ActiveCell. FormulaR1C1 = "= COUNTA (R [-14] C: R [-1] C)" End Sub
Preste especial atenção às duas linhas de código que selecionam o intervalo A16 e o intervalo D16. Como a macro foi gravada no modo de referência absoluta, o Excel interpretou sua seleção de intervalo como referência de célula absoluta. Em outras palavras, não importa onde seu cursor esteja em sua pasta de trabalho, quando você executar a macro gravada, o Excel selecionará a célula A16 e a célula D16.Na próxima seção, olhe para o que a mesma macro se parece quando gravada no modo de referência relativa.
