VBA Set Range

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 tem 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 pode ser usado 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 referir a qual pasta de trabalho estamos nos referindo e na pasta de trabalho, estamos nos referindo a qual planilha estamos nos referindo e, em seguida, na planilha, precisamos mencionar o intervalo de células.

Usando Range of cells, 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?

Você pode baixar este modelo VBA Set Range Excel aqui - VBA Set Range Excel Template

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, primeiro veremos 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 pergunta 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 

Uma vez 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 Intervalo_Exemplos () Intervalo ("A1"). Valor 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 de execução 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 duplas, 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 range, depois de colocar um ponto, não conseguimos ver a lista de 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 é que usando 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 como 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 da 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 qualquer 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 é uma beleza porque se eu selecionar qualquer uma das células e executá-lo, 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.