Activecell Offset VBA

Este tutorial demonstrará como usar o Activecell Offset no VBA.

O ActiveCell é uma propriedade do VBA que representa o endereço da célula ativa em sua planilha. Se o ponteiro do mouse estiver posicionado na célula A1, a propriedade ActiveCell no VBA retornará o endereço da célula “A1”. Existem várias propriedades e métodos que estão conectados ao ActiveCell. Neste artigo, estamos nos concentrando no método ActiveCell.Offset.

Propriedades e métodos ActiveCell.Offset

Activecell.Offset tem várias propriedades e métodos disponíveis para serem programados com o VBA. Para visualizar as propriedades e métodos disponíveis, digite a seguinte instrução em um procedimento conforme mostrado abaixo e pressione a tecla ponto no teclado para ver uma lista suspensa.

Os métodos são representados pelo ícone de método verde e as propriedades pelo ícone de mão pequena. As propriedades e métodos do método Activecell.Offset são iguais aos do método Activecell.

ActiveCell.Offset Syntax

A sintaxe de Activecell.Offset é a seguinte

onde RowOffset e ColumnOffset são o número de linhas a serem compensadas (números positivos para baixo, número negativo para cima) ou o número de colunas que você deseja compensar (números positivos deslocam-se para a direita, número negativo para a esquerda).

ActiveCell.Offset… Selecione

o Activecell.Offset… Selecione método é o método mais comumente usado com o método Activecell.Offset. Ele permite que você vá para outra célula em sua planilha. Você pode usar esse método para mover-se pelas colunas ou para cima ou para baixo nas linhas da planilha.

Para descer uma linha, mas permanecer na mesma coluna:

1 Activecell.Offset (1,0) .Selecionar

Para mover em uma coluna, mas permanecer na mesma linha:

1 Activecell.Offset (0,1) .Selecionar

Para descer uma linha e atravessar uma coluna:

1 Activecell.Offset (1,1) .Selecionar

Para subir uma linha:

1 Activecell.Offset (-1,0) .Selecionar

Para mover uma coluna para a esquerda:

1 Activecell.Offset (0, -1) .Selecionar

No procedimento abaixo, estamos percorrendo um intervalo de células e descendo uma linha e uma coluna à medida que fazemos o loop:

12345678 Sub ActiveCellTest ()Dim x As IntegerIntervalo ("A1"). SelecionePara x = 1 a 10ActiveCell = xActiveCell.Offset (1, 1) .SelecionarPróximo xEnd Sub

O resultado disso é mostrado no gráfico abaixo:

O Loop coloca o valor de i (1-10) no Célula ativa, e então usa o Activecell.Offset para mover para baixo uma linha, e através de uma coluna para a direita - repetindo este loop 10 vezes.

Programação VBA | O Code Generator funciona para você!

Usando Range Object com Activecell.Offset Select

Usar o objeto Range com a célula ativa às vezes pode confundir algumas pessoas.

Considere o seguinte procedimento:

1234 Sub ActiveCellOffsetRange ()Intervalo ("B1: B10"). SelecioneActiveCell.Offset (1, 1) .Range ("A1"). SelecioneEnd Sub

Com o ActiveCell.Offset (1,1.Range (“A1”), o intervalo (“A1”) foi especificado. No entanto, isso não significa que a célula A1 na planilha será selecionada. Como especificamos o intervalo ("B1: B10"), a célula A1 nesse intervalo é, na verdade, a célula B1 na pasta de trabalho. Portanto, a célula será deslocada em 1 linha e 1 coluna de célula B1 NÃO da célula A1.

Portanto, o intervalo (“A1 ′) neste caso não é necessário, pois a macro funcionará da mesma maneira com ele ou sem ele.

Alternativas para ActiveCell

Em vez de usar o Activecell com o método Offset, também podemos usar o objeto Range com o método Offset.

123 Sub RangeOffset ()Intervalo ("B1"). Offset (0, 1) .SelecioneEnd Sub

O procedimento acima selecionaria a célula C1 na planilha.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave