Faixa de Variável VBA - Exemplos de intervalo variável no Excel VBA

Variável Excel VBA no intervalo

As variáveis ​​são o coração e a alma de qualquer grande projeto de VBA, já que as variáveis ​​são o coração e a alma, então o tipo de tipo de dados que atribuímos a elas também é um fator muito importante a esse respeito. Em nossos muitos artigos anteriores, discutimos muitas vezes sobre variáveis ​​e sua importância do tipo de dados. Uma dessas variáveis ​​e tipos de dados é “Variável de intervalo” neste artigo dedicado especial. Daremos um guia completo sobre “Variável de alcance” no Excel VBA.

O que é variável de intervalo no Excel VBA?

Como todas as outras variáveis ​​Range no VBA, a variável também é uma variável, mas é uma “Variável de objeto” que usamos para definir a referência do intervalo específico de células.

Como qualquer outra variável, podemos dar qualquer nome à variável, mas o tipo de dados que atribuímos a ela deve ser um “intervalo”. Depois que o tipo de dados é atribuído à variável, ele se torna uma “Variável de objeto” e, ao contrário de outra variável, não podemos começar a usar a variável antes de definirmos a referência de objetos no caso de variáveis ​​de objeto.

Assim, após declararmos a variável, precisamos usar a palavra-chave “SET” para definir a referência do objeto, ou seja, objeto Range neste caso.

Ok, agora veremos alguns dos exemplos de variáveis ​​de intervalo do VBA do Excel de forma prática.

Exemplos de variável de intervalo no Excel VBA

Por exemplo, suponha que você deseja selecionar o intervalo de células de A2 a B10 para a imagem de captura de tela abaixo.

Para selecionar este intervalo de células mencionado, tudo isso enquanto temos o objeto RANGE, e dentro do objeto intervalo, mencionamos o endereço da célula entre aspas duplas.

Código:

Sub Range_Variable_Example () Range ("A2: B10") End Sub

Uma vez que o intervalo de células é mencionado usando o objeto RANGE, se você colocar um ponto, veríamos todas as propriedades e métodos associados a este objeto intervalo.

Código:

Sub Range_Variable_Example () Intervalo ("A2: B10"). End Sub

Como precisamos selecionar as células mencionadas de maneira simples, escolha o método “Selecionar” na lista do IntelliSense.

Código:

Sub Range_Variable_Example () Range ("A2: B10"). Selecione End Sub

Execute o código e ele selecionará as células mencionadas.

Isso é óbvio, não é, mas imagine o cenário de usar o mesmo intervalo no projeto VBA longo, digamos cem vezes, escrever o mesmo código de "Range (" A2: A10 ")" 100 vezes levará algum tempo, mas, em vez disso, declararemos a variável e atribuiremos o tipo de dados como objeto “Range”.

Ok, vamos dar seu próprio nome a uma variável e atribuir o tipo de dados como “Intervalo”.

Além de “Variáveis ​​de objeto”, podemos começar a usar as variáveis ​​por seus nomes, mas no caso de “Variáveis ​​de objeto”, precisamos definir a referência.

Por exemplo, neste caso, nosso objeto variável (Rng) é um intervalo, então precisamos definir a referência para a palavra “Rng” que vai se referir. Para definir a referência, precisamos usar a palavra-chave “Set”.

Agora, a variável “Rng” refere-se ao intervalo de células de A2 a B10. Em vez de escrever “Range (“ A2: B10 ”))” todas as vezes, podemos simplesmente escrever a palavra “Rng.”

Na próxima linha, mencione o nome da variável “Rng” e coloque um ponto para ver a mágica.

Como você pode ver acima, podemos ver todas as propriedades e métodos de objetos de alcance como o anterior.

Torne a variável dinâmica

Agora sabemos como definir a referência para o intervalo de células, mas uma vez que mencionamos o intervalo de células, ele se fixa apenas a essas células. Qualquer adição ou exclusão de células não afetará essas células.

Portanto, encontrar o novo intervalo de células após qualquer adição ou exclusão de células torna a variável dinâmica por natureza. Isso é possível encontrando a última linha e coluna usadas.

Para encontrar a última linha e coluna usadas, precisamos definir mais duas variáveis.

Código:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última linha para compreender Dim LC As Long' LC = Última coluna para compreender End Sub

Agora, o código abaixo encontrará a última linha e coluna usadas antes de definirmos a referência a uma variável de objeto de intervalo.

Código:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última linha para compreender Dim LC As Long' LC = Última coluna para compreender LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column End Sub

Agora abra a declaração de palavra-chave “Set”.

Código:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última linha para compreender Dim LC As Long' LC = Última coluna para compreender LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = End Sub

Ao contrário do método anterior, usamos propriedades VBA CELLS neste momento.

Código:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última linha para compreender Dim LC As Long' LC = Última coluna para compreender LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) End Sub

Mencionei Células (1,1), ou seja, refere-se à primeira célula na planilha ativa, mas precisamos da referência do intervalo de dados, então use a propriedade “REDIMENSIONAR” e mencione as variáveis ​​“última linha e coluna usadas”.

Código:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última linha para compreender Dim LC As Long' LC = Última coluna para compreender LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) End Sub

Agora, isso definirá a referência mais recente para a variável de objeto de intervalo "Rng". A seguir, mencione o nome da variável e use o método “Select”.

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última linha para compreender Dim LC As Long' LC = Última coluna para compreender LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) Rng.Select End Sub

Agora vou adicionar mais algumas linhas aos meus dados.

Eu adicionei três linhas extras de dados. Se eu executar o código agora, ele deve selecionar o intervalo de dados mais recente.

Coisas para lembrar

  • A variável de intervalo no Excel VBA é uma variável de objeto.
  • Sempre que usamos a variável de objeto, precisamos usar a palavra-chave “Set” e definir a referência do objeto para a variável.
  • Sem definir a referência, não podemos usar uma variável de objeto.

Artigos interessantes...