Definir intervalo no Excel VBA
Definir intervalo em vba significa que especificamos um determinado intervalo para o código ou procedimento a ser executado, se não fornecermos um intervalo específico para um código, ele assumirá automaticamente o intervalo da planilha que contém a célula ativa, por isso é muito importante em o código para ter a variável de intervalo definida.
Depois de trabalhar tantos anos com o Excel, você deve ter entendido o fato de que todos os trabalhos que fazemos estão na planilha, e nas planilhas, são as células que contêm os dados. Portanto, quando você quiser brincar com os dados, deve ser um padrão de comportamento das células nas planilhas. Portanto, quando as várias células estão juntas, torna-se um RANGE. Para aprender VBA, você deve saber tudo sobre células e intervalos. Portanto, neste artigo, mostraremos como definir o intervalo de células que podem ser usadas para codificação VBA em detalhes.

Qual é o objeto Range?
O intervalo no VBA é conhecido como um objeto. Um intervalo pode conter uma única célula, várias células, uma linha ou coluna, etc. …
No VBA, podemos classificar o intervalo conforme abaixo.
“Aplicação >>> Pasta de trabalho >>> Planilha >>> Faixa”
Primeiro, precisamos acessar o aplicativo. Então, sob isso, precisamos nos referir a qual pasta de trabalho estamos nos referindo e, na pasta de trabalho, estamos nos referindo a qual planilha estamos nos referindo e, então, na planilha, precisamos mencionar o intervalo de células.
Usando o intervalo de células, podemos inserir o valor para a célula ou células, podemos ler ou obter valores da célula ou células, podemos excluir, podemos formatar e podemos fazer muitas outras coisas também.
Como acessar o intervalo de células no Excel VBA?
Na codificação VBA, podemos nos referir à célula usando a propriedade VBA CELLS e o objeto RANGE. Por exemplo, se você quiser se referir à célula A1, então primeiro, veremos usando o objeto RANGE.
Dentro do subprocedimento, precisamos primeiro abrir o objeto RANGE.
Código:
Sub Range_Examples () Range (End Sub

Como você pode ver acima, o objeto RANGE perguntando a qual célula estamos nos referindo. Portanto, precisamos inserir o endereço da célula entre aspas.
Código:
Sub Range_Examples () Range ("A1") End Sub

Depois que o endereço da célula é fornecido, precisamos decidir o que fazer com esta célula usando propriedades e métodos. Agora coloque um ponto para ver as propriedades e métodos do objeto RANGE.

Se quisermos inserir o valor na célula, devemos escolher a propriedade “Value”.
Código:
Sub Range_Examples () Range ("A1"). Value End Sub

Para definir o valor, precisamos colocar um sinal de igual e inserir o valor que queremos inserir na célula A1.
Código:
Sub Range_Examples () Range ("A1"). Value = "Excel VBA Class" End Sub

Execute o código por meio da opção run e veja a mágica na célula A1.

Conforme mencionado no código, temos o valor na célula A1.
Da mesma forma, podemos nos referir à célula usando a propriedade CELLS também. Abra a propriedade CELLS e veja a sintaxe.

Isso é diferente do objeto RANGE, onde podemos inserir o endereço da célula diretamente entre aspas. Em vez disso, precisamos fornecer o número da linha e a coluna para nos referirmos à célula. Como estamos nos referindo à célula A1, podemos dizer que a linha é 1 e a coluna é 1.

Depois de mencionar o endereço da célula, podemos usar propriedades e métodos para trabalhar com as células. Mas o problema aqui é diferente do objeto de alcance após colocar o ponto. Não conseguimos ver a lista do IntelliSense.

Portanto, você precisa ser um especialista para se referir às células usando a propriedade CELLS.
Código:
Sub CELLS_Examples () Cells (1, 1) .Value = "Excel VBA Class" End Sub

Acesso a células múltiplas e referência de intervalo de configuração em VBA
Uma das grandes diferenças entre CELLS e RANGE é o uso de CELLS. Podemos acessar apenas uma célula, mas usando RANGE. Podemos acessar várias células também.
Por exemplo, para as células A1 a B5, se quisermos o valor de 50, podemos escrever o código conforme abaixo.
Código:
Sub Range_Examples () Range ("A1: B5"). Value = 50 End Sub

Isso irá inserir o valor de 50 da célula A1 para B5.

Em vez de nos referirmos às células diretamente, podemos usar a variável para manter a referência de células especificadas.
Primeiro, defina a variável como o objeto “Range”.
Código:
Sub Range_Examples () Dim Rng As Range End Sub

Uma vez que a variável é definida como o objeto “Range”, precisamos definir a referência para esta variável sobre quais são os endereços das células que conterão a referência.
Para definir a referência, precisamos usar a palavra-chave “SET” e inserir os endereços das células usando o objeto RANGE.
Código:
Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") End Sub

Agora, a variável “Rng” se refere às células A1 a B5.
Em vez de escrever o intervalo do endereço de célula (“A1: B5”), podemos simplesmente usar o nome da variável “Rng”.
Código:
Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") Rng.Value = "Range Setting" End Sub

Agora, isso irá inserir o valor mencionado da célula A1 para a célula B5.

Suponha que você deseja que a célula selecionada seja uma referência, então podemos definir a referência da seguinte maneira.
Código:
Sub Range_Examples () Dim Rng As Range Set Rng = Selection Rng.Value = "Configuração de intervalo" End Sub

Isso é maravilhoso porque se eu selecionar qualquer uma das células e executar, o valor será inserido nessas células também.
Por exemplo, selecionarei certas células.

Agora vou executar o código e ver o que acontece.

Para todas as células selecionadas, ele inseriu o valor.
Assim, podemos definir a referência de intervalo declarando variáveis em VBA.
Coisas para lembrar
- O intervalo pode selecionar várias células, mas CELLS pode selecionar uma célula por vez.
- RANGE é um objeto e CELLS é uma propriedade.
- Qualquer variável de objeto deve ser definida como a referência do objeto usando a palavra-chave SET.