Obtenga, establezca o cambie el valor de la celda en Excel VBA

Usamos VBA para automatizar nuestras tareas en Excel. La idea de usar VBA es conectar la interfaz de Excel con la programación. Una de las conexiones más importantes entre ellos es cambiando los valores de las celdas. El cambio en el valor de la celda por programación muestra el poder de VBA. En este artículo, veremos cómo establecer, obtener y cambiar el valor de la celda. 

Establecer valor de celda

La asignación de un valor a una celda se puede lograr mediante dos funciones muy famosas en VBA, es decir , la función Range y Cells

Función de rango en VBA

La función de rango ayuda a acceder a las celdas de la hoja de trabajo. Para establecer el valor de la celda usando la función de rango, usamos .Value

Sintaxis: Range(cell_name).Value = value_to_be_assinged. 

Establecer el valor en una sola celda

Si desea asignar ’11’ a la celda A1 , los siguientes son los pasos: 

Paso 1: use la función Rango , entre comillas dobles escriba el nombre de la celda. Utilice la función de objeto .Value . Por ejemplo, Rango(“A1”).Valor = 11

Applying-range-function

 

Paso 2: ejecuta tu macro. El número 11 aparece en la celda A1

Running-macro

 

Establezca el valor en varias celdas al mismo tiempo

Recuerda los días, cuando tu profesor te castiga, haciéndote escribir la tarea 10 veces, esos fueron los días difíciles, pero ahora el esfuerzo se ha reducido exponencialmente. Puede establecer un valor para un rango de celdas con solo una línea de código. Si desea escribir su nombre, por ejemplo, «Arushi» 10 veces, en el rango A2 a A11 . Utilice la función de rango. Los siguientes son los pasos: 

Paso 1: use la función Rango, entre comillas dobles, escriba «Inicio_de_celda: Fin_de_celda» . Utilice la función de objeto .Value . Por ejemplo, Rango(“A2:A11”).Valor = “Arushi”

Applying-range-function

 

Paso 2: ejecuta tu macro. El texto “Arushi” aparece desde la celda A2 hasta la A11 inclusive. 

Running-macro

 

Función de las celdas en VBA

La función de celdas es similar a la función de rango y también se usa para establecer el valor de celda en una hoja de trabajo por VBA. La diferencia radica en el hecho de que la función Celdas solo puede establecer un único valor de celda a la vez, mientras que la función Rango puede establecer varios valores a la vez. La función de celdas utiliza el sistema de coordenadas de la array para acceder a los elementos de la celda. Por ejemplo, A1 se puede escribir como (1, 1), B1 se puede escribir como (1, 2), etc. 

Sintaxis: Celdas(número_fila, número_columna).Valor = valor_a_asignar

Por ejemplo, desea establecer el valor de la celda en «Arushi borró CA con rango», en la celda B1 . Además, establezca la celda C1 en ‘1’ . Los siguientes son los pasos:

Paso 1: abre tu editor de VBA. Use la función de celdas, ya que queremos acceder a la celda B1 , las coordenadas de la array serán (1, 2) . Escriba, Celdas (1, 2). Valor = «Arushi borró CA con rango» en el código VBA. 

Using-cell-functions

 

Paso 2: Para acceder a la celda C1 , las coordenadas de la array son (1, 3) . Tipo, Celdas (1, 3). Valor = 1 en el código VBA. 

Accessing-cell-C1

 

Paso 3: Ejecute su macro. El texto requerido aparece en la celda B1 y aparece un número en C1. 

Running-macro

 

Configuración de valores de celda por celda activa y el cuadro de entrada

Hay otras formas en las que puede ingresar su valor en la celda de una hoja de trabajo. 

Célula activa 

Puede establecer el valor de celda de una celda que está actualmente activa. Una celda activa es la celda seleccionada en la que se ingresan datos si comienza a escribir. Utilice la función de objeto ActiveCell.Value para establecer el valor en texto o en un número. 

Sintaxis: ActiveCell.Value = value_to_be_assigned

Por ejemplo, desea asignar la celda activa con un texto, es decir, «Arushi está practicando CA» , también desea cambiar el color de la celda a amarillo . Los siguientes son los pasos: 

Paso 1: use el objeto ActiveCell para acceder a la celda actualmente seleccionada en la hoja de trabajo. Use el objeto de función ActiveCell.Value para escribir el texto requerido. 

Using-active-cell-function

 

Paso 2: Colorea la celda usando la función ActiveCell.Interior.Color . Por ejemplo, use vbYellow para establecer el color de su celda en amarillo. 

Using-active.cell.interior.color-function

 

Paso 3: ejecuta tu macro. La celda actualmente seleccionada, es decir, B1 , ha alcanzado los requisitos. 

Running-macro

 

Cuadro de entrada

Puede usar el cuadro de entrada para establecer el valor de la celda en una hoja de trabajo. El cuadro de entrada toma el valor personalizado y almacena el resultado. Este resultado podría utilizarse además para establecer el valor de la celda. Por ejemplo, establezca el valor de la celda de A1, de forma dinámica tomando la entrada, desde el cuadro de entrada.

Los siguientes son los pasos

Paso 1: abre tu editor de VBA. Se crea un subprocedimiento llamado geeks() . Use la función Rango para almacenar el valor dado por el cuadro de entrada. 

Using-range-function

 

Paso 2: ejecuta tu macro. Aparece un cuadro de diálogo con el nombre de Microsoft Excel . Introduzca el valor a almacenar. Por ejemplo, “geeks para geeks”. Haga clic en Aceptar

Entering-value-to-be-stored

 

Paso 3: Abra su hoja de trabajo. En la celda A1 , encontrará que está escrito el texto requerido. 

Text-written-in-A1

 

Obtener valor de celda

Después de configurar el valor de la celda, es muy importante tener un buen conocimiento de cómo mostrar el valor de la celda. Puede haber dos formas de obtener el valor de la celda, imprimir el valor en la consola o crear un cuadro de mensaje. 

Imprimir valor de celda en la consola

La consola del editor de VBA es la ventana inmediata. La ventana inmediata imprime el resultado deseado en el propio editor de VBA. El valor de la celda puede almacenarse en una variable y luego imprimirse en la ventana inmediata. Por ejemplo, se le da una celda A1 con el valor ’11’ y necesita imprimir este valor en la ventana inmediata. 

Los siguientes son los pasos

Paso 1: Presione Ctrl + G para abrir la ventana inmediata. 

Opening-immediate-window

 

Paso 2: El valor de la celda en A1 es 1

Value-in-A1

 

Paso 3: abre tu editor de VBA. Declare una variable que pueda almacenar el valor de la celda. Por ejemplo, Val es la variable que almacena el valor de la celda en A1 . Utilice la función Rango para acceder al valor de la celda. Después de almacenar el valor de la celda en el val , imprima la variable en la ventana inmediata con la ayuda de la función Debug.Print(val) .

Printing-variable-in-immediate-window

 

Paso 4: ejecuta tu macro. El valor de la celda en A1 se imprime en la ventana inmediata. 

Running-macro

 

Imprimir valor de celda en un cuadro de mensaje 

También se puede usar un cuadro de mensaje para mostrar el valor de la celda en VBA. Por ejemplo, se proporciona una string aleatoria en la celda A1 de su string, es decir , «Arushi estudia en Hansraj». Ahora, si desea mostrar el valor de la celda en A1, podemos usar el cuadro de mensaje para lograrlo. 

Text-present-in-A1

 

Los siguientes son los pasos

Paso 1: Abra su macro VBA. Crea un cuadro de mensaje usando MsgBox . Utilice la función Range(cell).Value para acceder al valor de la celda. 

Creating-a-message-box

 

Paso 2: ejecuta tu macro. Aparece un cuadro de mensaje que contiene el valor de celda de A1

Running-macro

 

Cambiar valores de celda 

El valor, una vez asignado al valor de la celda, se puede cambiar. Los valores de las celdas son como variables cuyos valores se pueden cambiar cualquier número de veces. Puede simplemente reasignar el valor de la celda o puede usar diferentes comparadores para cambiar el valor de la celda de acuerdo con una condición. 

Al reasignar el valor de la celda

Puede cambiar el valor de la celda reasignándola. En el siguiente ejemplo, el valor de la celda A1 se establece inicialmente en 1 , pero luego se reasigna a 2

Los siguientes son los pasos

Paso 1: Abra su editor de código VBA. Inicialmente, el valor de la celda A1 se asigna a 1 . Este valor inicial se imprime en la ventana inmediata. Después de eso, cambiamos el valor de la celda A1 a 2 . Ahora, si imprimimos el valor A1 en la ventana inmediata, resulta ser 2

Changing-value-in-cell

 

Paso 2: La ventana inmediata muestra la salida como 1 y 2. 

Immediate-window-shows-output

 

Cambiar el valor de la celda con alguna condición

Podemos usar sentencias if-else o switch-case para cambiar el valor de la celda con alguna condición. Por ejemplo, si su edad es mayor de 18 años, puede conducir; de lo contrario, no puede conducir. Puede enviar su mensaje de acuerdo con esta condición. 

Los siguientes son los pasos

Paso 1: Hay un código escrito en la imagen a continuación, que le indica si es elegible para una licencia de conducir o no. Si su edad es mayor de 18 años, a la celda A1 se le asignará el valor «Usted es elegible para la licencia de conducir» , de lo contrario, a A1 se le asignará «No es elegible para la licencia de conducir». 

Text-assigned-to-A1

 

Paso 2: ejecuta tu macro. Aparece un cuadro de entrada. Introduzca su edad. Por ejemplo, 19. 

Running-macro

 

Paso 3: De acuerdo a la edad agregada se le asignará el valor de la celda. 

Cell-value-assigned

 

Publicación traducida automáticamente

Artículo escrito por gautamgoel962 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *