Valor VBA - ¿Cómo utilizar la función de valor de Excel VBA?

Tabla de contenido:

Anonim

Valor VBA

El viaje de VBA comienza con saber cómo se almacenan los valores en las celdas. Por lo tanto, conocer la función VALUE en VBA es más importante. Después de estudiar sobre la propiedad VBA VALUE, podrá saber cómo se almacenan los valores en VBA. Este artículo explica todos los tipos de función VALOR en VBA, como cómo se almacena el valor en las celdas, cómo configurar el valor, cómo insertar el valor y muchos más.

¿Cómo utilizar la función de valor de Excel VBA?

Aprenderemos cómo usar la función VBA Value con algunos ejemplos en Excel.

Puede descargar esta plantilla de Excel de VBA Value aquí - Plantilla de Excel de VBA Value

Ejemplo # 1 - Establecer el valor de la celda usando la función Range.Value

Configuración del valor de celda / s usando Rango. La función de valor consiste aproximadamente en dos pasos importantes:

  • Establecer el rango donde desea que se almacene el valor.
  • Asignación de un valor al conjunto de rangos.

Siga los pasos a continuación para establecer el valor en Excel VBA:

Paso 1: inserte un nuevo módulo en el Editor de Visual Basic (VBE).

Paso 2: defina un nuevo subprocedimiento debajo del módulo insertado para que se pueda almacenar una macro en él.

Código:

 Sub VBA_Value_Ex1 () End Sub 

Paso 3: defina una nueva variable como un rango que se puede usar para definir un rango donde desea almacenar el valor.

Código:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range End Sub 

Paso 4: Con la ayuda de la función VBA RANGE, asigne las celdas en el rango a una variable definida con la ayuda del operador de asignación.

Código:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") End Sub 

Paso 5: Ahora, use la propiedad Range.Value para poder asignar valor al rango definido. Escriba el nombre de la variable "setValue_Var" bajo el cual se define el rango.

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var End Sub 

Paso 6: Ponga un punto (.) Después de la variable para poder seleccionar la lista IntelliSense de funciones disponibles para esta variable de rango definida.

Código:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var. End Sub 

Paso 7: Arrastre hacia abajo a través de la lista y seleccione la función "Valor" para almacenar el valor en esta variable de rango.

Código:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var.Value End Sub Sub 

Paso 8: Asigne "¡Bienvenido al mundo de VBA!" Como valor para este rango utilizando el operador de asignación.

Código:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var.Value = "¡Bienvenido al mundo de VBA!" End Sub 

Paso 9: Hemos terminado con la parte de codificación. Ejecute este código presionando F5 o el botón Ejecutar debajo de VBE y vea la salida.

También puede asignar el valor a un rango de celdas. Todo lo que tiene que hacer es establecer el rango para la salida, le dará una matriz unidimensional en lugar de una sola referencia de celda.

Paso 10: en el mismo código anterior, cambie el rango de "A1" a "A1: A5".

Código:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1: A5") setValue_Var.Value = "¡Bienvenido al mundo de VBA!" End Sub 

Paso 11: presione F5 o el botón Ejecutar y vea la salida.

Ejemplo # 2 - Establecer el valor de celda usando la propiedad de celdas VBA

Este es otro método para establecer el valor de la celda en VBA. A diferencia de la función RANGE, las celdas ni siquiera las necesitan. Operador de valor para poder establecer el valor para las celdas específicas.

Siga los pasos a continuación para establecer el valor de la celda en Excel VBA:

Paso 1: inserte un nuevo módulo en VBE donde pueda comenzar a escribir su nuevo código.

Paso 2: Agregue un nuevo subprocedimiento en el módulo insertado, donde puede almacenar su código de macro.

Código:

 Sub VBA_Value_Ex2 () End Sub 

Paso 3: Comience a escribir thisWorkbook.Worksheet para acceder a la hoja denominada "Setting_Cell_Value_2".

Código:

 Sub VBA_Value_Ex2 () ThisWorkbook.worksheets End Sub 

Paso 4: Mencione el nombre de la hoja entre paréntesis entre comillas dobles.

Código:

 Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2") End Sub 

Paso 5 : Use la propiedad .Cells para establecer el rango de celdas de la hoja de Excel dada.

Código:

 Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Cells (1, 1) End Sub 

El primer argumento de la propiedad Celdas representa las filas y el segundo argumento representa la columna. Por lo tanto, Celdas (1, 1) significa celda asociada con la primera fila y la primera columna de la hoja "Setting_Cell_Value_2".

Paso 6: Ahora, con la ayuda del operador de asignación, asigne un valor a este conjunto de celdas.

Código:

 Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Cells (1, 1) = "VBA es flexible". End Sub 

Observe que no necesitamos la función .Value que necesitamos usar al establecer el valor usando la función Range. Método de celdas no tiene tales opciones de IntelliSense.

Paso 7: presione F5 o el botón Ejecutar para ejecutar este código y ver el resultado. Verá una salida como se muestra en la captura de pantalla a continuación.

Ejemplo # 3 - Obtenga valor de celda en VBA

Hasta ahora, en dos ejemplos hemos visto cómo establecer el valor para una celda o rango de celdas. Ahora supongamos que un caso es exactamente inverso, tenemos que obtener el valor asignado a una celda particular de una hoja de Excel. ¿Cómo podemos conseguir eso? Veamos una guía paso a paso.

Supongamos que he asignado un valor como se muestra en la captura de pantalla a continuación debajo de la primera celda de la columna A en la hoja "Getting_Cell_Value".

Siga los pasos a continuación para obtener el valor de la celda en Excel VBA:

Paso 1: inserte un nuevo módulo en VBE.

Paso 2: agregue un subprocedimiento para que una macro pueda almacenarse como un código.

Código:

 Sub VBA_Value_Ex3 () End Sub 

Paso 3: defina una nueva variable llamada Get_Value como una variante utilizando la función VBA Dim.

Código:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant End Sub 

Ahora, debe asignar el valor presente en la celda A1 a la variable definida anteriormente.

Paso 4: Escriba "Get_Value = ThisWorkbook.Worksheets". Esto permitirá que el compilador de VBA acceda a la hoja de Excel donde se almacena su valor.

Código:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets End Sub 

Paso 5: Mencione el nombre de la hoja de trabajo entre paréntesis con citas en las que se almacena el valor.

Código:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value") End Sub 

Paso 6: Ahora, utilice el método de punto (.) Rango para proporcionar la celda exacta donde se almacena el valor en la hoja denominada "Getting_Cell_Value".

Código:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1") End Sub 

Paso 7: Finalmente, utilice el método de valor de punto (.) Para que el compilador pueda acceder al valor real debajo de la celda A1.

Código:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1"). Value End Sub 

Paso 8: Como hemos mencionado, necesitamos obtener el valor almacenado en la celda A1. Para eso, use MsgBox para mostrar el valor de la variable Get_Value (que ya ha accedido al valor escrito en la celda A1).

Código:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1"). Valor MsgBox Get_Value End Sub 

Paso 9: presione F5 o el botón Ejecutar para ejecutar este código, obtendrá el valor presente en la celda A1 debajo del cuadro de mensaje.

Vea, este fue el valor que hemos mencionado en la celda A1 de la hoja "Getting_Cell_Value". ¿Derecho?

Ejemplo # 4 - ¿Podemos obtener múltiples valores de celda a la vez?

Supongamos que tengo valores almacenados en tres celdas diferentes A1, A2, A3 como se muestra en la siguiente captura de pantalla:

Simplemente no se confunda si ve el texto extendido a lo largo de las columnas A a E. es solo un diseño visible (porque he fusionado las celdas) y el valor real se almacena solo en la celda A1, A2, A3.

Siga los pasos a continuación para usar Excel VBA Value:

Paso 1: defina una variable como una variante bajo un nuevo subprocedimiento en su módulo VBA.

 Código: Sub VBA_Value_Ex4 () Dim Get_Value_2 As Variant End Sub 

Paso 2: utilice el método Range.Value para recuperar el valor de las celdas A1: A3 y asignar a una nueva variable definida en el paso anterior.

Código:

 Sub VBA_Value_Ex4 () Dim Get_Value_2 As Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Range ("A1: A3"). Value End Sub 

Paso 3: Finalmente, use la función MsgBox para mostrar los valores almacenados en la celda A1: A3.

Código:

 Sub VBA_Value_Ex4 () Dim Get_Value_2 As Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Range ("A1: A3"). Value MsgBox Get_Value_2 End Sub 

Paso 4: presione F5 o el botón Ejecutar y vea la salida de este código.

Obtendrá un error de tiempo de ejecución '13': no ​​coinciden los tipos. La razón para obtener este error es que estamos definiendo una sola variable y asignándole valores de una matriz unidimensional (con tres filas). Lo que lógicamente no es posible.

Esto es de este artículo. Vamos a terminar las cosas con algunos puntos para recordar.

Cosas para recordar

No puede establecer el valor de varias celdas mientras usa el método VBA CELLS, porque toma filas y columnas como argumentos. Solo puede especificar el número de fila y el número de columna en él.

Tampoco puede obtener valores almacenados en varias celdas en un solo cuadro de mensaje. Si tiene que recuperar el rango de valores, debe escribir los argumentos de obtención separados para cada uno de los valores.

Artículos recomendados

Esta ha sido una guía del valor de VBA. Aquí hemos discutido cómo usar la función de valor VBA de Excel junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Guía completa de VBA en caso de error
  2. ¿Cómo utilizar el formato de número VBA?
  3. Función VBAOKUP VBA con ejemplos
  4. Crear una función VBA en Excel
  5. ¿Cómo utilizar la función VBA Val?