Gravação de macros do excel com referências relativas

Video: Curso de VBA - Aula 10 - Referências relativas e absolutas

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

Primeiro, 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 referências relativas.
    Gravando uma macro com referências relativas.
  2. Certifique-se a célula A1 é 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. Seleccione célula A16 e tipo total na célula.

  8. Seleccionar a primeira célula vazia na Coluna D (D16) e Tipo = CONT.VALORES (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-criado selecionando Macros no guia do desenvolvedor para abrir a caixa de diálogo Macro. Escolha o macro AddTotalRelative e clique em Editar.

Mais uma vez, Editor 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 "= CONT.VALORES (R [-14] C: R [-1] C)"End Sub


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

Video: Macros en Excel - Como utilizar Referencias Relativas y Referencias Absolutas

Neste caso, o código de propriedade offset 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, Excel não vai selecionar explicitamente uma célula em particular como 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 que esta macro, ao contrário de seu macro anterior, funciona em ambos os conjuntos de dados. Porque a macro aplica os totais em relação à célula actualmente activo, os totais são aplicadas correctamente.

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.


Publicações relacionadas