Propriedade de valor VBA

Propriedade de valor VBA do Excel

Valor é uma propriedade em VBA que é usada principalmente com o método de intervalo para atribuir um valor a um intervalo específico, é uma expressão embutida em VBA, por exemplo, se usarmos intervalo ("B3"). Valor = 3, isso atribuirá célula B3 um valor de 3, não necessariamente essa propriedade de valor deve ser usada apenas com o método de intervalo, podemos usá-lo com outras funções também.

No início de nosso aprendizado com o VBA, estamos muito curiosos para aprender como armazenar os dados nas células. Se você está curioso, então você precisa entender a propriedade “Value”. Neste artigo, explicaremos a você sobre a propriedade “Value”, como inserir ou definir valores, como obter valor da célula e muitas outras coisas.

Em um dos artigos anteriores, discutimos “Células de alcance VBA”. O objeto Range pode nos ajudar a referir-nos a uma única célula, bem como a várias células. Para usar o objeto RANGE, primeiro precisamos decidir em qual célula precisamos inserir o valor e qual é o valor que vamos inserir.

Como usar Value Property no VBA?

Você pode baixar este modelo Excel de função de valor VBA aqui - Modelo Excel de função de valor VBA

Exemplo # 1 - Objeto de intervalo para atribuir valores a células

  • Por exemplo, se você deseja inserir um valor para a célula A1, você deve referir-se à célula A1 como este intervalo (“A1”)

Código:

 Sub Value () Range ("A1") End Sub 

  • Depois de fazer referência à célula usando o objeto RANGE, agora coloque um ponto (.) Para ver a lista do IntelliSense de todas as propriedades e métodos associados a este objeto.

Código:

Intervalo de subvalores () ("A1"). End Sub

  • Desta variedade de opções selecione a propriedade “VALOR”.

Código:

 Intervalo de subvalores () ("A1"). Valor End Sub 

  • Depois de selecionar a propriedade “VALUE”, precisamos definir o valor para a célula A1 colocando o valor em sinal de igual.

Código:

 Intervalo de subvalores () ("A1"). Valor = "Bem-vindo ao VBA" End Sub 

  • Ok, isso irá inserir o valor “Bem-vindo ao VBA” na célula A1.

  • Se você deseja inserir o mesmo valor em várias células, consulte as células como o código abaixo.

Código:

 Intervalo de subvalores () ("A1: A5"). Valor = "Bem-vindo ao VBA" End Sub 
  • Isso irá inserir o valor da célula A1 a A5 .

  • Se você quiser inserir valores em células diferentes, mas não em séries da célula, então precisamos usar o código e o endereço da célula em argumentos separados como o abaixo.

Código:

 Intervalo de subvalores () ("A1, A5, B4, C2"). Valor = "Bem-vindo ao VBA" End Sub 
  • Isso irá inserir o texto “Bem-vindo ao VBA” nas células A1, A5, B4 e C2 .

Exemplo 2 - Inserir valor usando a propriedade CELLS

Não através do objeto RANGE, mas também usando a propriedade VBA CELLS podemos inserir valores. Mas um dos problemas com o objeto CELLS é que não obtemos acesso à lista do IntelliSense como obtivemos para o objeto RANGE.

Aqui, precisamos mencionar os números de linha e coluna de que precisamos inserir o valor. Por exemplo, se você deseja inserir o valor na célula A1, o código é CELLS (1,1), se você deseja inserir o valor na célula B5, o código é CELLS (5,2), ou seja, igual a B5 célula.

Não podemos inserir valores em várias células usando a propriedade CELLS, isso é diferente de nosso objeto RANGE.

Exemplo # 3 - Obtenha o valor da célula

Vimos como inserir valores nas células, agora veremos como obter valores das células.

Etapa 1: Definir uma variável como String.

Código:

 Subvalor () Dim K As String End Sub 

Passo 2: Para esta variável “k” iremos atribuir o valor da célula A1. Na célula A1, inseri o valor “Bem-vindo ao VBA”.

Portanto, o código será k = Range (“A1”). Valor

Código:

 Subvalor () Dim K As String K = Intervalo ("A1"). Valor End Sub 

Passo 3: Mostre o resultado da variável “k” na caixa de mensagem do VBA.

Código:

 Sub Value () Dim K As String K = Range ("A1"). Value MsgBox K End Sub 

Ao executar o código, devemos obter o resultado do valor da célula A1 na caixa de mensagem.

Também podemos usar o objeto RANGE para obter os dados da célula A1, o código abaixo mostrará o mesmo.

Código:

 Sub Value () Dim K As String Definir CellValue = Range ("A1") MsgBox CellValue End Sub 

Isso também deve obter o valor da célula A1 na caixa de mensagem.

Exemplo 4 - Valor de erro se mais de um valor de célula exigir

Para obter um exemplo, veja o código abaixo.

Código:

 Sub Value () Dim K As Range Set CellValue = Range ("A1: A5") MsgBox CellValue End Sub 

Se você executar o código acima, obteremos o erro “Type Mismatch”.

A razão pela qual obtemos este erro é que quando a variável de objeto definida para mais de uma propriedade de “valor” de célula não entende realmente qual valor de célula deve ser fornecido, então pode obter um único valor de célula por vez.