Gravação Excel macros com referências relativas

UMA referência relativa em uma macro Excel significa em relação à célula ativa no momento. Por isso tome cuidado com sua escolha célula ativa - tanto quando gravar a macro referência relativa e quando você executá-lo.

Em primeiro lugar, Sample aberta File.xlsx disponíveis conectados. Em seguida, use os seguintes passos para gravar uma macro referência relativa:

  1. Na guia Developer, selecione a opção Usar referências relativas.

    Gravando uma macro com 173 referências relativas & #.
    Gravando uma macro com relativo # 173 referências.
  2. Certifique-se a célula A1 está selecionada.

  3. Na guia Desenvolvedor, selecione Macro Record.

  4. Nomeie o AddTotalRelative macro.

  5. Escolha este livro para o local de salvamento.

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

  7. Escolha célula A16 e tipo total na célula.

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

  9. Na guia Developer, clique em Parar gravação para parar a gravação da macro.

Neste ponto, você gravou duas macros. Tome um momento para examinar o código para sua macro recém-criada, selecionando Macros no separador Developer para abrir a caixa de diálogo macro. Escolha a macro AddTotalRelative e clique em Editar.

Mais uma vez, o Editor do Visual Basic abre e mostra o código que foi escrito quando você gravou o seu macro. Desta vez, o código é algo como o seguinte:

Sub AddTotalRelative () ActiveCell.Offset (15, 0) .Range ( "A1"). SelectActiveCell.FormulaR1C1 = "Total" ActiveCell.Offset (0, 3) .Range ( "A1"). SelectActiveCell.FormulaR1C1 = "= COUNTA (R [-14] C: R [-1] C) "End Sub

Primeira nota que o código não contém referências a intervalos de células específicas (excepto o ponto de partida, A1). Note que neste macro, o Excel usa a propriedade Deslocamento da célula ativa. Esta propriedade diz o cursor se mova de um certo número de células para cima ou para baixo, e um certo número de células para a esquerda ou direita.

Neste caso, o código de propriedade desvio informa ao Excel para mover 15 linhas para baixo e 0 colunas através da célula ativa (A1). Porque a macro foi gravada usando referência relativa, o Excel não irá selecionar explicitamente uma célula em particular como o fez quando gravar uma macro de referência absoluta.

Para ver esta macro em ação, exclua a linha Total para ambas as tabelas e faça o seguinte:

  1. Seleccione a célula A1.

  2. Na guia Desenvolvedor, selecione Macros.

  3. Localize e selecione a macro AddTotalRelative.

  4. Clique no botão Executar.

  5. Selecionar célula F1.

  6. Na guia Desenvolvedor, selecione Macros.

  7. Localize e selecione a macro AddTotalRelative.

  8. Clique no botão Executar.

Note-se que esta macro, ao contrário de seu macro anterior, funciona em ambos os conjuntos de dados. Porque a macro aplica os totais relativos à célula actualmente activa, os totais são aplicadas corretamente.

Por esta macro para trabalhar, você simplesmente precisa para garantir que

  • Você selecionou a célula inicial correto antes de executar a macro.

  • O bloco de dados tem o mesmo número de linhas e colunas como os dados em que você gravou a macro.

menu