



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Guia de programación en sistemas aplicados a la información
Tipo: Guías, Proyectos, Investigaciones
1 / 6
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




¿Qué es una macro? Una macro son un conjunto de instrucciones que sirven para automatizar procesos.
Las instrucciones de una macro en Excel se escriben en Visual Basic, el cual es un lenguaje de programación orientado a objetos.
Programar en un entorno de programación orientado a objetos significa que todo lo que existe en ese entorno son objetos.
En el caso particular de Excel vamos a encontrar que Excel proporciona una jerarquía de objetos que permiten automatizar o personalizar el trabajo diario.
Los objetos que maneja Excel y su respectivo orden jerárquico son los siguientes:
Objeto Application es el objeto superior y representa a la aplicación Excel. Objeto WorkBook se refiere a los distintos libros abiertos dentro de la aplicación Excel. Depende del objeto Application. Objeto WorkSheet es el conjunto de hojas de un libro. Depende de un objeto WorkBook. Objeto Range se refiere a una celda o a un rango de celdas. Normalmente depende de un objeto WorkSheet.
En resumen un objeto Application puede contener varios Libros (WorkBooks), que contienen hojas (WorkSheets), que a su vez contienen otros objetos (por ejemplo Range).
Todos los objetos poseen características que les permiten diferenciarse de otros objetos similares. En la programación orientada a objetos, a esas características se las denomina Propiedades.
Además, la mayoría de objetos tienen ciertos comportamientos o quizá pueden realizar ciertas acciones, lo cual en la programación orientada a objetos se conoce como Métodos.
Ejemplo: Apliquemos los conceptos anteriores a un caso particular:
OBJETO Carro PROPIEDADES Color, Forma, Peso, Largo, Ancho, etc. MÉTODOS Arrancar, detenerse, curvar, acelerar, etc.
Ejemplo: Aplicado a un objeto de Excel:
OBJETO Range
PROPIEDADES
Value (valor de la casilla) Column y Row (fila y column de la casilla) Font (fuente de los caracteres quemuestra la casilla)
MÉTODOS
Activate (hace activa una celda determinada) Clear (borra el contenido de una celda) Copy (copia el contenido de la celda en el portapapeles)
Insertar un nuevo módulo.
Un módulo sirve para agrupar procedimientos y funciones. El procedimiento y la función son entidades de programación que sirven para agrupar instrucciones de código que realizan una acción concreta.
Para insertar un módulo active opción del menú Insertar/ Módulo. Se activará una nueva ventana, si aparece demasiado pequeña, maximícela.
Insertar un procedimiento.
Ya hemos dicho que un procedimiento es un bloque de instrucciones de código que sirven para llevar a cabo alguna tarea específica. Un procedimiento empieza siempre con la instrucción
Sub Primero ActiveSheet.ActiveCell.Value = "Hola Mundo" End Sub
Insistiendo con la nomenclatura, Application casi nunca es necesario especificarlo, piense que todos los objetos penden de este, WorkBooks será necesario implementarlo si en las macros se trabaja con diferentes libros de trabajo (diferentes archivos), a partir de WorkSheets , es aconsejable incluirlo en el código, sobre todo si se quiere trabajar con diferentes hojas, verá, sin embargo, que en muchas ocasiones no se aplica.
Ejemplo 2
En este segundo ejemplo simplemente ampliaremos la funcionalidad de la macro del ejemplo 1. Además de escribir "Hola Mundo" en la casilla A1 de la celda A1, la pondremos en negrita y le daremos color al texto. Para ello utilizaremos las propiedades Bold y Color del objeto Font.
Sub Segundo ActiveSheet.Range("A1").Value = "Hola Mundo" ActiveSheet.Range("A1").Font.Bold = True ActiveSheet.Range("A1").Font.Color = RGB(255,0,0) End Sub
True
True , que traducido es verdadero, simplemente indica que la propiedad Bold está activada. Si se deseara desactivar, bastaría con igualarla al valor False.
La función RGB.
Observe que para establecer el color de la propiedad se utiliza la función RGB (Red, Green, Blue), los tres argumentos para esta función son valores de 0 a 255 que corresponden a la intensidad de los colores Rojo, Verde y Azul respectivamente.
Referenciar un rango de celdas Sólo tiene que cambiar a la forma Casilla_Inicial:Casilla_Final. Por ejemplo aplicar el último ejemplo al rango de casillas que va de la A1 a la A8, escriba:
Sub Segundo
ActiveSheet.Range("A1:A8").Value = "Hola Mundo" ActiveSheet.Range("A1:A8").Font.Bold = True ActiveSheet.Range("A1:A8").Font.Color = RGB(255,0,0) End Sub
Práctica Nro. 1: Trabajar con los objetos de Excel Escribir un texto en la celda A
Sub Practica1() Range("A1").Value = "Esta es la celda A1" End Sub
Práctica Nro. 2: Trabajar con los objetos de Excel Escribir un texto en la celda A1 utilizando la jerarquía completa de objetos
Sub Practica2() Worksheets(2).Range("A1").Value = "Esta es la celda A1 de la Hoja2" Workbooks(1).Worksheets(3).Range("A1").Value = "Esta es la celda A1 de la Hoja 3 del Libro 1" Application.WorkBooks(1).WorkSheets(3).Range("A1").Value = "Esta es la Celda A1 de la hoja 3 del libro1 (jerarquía completa)" End Sub
Observe que en algunos casos no es necesario especificar todas las dependencias entre objetos de Excel. Lo que ocurre es que Excel utiliza objetos por defecto. Así, si no especifica hoja, Excel supone que se refiere a la hoja activa; si no especifica libro, se supone que se refiere al libro activo, etc.
Práctica Nro. 3: Trabajar con los objetos de Excel Escribir un texto en la celda A5 en negrilla y en color rojo
Sub Practica3() Range("A5").Value = "Hola Mundo" Range("A5").Font.Bold = True Range("A5").Font.Color = RGB(255, 0, 0) End Sub