VBA Valor da Célula – Obter, Definir ou Alterar

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on March 29, 2023

Este tutorial lhe ensinará como interagir com Valores das Células usando VBA.

Definir Valor da Célula

Para definir o Valor da Célula, use a propriedade de Value do objeto Range ou Cells.

Range.Value & Cells.Value

Há duas maneiras de se referenciar a(s) célula(s) em VBA:

  • Objeto Range – Range (“A2”).Value
  • Objeto Cells – Cells(2,1).Value

O objeto Range permite fazer referência a uma célula usando a notação padrão “A1”.

Isto definirá o valor da célula A2 = 1:

Range("A2").Value = 1

O objeto Cells permite referenciar uma célula pelo seu número de linha e número de coluna.

Isto definirá o valor da célula A2 = 1:

Cells(2,1).Value = 1

Observe que você informa primeiro o número da linha:

Cells(Num_linha, Num_coluna)

Definir Valores de Múltiplas Células ao mesmo tempo

Em vez de referenciar uma única célula, você pode referenciar um intervalo de células e alterar todos os valores de célula de uma só vez:

Range("A2:A5").Value = 1

Definir Valor da Célula – Texto

Nos exemplos acima, definimos o valor da célula igual a um número (1). Em vez disso, você pode definir o valor da célula igual a uma sequência de texto. Em VBA, todo o texto deve ser informado entre aspas:

Range("A2").Value = "Texto"

Se você informar o texto entre aspas, o VBA pensará que você se refere a uma variável.

Definir Valor da Célula – Variável

Você também pode definir um valor de célula igual a uma variável

Dim strTexto as String
strTexto = "Sequencia de Texto"

Range("A2").Value = strTexto

Obter o Valor da célula

Você pode obter valores de células usando a mesma propriedade Value que usamos acima.

Obter o Valor ActiveCell

Para obter o valor ActiveCell e exibi-lo em uma caixa de mensagens:

MsgBox ActiveCell.Value

Atribuir Valor de uma Célula à Variável

Para obter um valor de célula e atribuí-lo a uma variável:

Dim var as Variant

var = Range("A1").Value

Aqui usamos uma variável do tipo Variant. As variáveis do tipo Variant podem aceitar qualquer tipo de valor. Em vez disso, você poderia usar uma variável do tipo String:

Dim var as String

var = Range("A1").Value

Um tipo de variável String aceitará valores numéricos, mas armazenará os números como texto.

Se você souber que o valor de sua célula será numérico, você poderá usar uma variável do tipo Double (variáveis do tipo Double podem armazenar valores decimais):

Dim var as Double

var = Range("A1").Value

No entanto, se você tentar armazenar um valor de célula contendo texto em uma variável dupla, você receberá um erro de tipos incompatíveis:

 

Outros Exemplos de Valores de Células

Copiar o Valor da Célula

É fácil definir um valor de célula igual a outro valor de célula (ou “Copiar” um valor de célula):

Range("A1").Value = Range("B1").Value

Você pode até mesmo fazer isso com intervalos de células (os intervalos devem ser do mesmo tamanho):

Range("A1:A5").Value = Range("B1:B5").Value

Comparar Valores de Células

Você pode comparar os valores das células usando os operadores de comparação padrão.

Teste se os valores das células são iguais:

MsgBox Range("A1").Value = Range("B1").Value

Retornará VERDADEIRO se os valores das células forem iguais. Caso contrário, FALSO.

Você também pode criar uma função Se para comparar os valores das células:

If Range("A1").Value > Range("B1").Value Then

  Range("C1").Value = "Maior do que"

Elseif Range("A1").Value = Range("B1").Value Then

  Range("C1").Value = "Igual"

Else

  Range("C1").Value = "Menor do que"

End If

Você pode comparar textos da mesma maneira (Lembre-se que VBA é sensível a maiúsculas e minúsculas)

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