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.