Visual Basic Scrip
•Las acciones de VBA se realizan mediante la ejecución del código VBA.El código VBA se escribe (o se graba) y se guarda en un módulo VBA.
•Los módulos se guardan en un libro de trabajo de Excel pero se editan o visualizan en el editor de Visual Basic.
•Un módulo VBA se compone de procedimientos. Un procedimiento es básicamente un código de ordenador que realiza alguna acciónsobre los objetos o con ellos.
Sub Prueba()
Sum= 1+1
MSGBox “La respuesta es” & Sum
End Sub
EL NÚCLEO DE VBA
• Un módulo VBA puede tener también procedimientos Function. Un procedimiento Function devuelve un solo valor. Se puede llamar una función desde otro procedimiento VBA o usar una fórmula de hoja de cálculo.
Function AñadirDos(arg1, arg2)AñadirDos= arg1 + arg2
End Function
• VBA manipula los objetos contenidos en su aplicación anfitriona (en este caso Excel).
EL NÚCLEO DE VBA
Objetos similares forman una colección. Por ejemplo, la colección WorkSheets está compuesta por todas las hojas de cálculo de un libro concreto. La colección CommandBars está compuesta por todos los objetos CommandBar. Las coleccionesson objetos en sí mismas.
Cuando nos referimos a un objeto contenido o miembro, estamos especificando su posición en la jerarquía del objeto, usando un punto como seprador entre el contenedor y el miembro.
Application.WorkBooks(“Libro1.xls”)
Esto se refiere al libro de trabajo Libro1.xls en la colección WorkBooks.
• Nos podemos referir a la Hoja1 del Libro1 comoApplication.WorkBooks(“Libro1.xls”).WorkSheets(“Hoja1”)
• Si se quiere omitir una referencia específica a un objeto, Excel usa los objetos activos.Si el libro1 es el libro de trabajo activo, la referencia anterior se puede simplificar a
WorkSheets(“Hoja1”).Range(“A1”)
• Si se sabe que la Hoja1 es la hoja activa, se puede incluso simplificar más Range(“A1”)
• Los objetos tienen propiedades. Se puedepensar en una propiedad como en una configuración para un objeto.
• Por ejemplo, un objeto Range tiene propiedades como Value y Name. Un objeto Chart tiene propiedades como HasTitle y Type. Se puede usar VBA para determinar las propiedades del objeto y
también para cambiarlas.
• Nos podemos referir a propiedades para combinar el objeto con su propiedad, separados por punto.
• Por ejemplo nospodemos referir al valor de la celda A1 de la Hoja1 como:
WorkSheets(“Hoja1”).Range(“A1”).Value
• Se pueden asignar valores a variables de VBA.Para asignar un valor en la celda A1 de la Hoja1 a una variables llamada Interés, use la siguiente instrucción VBA:
Interés = WorkSheets(“Hoja1”).Range(“A1”).Value
• Los objetos disponen de métodos.Un método es una acción que se realiza con elobjeto. Por ejemplo, uno de los métodos para el objeto Range es ClearContents. Este método borra el contenido del método.
• Se pueden especificar métodos mediante la combinación del objeto con el método, separados por punto.
Range (“A1”).ClearContents
• VBA también incluye todas las estructuras de lenguajes de programación modernos, como matrices, bucles y de más.
INTRODUCIR UN CÓDIGO VBASub Hola()
Msg = “Su nombre es “ &Application.UserName & “?”
Ans = MsgBox(Msg, vbYesNo)
If Ans = VbNo Then
MsgBox “No se preocupe”
Else
MsgBox “¿Debo ser clarividente!”
End If
End Sub
USAR EL GRABADOR DE MACROS
El siguiente ejemplo muestra la forma de grabar una macro que simplementecambia la configuraciónde página de orientación vertical a horizontal.
1) Activar una hoja de cálculo del libro activo
2) Seleccionar el comando HERRAMIENTAS MACRO GRABAR NUEVA MACRO
3) Hacer cli en Aceptar para aceptar las opciones predeterminadas
4) Seleccionar el comando ARCHIVO CONFIGURAR PÁGINA
5) Seleccione la opción Horizontal y haga clic en Aceptar
6) Haga clic en el botón detener...
Regístrate para leer el documento completo.