Valor de celda de VBA: obtener, configurar o cambiar

Este tutorial le enseñará cómo interactuar con Cell Values ​​usando VBA.

Establecer valor de celda

Para establecer un valor de celda, use la propiedad Value del objeto Range o Cells.

Range.Value & Cells.Value

Hay dos formas de hacer referencia a la (s) celda (s) en VBA:

  • Objeto de rango - Rango ("A2"). Valor
  • Objeto de celdas - Celdas (2,1) .Valor

El objeto Range le permite hacer referencia a una celda utilizando la notación estándar "A1".

Esto establecerá el valor del rango A2 = 1:

1 Rango ("A2"). Valor = 1

El objeto Cells le permite hacer referencia a una celda por su número de fila y su número de columna.

Esto establecerá el valor del rango A2 = 1:

1 Celdas (2,1) .Valor = 1

Observe que ingresa primero el número de fila:

1 Celdas (Row_num, Col_num)

Establecer valores de varias celdas a la vez

En lugar de hacer referencia a una sola celda, puede hacer referencia a un rango de celdas y cambiar todos los valores de celda a la vez:

1 Rango ("A2: A5"). Valor = 1

Establecer valor de celda: texto

En los ejemplos anteriores, establecemos el valor de la celda igual a un número (1). En su lugar, puede establecer el valor de la celda igual a una cadena de texto. En VBA, todo el texto debe estar entre comillas:

1 Rango ("A2"). Valor = "Texto"

Si no rodea el texto con citas, VBA pensará que está haciendo referencia a una variable …

Establecer valor de celda: variable

También puede establecer un valor de celda igual a una variable

1234 Dim strText como cadenastrText = "Cadena de texto"Rango ("A2"). Valor = strText

Obtener valor de celda

Puede obtener valores de celda usando la misma propiedad Value que usamos anteriormente.

Obtenga valor de ActiveCell

Para obtener el valor de ActiveCell y mostrarlo en un cuadro de mensaje:

1 MsgBox ActiveCell.Value

Asignar valor de celda a variable

Para obtener un valor de celda y asignarlo a una variable:

123 Dim var como variantevar = Rango ("A1"). Valor

Aquí usamos una variable de tipo Variant. Las variables variantes pueden aceptar cualquier tipo de valores. En su lugar, puede utilizar un tipo de variable String:

123 Dim var como cadenavar = Rango ("A1"). Valor

Un tipo de variable de cadena aceptará valores numéricos, pero almacenará los números como texto.

Si sabe que el valor de su celda será numérico, puede usar un tipo de variable doble (las variables dobles pueden almacenar valores decimales):

123 Dim var como doblevar = Rango ("A1"). Valor

Sin embargo, si intenta almacenar un valor de celda que contiene texto en una variable doble, recibirá un error de falta de coincidencia de tipo:

Otros ejemplos de valores de celda

Copiar valor de celda

Es fácil establecer un valor de celda igual a otro valor de celda (o "Copiar" un valor de celda):

1 Rango ("A1"). Valor = Rango ("B1"). Valor

Incluso puede hacer esto con rangos de celdas (los rangos deben ser del mismo tamaño):

1 Rango ("A1: A5"). Valor = Rango ("B1: B5"). Valor

Comparar valores de celda

Puede comparar los valores de las celdas utilizando los operadores de comparación estándar.

Pruebe si los valores de las celdas son iguales:

1 MsgBox Range ("A1"). Valor = Rango ("B1"). Valor

Devolverá VERDADERO si los valores de celda son iguales. De lo contrario, FALSO.

También puede crear una declaración If para comparar valores de celda:

12345678910111213 Si Rango ("A1"). Valor> Rango ("B1"). Valor EntoncesRango ("C1"). Valor = "Mayor que"Elseif Rango ("A1"). Valor = Rango ("B1"). Valor EntoncesRango ("C1"). Valor = "Igual"DemásRango ("C1"). Valor = "Menor que"Terminara si

Puede comparar el texto de la misma manera (recuerde que VBA distingue entre mayúsculas y minúsculas)

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave