VBA Função Cells – Cells, Worksheet.Cells e Range.Cells

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on June 9, 2023

Este artigo demonstrará como usar a função Cells do VBA.

A função Cells do VBA permite que você faça duas coisas:

  1. Fazer referência a todas as células em uma planilha
  2. Fazer referência a uma célula específica

Isso é semelhante ao objeto Range do VBA.

Sintaxe do VBA Cells

A sintaxe tradicional da função Cells do VBA é:

sintaxe cells VBE

Esse tipo de sintaxe é chamado de sintaxe R1C1, em oposição à sintaxe A1 de uma letra de coluna e, em seguida, um número de linha, que é usada quando se usa o objeto Range no Excel VBA.

Portanto, para selecionar a célula C3, podemos digitar o seguinte código:

Cells(3, 4).Select

isso moverá o ponteiro do Excel para a célula C4 em sua planilha.

Se quisermos usar a função de células para preencher uma célula específica com algum texto e, em seguida, formatar a célula, podemos escrever um código como o do exemplo abaixo:

Sub PreencherCelula()
   Cells(2, 2) = "Analise de Vendas de 2022"
   Cells(2, 2).Font.Bold = True
   Cells(2, 2).Font.Name = "Arial"
   Cells(2, 2).Font.Size = 12
End Sub

Isso preencherá a célula B2 com texto e, em seguida, formatará a célula.

Worksheet.Cells

Se quisermos selecionar a planilha inteira usando a função Cells, podemos digitar o seguinte:

Worksheets("Planilha1").Cells.Select

Isso selecionará todas as células da Planilha 1 da mesma forma que pressionar CTRL + A no teclado faria.

Range.Cells

Também podemos usar a função cells para nos referirmos a uma célula específica em um intervalo de células.

Range("A5:B10").Cells(2, 2).Select

Na verdade, isso fará referência à célula que tem o endereço B6 no intervalo original (A5:B10), pois B6 está na segunda linha e na segunda coluna desse intervalo.

Percorrer um Intervalo com a Função Cells

Agora que entendemos a função Cells, podemos usá-la para executar algumas tarefas em loops do VBA.

Por exemplo, se quisermos formatar um intervalo de células dependendo de seu valor, podemos percorrer o intervalo usando a função Cells.

Sub FormatarCelulas()
   Dim x As Integer
   For x = 1 To 10
      If Cells(x, 1) > 5 Then
         Cells(x, 1).Interior.Color = vbRed
      End If
   Next x
End Sub

Esse código começará na célula A1 e fará um loop até a célula A10, alterando a cor de fundo para vermelho se o valor na célula for maior que 5.

Se quisermos levar isso a outro nível, para percorrer as colunas e as linhas, podemos adicionar mais um loop ao código para aumentar as colunas que os loops examinam.

Sub FormatarCelulas()
   Dim x As Integer
   Dim y As Integer
   For x = 1 To 10
      For y = 1 To 5
         If Cells(x, y) > 5 Then
            Cells(x, y).Interior.Color = vbRed
         End If
      Next y
   Next x
End Sub

Agora o loop começará na célula A5, mas continuará até a célula E10.

Também podemos usar a função Cells para fazer loop em um intervalo específico de células

Sub LoopDentroIntervalo()
   Dim rng As Range
   Dim x As Integer
   Dim y As Integer
   Set rng = Range("B2:D8")
   For x = 1 To 7
      For y = 1 To 3
         If rng.Cells(x, y) > 5 Then
            rng.Cells(x, y).Interior.Color = vbRed
         End If
      Next y
   Next x
End Sub

Esse loop examinaria apenas o intervalo B2:D8 e, em seguida, percorreria as linhas e colunas desse intervalo específico. Lembre-se de que, quando o intervalo é fornecido à função Cells, a função Cells examinará somente esse intervalo e não a planilha inteira.

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA