Función VBA Val

VBA Val significa Valor. Convierte las matrices o cadenas que tienen algunos números en valores numéricos puros. Supongamos que si damos "111 One" como entrada, obtendremos solo "111" como salida numérica. Esto es bastante útil mientras se trabaja en datos que extraemos de algún tipo de base de datos. En ese archivo de base de datos, podemos encontrar esas celdas que pueden contener números junto con espacios adicionales, caracteres ocultos, caracteres especiales o alfabetos. En ese caso, usar Val puede convertir esa cadena en números. Que se puede utilizar en un análisis más detallado.

¿Cómo usar la función Excel Val en VBA?

Veamos los ejemplos de Val en Excel VBA.

Puede descargar esta plantilla VBA VAL Excel aquí - Plantilla VBA VAL Excel

Ejemplo # 1 - VBA Val

Es bastante fácil de implementar. Para múltiples tipos de aplicaciones y códigos, primero formaremos un marco de código que usaremos varias veces en otros ejemplos.

Paso 1: vaya a la pestaña del menú Insertar y seleccione un Módulo como se muestra a continuación.

Paso 2: Después de eso, obtendremos la ventana en blanco del Módulo. En eso, escriba la subcategoría de VBA Val en Excel o puede usar cualquier otro nombre de subcategoría según su necesidad.

Código:

 Sub VBA_Val () End Sub 

Paso 3: Ahora defina una variable DIM A o elija cualquier cosa en lugar del alfabeto A y asígnela como Variante. Variant nos permite usar cualquier tipo de tipo de datos al asignar los valores en la variable.

Código:

 Sub VBA_Val () Dim A como variante End Sub 

Paso 4: Y ahora asigne cualquier tipo de secuencia numérica a la variable A bajo la función VBA VAL . Hemos asignado una combinación de número secuencial para la demostración como se muestra a continuación con espacios entre ellos.

Código:

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

Paso 5: Finalmente, necesitaremos un cuadro de mensaje para imprimir los valores almacenados en la variable A.

Código:

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

Paso 6: Ahora compile el código paso a paso presionando la tecla funcional F5. Y luego ejecútelo haciendo clic en el botón de reproducción ubicado debajo de la barra de menú como se muestra a continuación. Veremos que devuelve los valores almacenados en la variable. An como 112233 como se muestra a continuación. Todos estos valores son sin espacios.

Ejemplo # 2 - VBA Val

En este ejemplo, veremos cómo se usa la función VBA Val para los números que contienen algunos signos matemáticos. Para esto, consideraremos el código escrito anteriormente. Hemos eliminado el marco del código que se utilizará todos los ejemplos, como se muestra a continuación.

Paso 1: vaya a la pestaña del menú Insertar y seleccione un Módulo como se muestra a continuación

Paso 2: Como se destaca en la siguiente captura de pantalla, seguiremos actualizando el valor entre paréntesis de la función VAL.

Código:

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

Paso 3: Ahora insertemos cualquier número con signo matemático más ("+") como se muestra a continuación.

Código:

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

Paso 4: ahora compila y ejecuta el código. Veremos que VBA Val ha dado los valores como 111 sin el signo más. Es porque lógicamente todos los valores con o sin signos más son siempre de naturaleza positiva.

Paso 5: Cambiemos el valor en la función Val de +111 a -111. Ahora veremos si el signo menos se convierte en el valor o no.

Código:

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

Paso 6: compila el código y ejecútalo. Veremos que el signo menos aún se conserva en el valor y el cuadro de mensaje ha devuelto el valor como -111 . Lo que significa que cualquier signo que no sea más no se convertirá con la función Val en VBA.

Ejemplo # 3 - VBA Val

En este ejemplo, veremos cómo funcionaría la función Val para los formatos de hora.

Paso 1: para esto nuevamente usaremos el formato definido anteriormente para Excel VBA Val como se muestra a continuación.

Código:

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

Paso 2: Ahora inserte cualquier formato de hora en la función VAL como se indica en un círculo en la captura de pantalla anterior. Aquí estamos agregando 11 AM como se muestra a continuación.

Código:

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

Paso 3: Ahora compila el código y ejecútalo. Veremos, la función VAL ha eliminado AM de 11 AM y nos ha dado solo 11 como salida como se muestra a continuación.

Paso 4: Ahora usemos un formato diferente. Use cualquier minuto con horas. Hemos usado el valor 11:05 bajo los corchetes Val.

Código:

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

Paso 5: Compile nuevamente y ejecute el código. Nuevamente, la función Val ha eliminado los números de dos puntos y minutos junto con AM y nos ha dado el número entero 11 como se muestra a continuación.

Ejemplo # 4 - VBA Val

En este ejemplo, veremos cómo funciona el formato de fecha en esto.

Paso 1: Establezca nuevamente el formato para la función VBA Val junto con el código completo que hemos visto en los ejemplos anteriores.

Código:

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

Paso 2: Ahora inserte cualquier formato de fecha según su necesidad. Podemos insertar datos en un formato de guión ("-") en un formato de barra diagonal ("/"). Usemos el formato de fecha de barra que se usa con mayor frecuencia.

Código:

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

Paso 3: Ahora compila el código y ejecútalo. Veremos que VBA Val ha devuelto los valores numéricos como "6". VBA Val no acepta los valores después de la barra diagonal.

Ejemplo # 5 - VBA Val

En este ejemplo, veremos cómo funcionará esto cuando los números estén después del texto.

Paso 1: tome el formato que hemos visto anteriormente.

Código:

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

Paso 2: en los corchetes de la función Val, pongamos texto y números. Consideremos "AB 11" como se muestra a continuación.

Código:

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

Paso 3: ahora ejecútalo. Veremos, en el cuadro de mensaje, solo aparece 0. Lo que significa que VBA Val no considera los números después de los caracteres o el texto.

Pros de VBA Val

  • Se puede usar en los datos que se extraen de algún tipo de herramienta o base de datos. Que consiste en diferentes tipos de caracteres junto con números.
  • Es bastante fácil separar números usando VBA Val en cualquier tipo de datos.
  • Podemos elegir cualquier formato que consista en un número o conjunto de números para separarlo de otros caracteres.

Cosas para recordar

  • También considera los decimales.
  • Guarde el archivo como Marco habilite Excel para que se conserve lo escrito.
  • Si registra este proceso en VBA, el código obtenido será mucho más largo que los ejemplos que hemos visto anteriormente.
  • No hay una función de inserción alternativa disponible en Excel que dé el mismo resultado que VBA Val .

Artículos recomendados

Esta es una guía de VBA Val. Aquí discutimos cómo obtener Val en VBA Excel junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. VBA InStr explicado con ejemplos
  2. Tipo de datos enteros de VBA
  3. ¿Cómo seleccionar la celda usando el código VBA?
  4. Transponer un rango en VBA

Categoría: