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 VBAExemplo # 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.