Função Val do VBA

VBA Val significa Valor. Ele converte as matrizes ou cadeias que possuem alguns números em valores numéricos puros. Suponha que se dermos “111 Um” como entrada, obteremos apenas “111” como saída numérica. Isso é bastante útil ao trabalhar com dados que extraímos de algum tipo de banco de dados. Nesse arquivo de banco de dados, podemos encontrar células que podem conter números, além de espaços extras, caracteres ocultos, caracteres especiais ou alfabetos. Nesse caso, o uso de Val pode converter essa sequência em números. Que pode ser usado em análises posteriores.

Como usar a função Val do Excel no VBA?

Vamos ver os exemplos de Val no Excel VBA.

Você pode fazer o download deste modelo VBA VAL Excel aqui - Modelo VBA VAL Excel

Exemplo # 1 - VBA Val

É bastante fácil de implementar. Para vários tipos de aplicativos e códigos, primeiro formaremos um quadro de código que usaremos várias vezes em outros exemplos.

Etapa 1: Vá para a guia do menu Inserir e selecione um módulo como mostrado abaixo.

Etapa 2: Depois disso, obteremos a janela em branco do Módulo. Nele, escreva a subcategoria do VBA Val no Excel ou você pode usar qualquer outro nome de subcategoria conforme sua necessidade.

Código:

 Sub VBA_Val () End Sub 

Etapa 3: Agora defina uma variável DIM A ou escolha qualquer coisa no lugar do alfabeto A como atribuí-la como Variante. A variante nos permite usar qualquer tipo de tipo de dado ao atribuir os valores na variável.

Código:

 Sub VBA_Val () Dim A como variante End Sub 

Etapa 4: e agora atribua qualquer tipo de sequência numérica à variável A na função VBA VAL . Atribuímos uma combinação de número seqüencial para demonstração, como mostrado abaixo, com espaços entre eles.

Código:

 Sub VBA_Val () Dim A como variante A = Val ("11 22 33") End Sub 

Etapa 5: Por fim, precisaremos de uma caixa de mensagem para imprimir os valores armazenados na variável A.

Código:

 Sub VBA_Val () Dim A como variante A = Val ("11 22 33") MsgBox A End Sub 

Etapa 6: Agora compile o código passo a passo pressionando a tecla funcional F5. E execute-o clicando no botão play localizado abaixo da barra de menus, como mostrado abaixo. Veremos que ele retornou os valores armazenados na variável. Um como 112233, como mostrado abaixo. Todos esses valores estão sem espaços.

Exemplo # 2 - VBA Val

Neste exemplo, veremos como a função VBA Val é usada para números que contêm alguns sinais matemáticos. Para isso, consideraremos o código escrito acima. Retiramos o quadro do código que será usado em todos os exemplos, como mostrado abaixo.

Etapa 1: Vá para a guia do menu Inserir e selecione um módulo como mostrado abaixo

Etapa 2: conforme destacado na captura de tela abaixo, continuaremos atualizando o valor entre colchetes da função VAL.

Código:

 Sub VBA_Val2 () Dim A como variante A = Val ("") MsgBox A End Sub 

Etapa 3: Agora vamos inserir qualquer número com sinal matemático mais (“+”), como mostrado abaixo.

Código:

 Sub VBA_Val2 () Dim A como variante A = Val ("+ 111") MsgBox A End Sub 

Etapa 4: Agora compile e execute o código. Veremos que o VBA Val forneceu os valores como 111 sem o sinal de adição. Isso ocorre porque logicamente todos os valores com ou sem sinais de adição são sempre de natureza positiva.

Etapa 5: Vamos alterar o valor na função Val de +111 para -111. Agora veremos se o sinal de menos é convertido no valor ou não.

Código:

 Sub VBA_Val2 () Dim A como variante A = Val ("- 111") MsgBox A End Sub 

Etapa 6: Compile o código e execute. Veremos que o sinal de menos ainda é retido no valor e a caixa de mensagem retornou o valor como -111 . O que significa que qualquer sinal diferente de mais não será convertido com a função Val no VBA.

Exemplo # 3 - VBA Val

Neste exemplo, veremos como a função Val funcionaria para formatos de hora.

Etapa 1: para isso novamente, usaremos o formato acima definido para o Excel VBA Val, como mostrado abaixo.

Código:

 Sub VBA_Val3 () Dim A como variante A = Val ("") MsgBox A End Sub 

Etapa 2: Agora insira qualquer formato de hora na função VAL, conforme circulado na captura de tela acima. Aqui estamos adicionando 11 da manhã, como mostrado abaixo.

Código:

 Sub VBA_Val3 () Dim A como variante A = Val ("11 AM") MsgBox A End Sub 

Etapa 3: Agora compile o código e execute. Veremos que a função VAL eliminou AM das 11 horas e nos deu apenas 11 como saída, como mostrado abaixo.

Etapa 4: Agora vamos usar um formato diferente. Use qualquer minuto com horas. Usamos o valor 11:05 sob colchetes Val.

Código:

 Sub VBA_Val3 () Dim A como variante A = Val ("11:05") MsgBox A End Sub 

Etapa 5: Compile novamente e execute o código. Novamente, a função Val removeu os números de dois pontos e minutos junto com AM e nos deu o número inteiro 11, como mostrado abaixo.

Exemplo # 4 - VBA Val

Neste exemplo, veremos como o formato da data funciona nisso.

Etapa 1: defina novamente o formato da função VBA Val junto com o código completo que vimos nos exemplos acima.

Código:

 Sub VBA_Val4 () Dim A como variante A = Val ("") MsgBox A End Sub 

Etapa 2: agora insira qualquer formato de data conforme sua necessidade. Podemos inserir dados em um formato de hífen (“-“) em um formato de barra (“/“). Vamos usar o formato de data da barra mais usado.

Código:

 Sub VBA_Val4 () Dim A como variante A = Val ("26/06/2019") MsgBox A End Sub 

Etapa 3: Agora compile o código e execute-o. Veremos que o VBA Val retornou os valores numéricos como "6". Valores após a barra não são aceitos pelo VBA Val.

Exemplo # 5 - VBA Val

Neste exemplo, veremos como isso funcionará quando os números estiverem após o texto.

Etapa 1: Pegue o formato que vimos acima.

Código:

 Sub VBA_Val2 () Dim A como variante A = Val ("") MsgBox A End Sub 

Etapa 2: Nos colchetes da função Val, vamos colocar texto e números. Vamos considerar "AB 11", como mostrado abaixo.

Código:

 Sub VBA_Val2 () Dim A como variante A = Val ("AB 11") MsgBox A End Sub 

Etapa 3: Agora execute-o. Veremos, na caixa de mensagem, apenas 0 está aparecendo. O que significa que o VBA Val não considera os números após caracteres ou texto.

Prós do VBA Val

  • Pode ser usado nos dados extraídos de algum tipo de ferramenta ou banco de dados. Que consiste em diferentes tipos de caracteres, juntamente com números.
  • É muito fácil separar números usando o VBA Val em qualquer tipo de dado.
  • Podemos escolher qualquer formato que consista em um número ou conjunto de números para separá-lo de outros caracteres.

Coisas para lembrar

  • Também considera os decimais.
  • Salve o arquivo como Marco, habilite o excel para que a gravação seja mantida.
  • Se gravar esse processo no VBA, o código obtido será muito mais longo que os exemplos que vimos acima.
  • Não há uma função de inserção alternativa disponível no Excel que ofereça o mesmo resultado que o VBA Val .

Artigos recomendados

Este é um guia para o VBA Val. Aqui discutimos como obter Val no VBA Excel, além de exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. VBA InStr explicado com exemplos
  2. Tipo de dados inteiro VBA
  3. Como selecionar uma célula usando o código VBA?
  4. Transpor um intervalo no VBA

Categoria: