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:
Na guia Developer, selecione a opção Usar referências relativas.
Gravando uma macro com relativo # 173 referências.Certifique-se a célula A1 está selecionada.
Na guia Desenvolvedor, selecione Macro Record.
Nomeie o AddTotalRelative macro.
Escolha este livro para o local de salvamento.
Clique em OK para iniciar a gravação.
Escolha célula A16 e tipo total na célula.
Selecione a primeira célula vazia na coluna D (D16) e type = COUNTA (D2: D15).
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:
Seleccione a célula A1.
Na guia Desenvolvedor, selecione Macros.
Localize e selecione a macro AddTotalRelative.
Clique no botão Executar.
Selecionar célula F1.
Na guia Desenvolvedor, selecione Macros.
Localize e selecione a macro AddTotalRelative.
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.