Gravação Excel macros com referências absolutas

modo de gravação padrão do Excel é referência absoluta. Quando uma célula de referência em uma fórmula é um referência absoluta, que não se ajusta automaticamente quando a fórmula é colada para um novo local.

A melhor maneira de entender como esse conceito se aplica a macros é para testá-lo. Gravar uma macro que conta as linhas em uma planilha. (Veja a figura para um exemplo.)

Sua planilha pretotaled com dois quadros.
Sua planilha pretotaled com dois quadros.

Você pode encontrar o conjunto de dados de amostra usada aqui conectados.

Siga estes passos para gravar a macro:

  1. Certifique-se a célula A1 está selecionada.

  2. Na guia Desenvolvedor, selecione Macro Record.

  3. Nomeie o AddTotal macro.

  4. Escolha este livro para o local de salvamento.

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

    Neste ponto, o Excel está gravando suas ações.

  6. Enquanto Excel está a gravar, selecione célula A16 e tipo total na célula.

  7. Selecione a primeira célula vazia na coluna D (D16) e type = COUNTA (D2: D15).

    Esta fórmula dá uma contagem de números de agência na parte inferior da coluna D. Você usar a função COUNTA porque os números de agência são armazenados como texto.

  8. Clique em Parar gravação na guia do desenvolvedor para interromper a gravação da macro.

    Seu somaram-post planilha.
    Seu somaram-post planilha.

A planilha formatada deverá ser parecido com algo como o mostrado aqui.

Para ver a sua macro na ação, exclua a linha Total você acabou de adicionar e reproduzir sua macro, seguindo estes passos:

  1. Na guia Desenvolvedor, selecione Macros.

  2. Localize e selecione a macro AddTotal que acabou de gravar.

  3. Clique no botão Executar.

Se tudo correr bem, a macro reproduz suas ações a um T e dá sua mesa um total. Agora aqui é a coisa. Não importa o quão duro você tente, você não pode fazer o trabalho macro AddTotal na segunda tabela. Por quê? Porque o gravou como uma macro absoluta.

Para entender o que isso significa, examinar o código subjacente ao selecionar Macros no separador Developer. A caixa de diálogo Macro aparece.

A caixa 173 de diálogo Macro & # Excel.
O Macro Excel caixa de 173-dialog #.

Seleccione a macro AddTotal e clique no botão Editar. Editor do Visual Basic abre e exibe o código que foi escrito quando você gravou sua macro:

Sub AddTotal () Range ( "A16") SelectActiveCell.FormulaR1C1 = Range "Total" ( "D16") SelectActiveCell.FormulaR1C1 = "= COUNTA (R [-14] C: R [-1] C)".. End Sub

Preste especial atenção para as duas linhas de código que selecionam A16 alcance e D16 intervalo. Porque a macro foi gravado no modo de referência absoluto, Excel interpretado sua seleção gama de referências de células absolutas. Em outras palavras, não importa onde o cursor está na sua pasta de trabalho, quando você executa a macro gravada, Excel irá selecionar célula A16 e depois célula D16. Na próxima seção, você dê uma olhada no que a mesma macro parece quando gravado no modo de referência relativa.

menu