Células VBA Excel - Como usar a propriedade de referência de célula com objeto de intervalo?

As células são na verdade células da planilha e no VBA quando nos referimos às células como uma propriedade de intervalo, estamos na verdade nos referindo às células exatas, em outras palavras, a célula é usada com a propriedade de intervalo e o método de usar a propriedade de células é o seguinte Range ( .Células (1,1)) agora células (1,1) significa que a célula A1 o primeiro argumento é para a linha e o segundo é para a referência da coluna.

Referências de células VBA

Você não precisa de nenhuma introdução especial sobre o que é uma célula VBA. Nos conceitos do VBA, as células também são iguais, não diferentes das células normais do Excel. Siga este artigo para ter mais conhecimento do conceito de células VBA.

O que é VBA Range e VBA Cell?

Tenho certeza de que essa é a pergunta que está passando em sua mente agora. No VBA, Range é um objeto, mas Cell é uma propriedade em uma planilha do Excel. No VBA, temos duas maneiras de referenciar um objeto de célula, uma por meio de intervalo e outra por meio de células.

Por exemplo, se quiser fazer referência à célula C5, você pode usar dois métodos para fazer referência à célula C5.

Usando o método de intervalo: intervalo (“C5”)

Método de Uso de Células: Células (5, 3)

Da mesma forma, se você deseja inserir o valor “Hi” na célula C5, pode usar o código abaixo.

Usando o método de intervalo: intervalo (“C5”). Valor = “Hi”

Método de uso de células: Células (5, 3) .Value = “Hi”

Agora, se você quiser selecionar várias células, só podemos selecionar por meio do objeto Range. Por exemplo, se eu quiser selecionar células de A1 a A10, abaixo está o código.

Código: Faixa (“A1: A10”). Selecione

Mas, infelizmente, só podemos fazer referência a uma célula por vez usando a propriedade CELLS. Podemos usar Cells com um objeto Range como o abaixo.

Intervalo (“A1: C10”). Células (5,2) significam no intervalo A1 a C10 quinta linha e segunda coluna, ou seja, célula B5.

A Fórmula da Propriedade CÉLULAS em VBA

Dê uma olhada na fórmula da propriedade CELLS.

  • Índice de linha: nada além de qual linha estamos fazendo referência.
  • Índice de coluna: Isso nada mais é que a coluna que estamos fazendo referência.
  • Células (1, 1) significa célula A1, Célula (2, 1) significa célula A2, Célula (1, 2) significa célula B1.
  • Células (2, 2) significa célula B2, Célula (10, 3) significa célula C10, Célula (15, 5) significa célula E15.

# 1 - Como usar a propriedade CELLS no VBA?

Agora vou ensinar a você como usar essas propriedades CELLS no VBA.

Suponha que você esteja trabalhando no nome da planilha denominado Data 1 e deseja inserir um valor “Hello” na célula A1.

O código abaixo faria isso por você.

Sub Cells_Example () Cells (1, 1) .Value = "Hello" End Sub

Resultado:

Agora irei para o nome da planilha chamada Data 2 e executarei o código. Mesmo assim, ele inserirá a palavra “Olá”.

Na verdade, podemos combinar a propriedade CELLS também com um nome de folha específico. Para se referir a uma determinada planilha, use o objeto WORKSHEET.

Planilhas (“Dados 1”). Células (1,1) .Valor = “Olá”

Isso irá inserir a palavra “Olá” na planilha “Dados 1”, independentemente da planilha em que você estiver.

# 2 - Como usar a propriedade CELLS com objeto Range?

Na verdade, podemos usar a propriedade CELLS com um objeto RANGE. Por exemplo, observe o código abaixo.

Intervalo ("C2: E8"). Células (1, 1). Selecione

Para melhor compreensão, inseri alguns números na planilha do excel.

O intervalo de código acima ("C2: E8"). Células (1, 1) .Select diz que no intervalo C2 a E8 selecione a primeira célula. Execute este código e veja o que acontece.

Sub Células_Exemplo () Intervalo ("C2: E8"). Células (1, 1) .Selecionar End Sub

Selecionou a célula C2. Mas Células (1, 1) significa célula A1, não é?

A razão pela qual ele selecionou a célula C2 é que usando o objeto de intervalo, insistimos no intervalo de C2 a E8, então a propriedade Cells trata do intervalo de C2 a E8, não da célula regular A1. Neste exemplo, C2 é a primeira linha e a primeira coluna, então Células (1, 1) .select significa célula C2.

Agora vou mudar o código para Range (“C2: E8”). Células (3, 2) .Selecione e veja o que acontece.

Execute este código e verifique qual célula ele realmente selecionará.

Sub Células_Exemplo () Intervalo ("C2: E8"). Células (3, 2) .Selecionar End Sub

Selecionou a célula D4, ou seja, nº 26. Células (3,2) significam começar da célula C2 movida 3 linhas para baixo e 2 colunas para a direita, ou seja, célula D4.

# 3 - Propriedade de células com loops

A propriedade CELLS com loops tem um relacionamento muito bom no VBA. Vejamos o exemplo de inserção de números de série de 1 a 10 usando FOR LOOP. Copie e cole o código abaixo no seu módulo.

Sub Células_Exemplo () Dim i As Integer For i = 1 To 10 Cells (i, 1) .Value = i Next i End Sub

Aqui, declarei a variável I como um inteiro.

Em seguida, apliquei FOR LOOP com I = 1 a 10, ou seja, e o loop precisa ser executado 10 vezes.

Células (i, 1). Valor = i

Isso significa que quando o loop é executado pela primeira vez, o valor de “I” será 1, então, sempre que o valor de “I” for 1, ou seja, Cell (1,1) .value = 1

Quando o loop retorna o valor de “I” pela segunda vez, ele é 2, portanto, onde quer que o valor de “I” seja, ele é 2. ou seja, Cell (2,1) .valor = 2

Este loop será executado por 10 vezes e inserirá o valor I de A1 a A10.

Coisas para lembrar em células VBA

  • CELLS é propriedade, mas RANGE é um objeto. Podemos usar propriedade com objetos, mas não objeto para a propriedade.
  • Quando o intervalo é fornecido, as células consideram apenas esse intervalo, não o intervalo regular.
  • As células (1, 2) são células B1, da mesma forma as células (1, "B") também são células B1.

Artigos interessantes...