Como gravar macros no modo relativo e modo absoluto no excel 2016

Ao gravar suas ações, Excel normalmente registra referências absolutas às células. (Este é o modo de gravação padrão.) Mas, muitas vezes, esta é a errado

modo de gravação. Se você usar o modo de gravação absoluta, Excel grava referências de células reais. Se você usar a gravação relativa, registros do Excel relativo referências a células. Continue lendo para ver a diferença.

Gravar no modo absoluto

Siga estes passos para gravar uma macro simples no modo absoluto. Esta macro simplesmente insere três nomes de meses em uma planilha:

  1. Certifique-se de que o desenvolvedor → Código → Use o botão referências relativas é não realçado e, em seguida, escolher desenvolvedor → Código → Gravar Macro.

  2. Digite Absoluto como o nome para esta macro.

  3. Clique em OK para iniciar a gravação.

  4. Ative a célula B1 e digite Jan naquela célula.

  5. Mover a célula C1, e escreva fevereiro

  6. Mover para a célula D1, e escreva marco

  7. Clique na célula B1 para ativá-lo novamente.

    Video: #03 - Curso de Macros e Excel VBA - Referência Relativa

  8. Pare o gravador de macro.

    Video: Microsoft Excel - Gravar Macros de Referência Relativa e Absoluta

  9. Pressione Alt + F11 para ativar o VBE.

  10. Examine o módulo Module1.

    Excel gera o seguinte código:

    Sub Absoluto () `` absoluto Macro`Range ( “B1”). SelectActiveCell.FormulaR1C1 = “Janeiro” Gama ( “C1”). SelectActiveCell.FormulaR1C1 = “Fevereiro” Gama ( “D1”). SelectActiveCell.FormulaR1C1 = “Março “Range (‘B1’). SelectEnd Sub

    Quando executado, este macro seleciona a célula B1 e insere os três nomes dos meses para o intervalo B1: D1. Em seguida, a macro reativa célula B1.

Estas mesmas ações ocorrem independentemente de qual célula está ativa quando você executar a macro. A macro gravada usando referências absolutas sempre produz os mesmos resultados quando ele é executado. Neste caso, a macro sempre entra os nomes dos três primeiros meses do intervalo B1: D1 na planilha ativa.

Gravação em modo relativo

Em alguns casos, você quer a sua macro gravada para trabalhar com locais de pilha em uma relativo maneira. Você pode querer a macro para começar a inserir os nomes dos meses na célula ativa. Nesse caso, você precisa usar a gravação relativa.

Você pode alterar a maneira pela qual Excel registra suas ações, clicando no botão Usar referências relativas no grupo Código do separador Developer. Este botão é um botão de alternância. Quando o botão aparece realçado em uma cor diferente, o modo de gravação é relativo. Quando o botão aparece normalmente, você está gravando em modo absoluto.



Você pode alterar o método de gravação a qualquer momento, mesmo no meio da gravação.

Para ver como parente modo de trabalhos de gravação, apague o conteúdo do intervalo B1: D1 e, em seguida, execute os seguintes passos:

Ative a célula B1.

  • Escolha desenvolvedor → Código → Gravar Macro.

  • Nome este Relativa macro.

  • Clique em OK para iniciar a gravação.

  • Clique no botão Usar referências relativas para mudar o modo de gravação para relativo.

    Quando você clica nesse botão, ele muda para uma cor diferente do resto da fita.

  • Digite Janeiro na célula B1.

    Video: Curso de Excel Criar gravar macros VBA Visual Basic Application Avançado Referênci relativa absoluta

  • Mover a célula C1, e escreva fevereiro

  • Mover para a célula D1, e escreva marco

  • Selecione a célula B1.

  • Pare o gravador de macro.

  • Note-se que este procedimento é ligeiramente diferente do exemplo anterior. Neste exemplo, você ativar a célula começando antes de começar a gravar. Este é um passo importante quando você gravar macros que usam a célula ativa como base.

    Esta macro sempre começa a digitação de texto na célula ativa. Tente. Movimentar o ponteiro de pilha para qualquer célula e, em seguida, executar a macro Relativa. Os nomes dos meses são sempre entrou começando na célula ativa.

    Com o modo de gravação definido para parente, o código que Excel gera é bastante diferente do código gerado no modo absoluto:

    Sub Relativa () `` Relativa Macro`ActiveCell.FormulaR1C1 = “Janeiro” ActiveCell.Offset (0, 1) .Range ( “A1”). SelectActiveCell.FormulaR1C1 = “Fevereiro” ActiveCell.Offset (0, 1) .Range ( “A1”). SelectActiveCell.FormulaR1C1 = “mar” ActiveCell.Offset (0, -2) .Range ( “A1”). SelectEnd Sub

    Para testar esta macro, activar qualquer célula, exceto B1. Os nomes dos meses são inseridos em três células, começando com a célula que você ativado.

    Notar que o código gerado pelo gravador de macro refere-se a célula A1. Isso pode parecer estranho, porque você nunca usou a célula A1 durante a gravação da macro. Isto é simplesmente um subproduto da forma como o gravador de macro funciona.


    Publicações relacionadas