A continuación presentamos unos cuantos ejercicios básicos de VBA para principiantes. Estos ejercicios están orientados a aprender a usar bien los fundamentos de la programación (práctica no teórica) de VBA. Aunque los ejercicios parezcan repetitivos, os recomiendo encarecidamente hacerlos con calma para tener claras las bases.
REFERENCIAS Y VARIABLES
Ejercicio 1: Escribir en la celda A1 vuestro nombre y en la celda A2 vuestro apellido directamente. Si grabas una macro el resultado será el siguiente:
Sub Escribir_Nombres()
'
' Escribir_Nombres Macro
' esta macro nos permite copiar los nombres en las primeras filas
'
'
Range("A1").Select 'esto es la selección de una celda
ActiveCell.FormulaR1C1 = "quique"
Range("B1").Select
ActiveCell.FormulaR1C1 = "arranz"
Range("A2").Select
End Sub
Si modificas un poco esta macro el resultado será:
Sub Escribir_Nombres_2()
Range("A1") = "quique"
Range("B1") = "arranz"
End Sub
En este caso vemos como hemos simplificado mucho la macro. Simplemente, para escribir en una celda, podemos apuntar directamente a ella sin necesitar seleccionarla. Además, no necesitamos poner el código FormulaR1C1 para insertar un valor ni la propiedad Value.
Ejercicio 2: Escribir en las celdas B1 y B2 dos números diferentes.
Sub Insertar_Numeros()
Range("B1").Value = 5
Range("B2").Value = 3
End Sub
Aunque en este caso hemos usado la propiedad Value para que el código sea más serio, en realidad, no hace falta.
Ejercicio 3: Crear una variable llamada “var1” con un valor numérico y traspasar este valor a la celda C1
Sub Insertar_Numeros_2()
var1 = 5
Range("C1").Value = var1
End Sub
Aunque lo mejor cuando creemos variables será previamente declararlas (leer más) en este caso no lo hemos hecho para clarificar los ejemplos.
Ejercicio 4: Recoger el valor de la celda A1 en la variable “var2”, pasarlo a la variable “var3” y escribirlo en la celda A3
Sub Recoger_Valor()
var2 = Range("A1")
var3 = var2
Range("A3") = var3
End Sub
Ejercicio 5: Pasar el valor de la celda A1 a la celda A2
Sub Celdas()
Range("A2") = Range("A1")
End Sub
OPERACIONES MATEMÁTICAS
Ejercicio 6: Crear dos variables diferentes var1 y var2 y darles un valor numérico. Sumar el valor de dichas variables en var3. Crear una variable var4 que sume el valor de var1, var2 y var3. Crear una variable final var_final que multiplique el resultado por 10. Finalmente pasar la variable var_final al rango A1.
Sub Variables()
var1 = 1
var2 = 3
var3 = var1 + var2
var4 = var1 + var2 + var3
var_final = var4 * 10
Range("A1") = var_final
End Sub
Ejercicio 7: Con las variables del ejercicio anterior, elevar var3 a var2 y restar var4 y guardar el resultado en var_final. Dar el mensaje en pantalla.
Sub Variables_2()
var1 = 1
var2 = 3
var3 = var1 + var2
var4 = var1 + var2 + var3
var_final = var3 ^ var2 - var4
MsgBox var_final
End Sub