Ejercicios con la propiedad Formula y Address
🔴 Ejercicios con la Propiedad Formula y Address del Objeto Range. Para que sirve y cuándo utilizar las propiedades Formula y Address.
La propiedad Formula y Address
✅ En esta oportunidad aprenderemos a utilizar la Propiedad Address y la Propiedad Formula del Objeto Range o también aplicable al Objeto Cells. Vamos a ver una serie de ejercicios y casos diferentes para mostrar para qué sirven, cómo utilizarlo y cuando utilizarlo.
La propiedad Formula nos permite insertar una formula dentro del código de Visual Basic for Applications.
Aplicando la Propiedad Formula
Ejercicio 1: Aplicando la Propiedad Formula para suma
✅ En el siguiente ejercicio nuestra fórmula se mostrará en el Rango A1. Indicaremos la Propiedad Formula con la suma de dos celdas en este caso B1 + C1.
Sub PropiedadFormula()
Range(“A1”).Formula=“=B1+C1”
End Sub
Ejercicio 2: Aplicando la Propiedad Formula con la función Sum (Inglés)
✅ En el siguiente ejercicio seleccionaremos la celda en la que deseamos ver el resultado en este caso la celda A2. Luego en el código ponemos la Propiedad Formula. Aquí especificaremos nuestra función Sum, esta realiza una suma entre las celdas B2 y celda C2.
Sub PropiedadFormula()
Range(“A2”).Formula = “=sum(B2:C2)”
End Sub
Ejercicio 3: Aplicando la Propiedad FormulaLocal (Español)
✅ En este ejercicio cambiaremos la Propiedad Formula a la Propiedad FormulaLocal y ahora en español podemos poner Suma haciendo exactamente lo mismo que en el ejemplo anterior veamos, pero en este ejemplo sumaremos los valores de la celda B3 y C3.
Sub PropiedadFormula()
Range(“A3”).FormulaLocal = “suma(B3:C3)”
End Sub
Ejercicio 3: Aplicando la Propiedad FormulaLocal (Español) usando ; como separador
✅ Si realizamos el ejercicio cambiando los dos puntos (:) por un punto y coma adecuandolo a nuestro idioma si ejecutará la Macro. OJO si ponemos coma (,) tendremos problemas al compilar.
Sub PropiedadFormula()
Range(“A4”).FormulaLocal = “suma(B4;C4)”
End Sub
✅ Para que no exista el problema del uso del Separador dependiendo de nuestro país creamos una variable cualquiera ejemplo Separador y vamos a llamar al objeto Applications.International seguida de MSgBox el cual no mostrará cual es el separador que debemos usar, veamos:
Sub PropiedadFormula()
Separador = Application.International(xlListSeparator)
MsgBox Separador
End Sub
Remplazando el punto y coma (;) en nuestro código con la variable Separador, pero para remplazarlo debemos primero concatenarlo con ampersand (&) al inicio de Separador y al final.
Sub PropiedadFormula()
Range(“A5”).FormulaLocal = “=suma(B5“ &separador& ”C5)”
End Sub
Con este archivo podemos enviarlo a cualquier otro usuario de cualquier país y no tendrá ningún problema de compilación. Si lo ejecutamos sumará el valor de las celdas B5 + C5 dándonos el resultado en la Celda A5.
Aplicando la Propiedad Address
✅ La Propiedad Address en español significa o hace referencia a Dirección. Esta Propiedad nos va devolver la dirección o ubicación de un archivo.
Ejercicio 1: Propiedad Address devolviendo la celda seleccionada con ActiveCell
✅ Seleccionamos por ejemplo la Celda B3, acompañaremos a nuestra Propiedad Address con MsgBox ActiveCell, nos va imprimir la Celda Activa en forma absoluta es decir la Columna B y la Fila 3 de la siguiente forma $B$3
Sub PropiedadAddress()
MsgBox ActiveCell.Address
End Sub
Ejercicio 2: Propiedad Address ubicación de un rango seleccionado con Selection
✅ Seleccionamos por ejemplo un rango desde B3 hasta D8 acompañamos nuestra Propiedad Address con MsgBox Selection.Addresss, nos va imprimir el rango de celdas seleccionadas de la forma siguiente $B$3:$D$8 de esta manera podemos saber la ubicación de un rango seleccionado.
Sub PropiedadAddress()
MsgBox Selection.Address
End Sub
Ejercicio 3: Propiedad Address Celda Activa Absoluta
✅ La Propiedad Address tiene 4 argumentos:
Solo trabajaremos con Fila y Columna Absoluta. Absoluta se refiere que la ubicación va ser fija y no se puede mover si arrastramos las Celdas. Para que sea Absoluta pondremos True, True. Seleccionamos la celda B3. Lo que haremos es devolver la ubicación de la Celda Activa y que sea absoluta. Es decir si ejecutamos la siguiente macro tendremos lo siguiente $B$3
Sub PropiedadAddress()
MsgBox ActiveCell.Address(True, True)
End Sub
Ejercicio 4: Propiedad Address Celda Activa Relativa
✅ Para que sea Relativa pondremos False, False. Seleccionamos la celda B3. Lo que haremos es devolver la ubicación de la Celda Activa y que sea Relativa. Es decir si ejecutamos la siguiente macro tendremos lo siguiente B3 veremos que ya no se ve el signo dolar.
Sub PropiedadAddress()
MsgBox ActiveCell.Address(False, False)
End Sub
Ejercicio 5: Propiedad Address Celda Activa Mixta o Combinada
✅ Seleccionamos la Celda B3, podemos poner una fila en Relativa y una Columna en absoluta, ejecutando podremos ver el siguiente resultado $B3
Sub PropiedadAddress()
MsgBox ActiveCell.Address(False, True)
End Sub
Ejercicio 6: Propiedad Address Celda Activa Mixta con Objeto Range
✅Utilizaremos el Objeto Range con posición celda A4, aquí al ejecutarlo tendremos el siguiente mensaje A$4
Sub PropiedadAddress()
MsgBox Range(“A4”).Address(False, True)
End Sub
Ejercicio 6: Propiedad Address Celda Activa con Objeto Cells
✅ Para este ejercicio usaremos el Objeto Cells especificando la Celda 1,2 que al ejecutarlo nos da el siguiente mensaje $B$1
Sub PropiedadAddress()
MsgBox Cells(1,2).Address
End Sub
Ejercicio 7: Propiedad Address Celda Activa Mixta con Objeto Cells
✅Si a este ejemplo agregamos los argumentos True y False tendremos Columna Relativa y Fila Absoluta, es decir el siguiente cuadro B$1
Sub PropiedadAddress()
MsgBox Cells(1,2).Address(True,False)
End Sub
Te recomendamos ver estos artículos:
La propiedad Color y la propiedad Font
La propiedad Count
Crear la siguiente Base de datos con botones; Registrar, Limpiar, Actualizar, eliminar y buscar registros.
Ventana Inspección, inmediato, locales
Herramienta Depuración de una macro
Trabajando con comentarios
Usando el bucle FOR NEXT
Usando el bucle While
Uso del bucle UNTIL
Uso del Bucle For Each Next
Responses