Valor da célula VBA - obter, definir ou alterar

Este tutorial irá ensiná-lo a interagir com Valores de Célula usando VBA.

Definir o valor da célula

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

Range.Value & Cells.Value

Existem duas maneiras de referenciar célula (s) em VBA:

  • Objeto de alcance - Faixa (“A2”). Valor
  • Objeto de Células - Células (2,1) .Valor

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

Isso definirá o valor do intervalo A2 = 1:

1 Intervalo ("A2"). Valor = 1

O objeto Cells permite que você faça referência a uma célula por seu número de linha e número de coluna.

Isso definirá o valor do intervalo A2 = 1:

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

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

1 Células (Row_num, Col_num)

Definir vários valores de células de uma só vez

Em vez de fazer referência a uma única célula, você pode fazer referência a um intervalo de células e alterar todos os valores das células de uma vez:

1 Intervalo ("A2: A5"). Valor = 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 string de texto. No VBA, todo o texto deve estar entre aspas:

1 Intervalo ("A2"). Valor = "Texto"

Se você não colocar o texto entre aspas, o VBA pensará que você está se referindo 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

1234 Dim strText as StringstrText = "String de Texto"Intervalo ("A2"). Valor = strText

Obter valor da célula

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

Obtenha valor ActiveCell

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

1 MsgBox ActiveCell.Value

Atribuir o valor da célula à variável

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

123 Dim var como variantevar = intervalo ("A1"). Valor

Aqui usamos uma variável do tipo Variant. Variáveis ​​variantes podem aceitar qualquer tipo de valor. Em vez disso, você pode usar um tipo de variável String:

123 Dim var as Stringvar = intervalo ("A1"). Valor

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

Se você sabe que o valor de sua célula será numérico, você pode usar um tipo de variável Double (variáveis ​​Double podem armazenar valores decimais):

123 Dim var as Doublevar = intervalo ("A1"). Valor

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

Outros exemplos de valor de célula

Copiar 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):

1 Intervalo ("A1"). Valor = Intervalo ("B1"). Valor

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

1 Intervalo ("A1: A5"). Valor = Intervalo ("B1: B5"). Valor

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:

1 Intervalo de MsgBox ("A1"). Valor = Intervalo ("B1"). Valor

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

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

12345678910111213 Se Intervalo ("A1"). Valor> Intervalo ("B1"). Valor, entãoIntervalo ("C1"). Valor = "Maior que"Elseif Intervalo ("A1"). Valor = Intervalo ("B1"). Valor DepoisIntervalo ("C1"). Valor = "Igual"OutroIntervalo ("C1"). Valor = "Menor que"Fim se

Você pode comparar o texto da mesma maneira (lembre-se de que o VBA diferencia maiúsculas de minúsculas)

wave wave wave wave wave