0% encontró este documento útil (0 votos)
214 vistas77 páginas

Programacion en Excel PDF

Excel es un software de hojas de cálculo desarrollado por Microsoft que permite manipular y analizar datos numéricos. Se introdujo en 1982 y ha tenido numerosas versiones desde entonces. Excel usa VBA (Visual Basic for Applications) como lenguaje de programación, lo que permite automatizar tareas. Los objetos de Excel como hojas, celdas y libros pueden controlarse a través de sus propiedades, métodos y eventos en VBA.

Cargado por

rdortega23
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
214 vistas77 páginas

Programacion en Excel PDF

Excel es un software de hojas de cálculo desarrollado por Microsoft que permite manipular y analizar datos numéricos. Se introdujo en 1982 y ha tenido numerosas versiones desde entonces. Excel usa VBA (Visual Basic for Applications) como lenguaje de programación, lo que permite automatizar tareas. Los objetos de Excel como hojas, celdas y libros pueden controlarse a través de sus propiedades, métodos y eventos en VBA.

Cargado por

rdortega23
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 77

EXCEL

• Definición:

Microsoft Excel, MS Excel o simplemente Excel


es un software de aplicación publicado por la
empresa Microsoft, que brinda soporte digital
a las labores contables, financieras,
organizativas y de programación, mediante
hojas de cálculo. Forma parte del paquete
Microsoft Office
EXCEL

La primera incursión de Microsoft en el


mundo de las hojas de cálculo (que permiten
manipular datos numéricos en tablas
formadas por la unión de filas y columnas)
tuvo lugar en 1982, con la presentación de
Multiplan. Tres años más tarde llegaría la
primera versión de Excel.
EXCEL

El primer Excel con interfaz grafica que fue


expuesto al mercado primero se presentó
para la plataforma de Macintosh y
posteriormente fue publicado para Windows.
Versiones de Excel Apple Macintosh
1985 Excel 1.0
1988 Excel 1.5
1989 Excel 2.2
1990 Excel 3.0
1992 Excel 4.0
1993 Excel 5.0
1998 Excel 8.0 (Office ’98)
2000 Excel 9.0 (Office 2001)
2001 Excel 10.0 (Office v. X)
2004 Excel 11.0 (Office 2004)
2005 Excel 12.5 (Office 2007 2.5)
2010 Excel 14 (Office 2010)
2013 Excel 15 (Office 2015)
2015 Excel 16 (Office 2016)
2016 Excel 365
2019 Excel 19 (Office 2019)
Versiones de Excel para Windows
1987 Excel 1987 versión 2.0
1990 Excel 1990 versión 3.0
1992 Excel 1992 versión 4.0
1993 Excel 1993 versión 5.0 Office 4.2 y 4.3
1995 Excel 1995 versión 7.0 Office 95
1997 Excel 1997 versión 8.0 Office 97
1999 Excel 1999 versión 9.0 Office 2000
2001 Excel 2001 versión 10.0 Office XP
2003 Excel 2003 versión 11.0 Office 2003
2007 Excel 2007, Excel 2010
2010 Excel 14 (Office 2010)
2013 Excel 15 (Office 2015)
2015 Excel 16 (Office 2016)
2016 Excel 365
2019 Excel 19 (Office 2019)
Extensiones Excel

csv slk xlt


dbf txt xltm
dif xla xltx
htm, html xlam xlw
mht, mhtml xls xml
ods xlsb xps
pdf xlsm
prn xlsx
Programación en EXCEL
Excel Programación Orientada a Objetos

Programación orientada a objetos (POO). Es un


modelo de programación que usa objetos y sus
interacciones, para diseñar aplicaciones y
programas informáticos.
Los objetos son entidades que combinan Estado
(atributo), Comportamiento (método) e
Identidad:
Excel Programación Orientada a Objetos

Los objetos en Excel (VBA) son entidades. Una


celda es un objeto, una hoja es un objeto, un
libro es un objeto y de esta manera existen
muchos más objetos en Excel. A esto lo
conocemos como el modelo de objetos de Excel.
Modelo de Objetos en Excel
Lenguaje para Programar en EXCEL
VBA
Visual Basic para Aplicaciones

El lenguaje de Programación Visual Basic para


Aplicaciones o VBA es un lenguaje orientado a
procedimiento y eventos que tiene la capacidad
de interactuar con los objetos en Excel, es decir,
la aplicación de Excel tendrá distintos objetos con
los cuales podremos trabajar usando VBA. Estos
objetos, como en la vida real, tendrán
propiedades que los describan y métodos que
nos indiquen qué son capaces de hacer.
Visual Basic for Applications

VBA permite a usuarios y programadores ampliar la


funcionalidad de programas de la suite Microsoft
Office.
Microsoft VBA viene integrado en aplicaciones de
Microsoft Office:
Outlook, Word, Excel, Access y PowerPoint.
Su utilidad principal es automatizar tareas
cotidianas, así como crear aplicaciones.
Visual Basic for Applications

VBA (Visual Basic para aplicaciones) es


el lenguaje de macros de Microsoft Visual
Basic que se utiliza para programar
aplicaciones Windows y que se incluye en
varias aplicaciones Microsoft.
¿Que es una macro en Programación?

Abreviatura de macroinstrucción, es una serie de


instrucciones que se almacenan para que se
puedan ejecutar de manera secuencial mediante
una sola llamada u orden de ejecución. Dicho de
otra manera, una macroinstrucción es una
instrucción compleja, formada por otras
instrucciones más sencillas. Esto permite la
automatización de tareas repetitivas.
Las macros tienden a almacenarse en el
ámbito del propio programa que las utiliza y
se ejecutan pulsando una combinación
especial de teclas o un botón especialmente
creado y asignado para tal efecto.
La diferencia entre una macroinstrucción y
un programa es que en las
macroinstrucciones la ejecución es
secuencial y no existe otro concepto del
flujo de programa.
Crear Macros en Excel

La forma más rápida de crear una macro es


utilizar la grabadora, ya que no es necesario
saber VBA.
Lo que hace la grabadora de macros es
guardar todas y cada una de las acciones que
vas realizando. Estas acciones se graban paso
a paso hasta que se detiene la grabación.
Mientras vas realizando acciones, la
grabadora las convierte en lenguaje VBA.
Jerarquía de Objetos en Excel

Excel cuenta con más de 200 objetos. Cada


elemento de Excel es un objeto. Un libro
(Workbook), una hoja (Worksheet), un gráfico
(Chart) o una tabla dinámica (PivotTable) son
algunos ejemplos de objetos dentro del
modelo de Excel.
Muchos de los objetos se agrupan en
colecciones.
Jerarquía de Objetos en Excel

Los objetos del modelo de Excel están


organizados por jerarquías, que significa que
unos objetos pueden contener a otros
objetos.
Cuando abres el programa Excel, en realidad
estás abriendo el objeto Application y al
mismo tiempo estás abriendo un libro en
blanco representado por el objeto Workbook.
Este libro contiene una hoja activa,
representado por el objeto Worksheet, que a
su vez contiene un conjunto de celdas,
representado por el objeto Range.
Jerarquía de Objetos en Excel

Gracias a esta organización puedes hacer


referencia a cualquiera de los objetos
siguiendo la posición jerárquica que ocupa
dentro del modelo de objetos.
Por ejemplo, para hacer referencia al libro
“Ventas anuales.xlsx” habría que hacerlo de la
siguiente forma:
Jerarquía de Objetos en Excel

Si quisieras seleccionar la celda B2 de la hoja


“Totales” del libro “Ventas anuales.xlsx”,
tendrías que hacerlo siguiendo toda la
jerarquía:
Jerarquía de Objetos en Excel

La instrucción anterior se puede simplificar en


la mayoría de los casos omitiendo el objeto
Application. Esto es posible porque la
instrucción está creada dentro de Excel
(Application).
Jerarquía de Objetos en Excel

Todos los objetos del mismo tipo forman una


colección. Las colecciones permiten trabajar con
un grupo de objetos como si de un solo objeto se
tratara. Normalmente, el nombre de una
colección es el objeto en plural de los objetos
que contiene.
Por ejemplo, Worksheets es el nombre de la
colección que reúne todos los objetos
Worksheet.
Propiedades, métodos y eventos de los objetos
de Excel

La programación orientada a objetos se basa en


la modificación de las propiedades y métodos de
los objetos.
Propiedades

Las propiedades son las características propias


del objeto, que hace que se distinga de otros
objetos (nombre, tamaño, color, ubicación en la
pantalla…)
Por ejemplo, propiedades del objeto Range
pueden ser Name (nombre), Value (valor) y
Column (columna), entre muchos otros.
Métodos

Se denominan métodos, a las acciones que


puedes hacer con un objeto. Se puede decir que
son órdenes que se le dan a los objetos para que
haga algo sobre sí mismo. De esta forma, el
objeto Range tiene los métodos Activate
(activar) y Clear (borrar), entre muchos otros.
La implementación de un método en el objeto es
muy sencilla. Esta es la sintaxis:
Evento

Un evento se da cuando sucede una


determinada situación. Por ejemplo, abrir un
libro, imprimir o cerrar una ventana son eventos.
Con VBA es posible programar acciones cuando
se produce un evento.
La pestaña Desarrollador

¿No encuentra la pestaña Desarrollador en la cinta


de opciones?
Eso es porque al instalar Excel, se encuentra oculta.
Obviamente debe mostrarla antes de comenzar a
trabajar con ella.
La pestaña Desarrollador

Para mostrar la pestaña Desarrollador, haga clic con


el botón derecho en cualquier parte de la cinta de
opciones y selecciones Personalizar la cinta de
opciones. A continuación, activa la casilla de
verificación correspondiente en la parte de la
derecha del cuadro de diálogo.
En la ficha Desarrollador (o Programador, según la
versión de Excel que utilice) se encuentran los
comandos que utilizarás para gestionar los
complementos y los controles.
La pestaña Desarrollador
Formato de archivo para macros

La potencia que tienen las macros y el lenguaje


VBA en general, hacen que un Libro de Excel sea la
puerta perfecta para que nuestros equipos se
infecten con virus.
Formato de archivo para macros

Microsoft tomó medidas hace ya varios años para


prevenir este uso indebido de Excel, creando un
formato de archivo especial para guardar los
libros que contienen macros. Además, incluyó
varios niveles de seguridad.
La extensión .xlsm fue la elegida para designar a
los archivos con macros. En las versiones
anteriores a Excel 2007 era imperceptible a menos
que tuvieras habilitados los niveles de seguridad
que respectan a las macros.
Formato de archivo para macros

Con sólo comprobar la extensión del libro podrá


determinar si contiene alguna macro y así decidir
si quiere abrirlo o no, en función de la confianza
que le genere.
Siempre que abra un libro que contenga VBA, se
mostrará de forma predeterminada y debajo de la
cinta de opciones un mensaje en el que se indica
que se han deshabilitado las macros.
Hace unos años se pusieron de moda los virus
dentro de macros. Estos virus se aprovechaban de
archivos aparentemente inofensivos para hacer
varios tipos de ataque.
Para poder trabajar con archivos que contienen
macros, debes configurar las restricciones de
seguridad de Excel desde el Centro de Confianza.
Para ver qué configuración tiene Excel en el
momento, pulsa en el botón Seguridad de macros
que se encuentra en el grupo Código de la ficha
Desarrollador.
Editor de VBA
Editor de VBA
El editor de Visual Basic for Applications es el lugar
donde se desarrollan, prueban y modifican las
macros. Se ejecuta en una ventana diferente a la
de Excel y se accede a ella de estas tres formas:
•Haciendo clic en el botón Visual Basic de la ficha
Desarrollador.
•Cuando ya existe la macro, pulsando el botón
Modificar del cuadro de diálogo Macros, que
aparece al pulsar el botón Macros de la ficha
Desarrollador.
•Pulsando Alt + F11.
La ventana del editor muestra todo lo
necesario para comenzar a crear una macro.
Editor de VBA
El editor de Visual Basic for Applications es el lugar
donde se desarrollan, prueban y modifican las
macros. Se ejecuta en una ventana diferente a la
de Excel y se accede a ella de estas tres formas:
•Haciendo clic en el botón Visual Basic de la ficha
Desarrollador.
•Cuando ya existe la macro, pulsando el botón
Modificar del cuadro de diálogo Macros, que
aparece al pulsar el botón Macros de la ficha
Desarrollador.
•Pulsando Alt + F11.
Editor de VBA
•La barra de menús: Desde aquí se accede a la
mayoría de funciones de VBA para desarrollar,
comprobar y guardar las macros.
•La barra de herramientas estándar: Contiene los
botones con los comandos más utilizados.
•La barra de herramientas de Edición: Aquí se
encuentran los comandos más útiles cuando se
está escribiendo el código.
•El explorador de proyectos: Se muestra un árbol
con todos los archivos que se encuentran abiertos,
que contienen los componentes de los proyectos.
Editor de VBA
•Ventana de código: Es la que se emplea para
escribir todo el código VBA. Cada elemento de un
proyecto tiene asignada su propia ventana de
código.
•La ventana propiedades: permite cambiar las
propiedades del objeto seleccionado, mientras
estás en Modo Diseño.
•La ventana Inmediato: Permite probar una
instrucción estando en Modo Diseño. No se
muestra por defecto, pero puedes visualizarla
pulsando Ctrl + G.
Editor de VBA

Como en la mayoría de aplicaciones, puedes


modificar a tu gusto todos los elementos de la
ventana del editor. Puedes hacer estas
modificaciones pulsando en el botón Opciones del
menú Herramientas.
Procedimientos en VBA

Un procedimiento es un bloque de instrucciones


Visual Basic delimitadas por una instrucción de
declaración (Function, Sub, Operator, Get, Set) y
una declaración End coincidente. Todas las
instrucciones ejecutables en Visual Basic deben
estar dentro de algún procedimiento
Procedimientos en VBA

La ventana del Explorador de Proyectos muestra


todos los objetos que pueden contener código (los
objetos Hojas, ThisWorkbook, Módulos,
Userforms).
Dentro de estos objetos se ubican los
procedimientos. En Excel existen tres tipos de
procedimiento:
• Sub
• Function
• Property
Procedimientos en VBA

De forma predeterminada, los procedimientos son


públicos (Public), en todos los módulos. Esto
significa que se los puede llamar desde cualquier
parte del proyecto.
Si estableces el procedimiento como Private, sólo
podrá ser llamado desde otros procedimientos
que se encuentren en el mismo módulo.
Procedimientos en VBA

• Sub
Un procedimiento Sub es un conjunto de
instrucciones que realizan una serie de acciones
específicas.
Hay dos tipos de procedimientos Sub:
•Procedimientos generales: Son los que se
declaran dentro de un módulo.
•Procedimientos de evento: Se ejecuta
automáticamente cuando se produce una
determinada situación o contexto.
Procedimientos en VBA

• Sub

Todos los procedimientos Sub comienzan con la


palabra Sub seguida del nombre que le quieras
dar, y finalizan con la instrucción End Sub.
La instrucción Sub también puede ir precedida de
otras palabras que determinan el ámbito, y puede
contener una lista de argumentos para que el
procedimiento pueda usarlos de manera interna.
Procedimientos en VBA

• Function

Todos los procedimientos Sub comienzan con la


palabra Sub seguida del nombre que le quieras
dar, y finalizan con la instrucción End Sub.
La instrucción Sub también puede ir precedida de
otras palabras que determinan el ámbito, y puede
contener una lista de argumentos para que el
procedimiento pueda usarlos de manera interna.
Procedimientos en VBA

• Function
Excel cuenta con muchas funciones de hoja
predefinidas como SUMA, BUSCARV o SUMAR.SI.
Pero a veces es necesario realizar cálculos más
complejos para los que no existe una función.
Gracias a los procedimientos Function, puedes
crear nuevas funciones, ampliando así las que ya
existen. Al igual que los procedimientos Sub, los
Function también admiten argumentos que
permiten realizar los cálculos más eficazmente.
Procedimientos en VBA

• Property
Este tipo de procedimiento se utiliza para crear y
personalizar las propiedades de los objetos de
Excel. Se declaran automáticamente como
públicos, aunque es posible hacerlo como
privados.
Variables En Excel

• Variables
En muchas ocasiones necesitará guardar datos de
forma temporal para utilizarlos más adelante en
otros cálculos. Por ejemplo, puedes almacenar los
valores de venta de un producto cada mes para
luego utilizarlo para hallar el total anual.
En general, una variable es una pequeña región de
la memoria que se utiliza para guardar valores o
información que luego se usará en la ejecución del
programa.
Variables, constantes y otros datos

• Variables
Toda la información que se maneja necesita
utilizar la memoria RAM del ordenador, por eso es
una buena práctica reservar un lugar para guardar
una variable antes de utilizarla. Esto se conoce
como declaración de la variable y, aunque no es
totalmente necesario, te ayudará a entender
mejor el código una vez escrito.
Variables, constantes y otros datos

• Variables
Puede declarar una variable de dos formas
diferentes:

•Forma implícita: La variable se declara en el


momento en el que se va a utilizar. Se hace
mediante la asignación de un valor al nombre.
Variables, constantes y otros datos

• Variables
•Forma explícita: Es necesario definir previamente
el nombre de la variable antes de utilizarla.
Para declarar una variable de esta forma debes
escribir la palabra Dim seguida del nombre de la
variable. Dim Empleado.
Variables, constantes y otros datos

• Variables
Existe una forma de obligarte a declarar las
variables y es introducir la instrucción Option
Explicit al comienzo del módulo, fuera de
cualquier procedimiento. Esto hará que cada vez
que VBA encuentre una variable sin declarar, te
informe de que debes declararla antes de
utilizarla.
Funciones integradas de VBA

Las funciones son uno de los elementos básicos de


la programación. Además de las funciones de hoja
que proporciona Excel, es posible crear funciones
gracias a los procedimientos Function. Además,
VBA tiene funciones integradas que puedes
utilizar dentro de los procedimientos.
Funciones integradas de VBA

Las funciones son uno de los elementos básicos de


la programación. Además de las funciones de hoja
que proporciona Excel, es posible crear funciones
gracias a los procedimientos Function. Además,
VBA tiene funciones integradas que puedes
utilizar dentro de los procedimientos.
Funciones integradas de VBA
La función InputBox

Es una función que permite interactuar con el


usuario solicitándole información mientras se
ejecuta una macro. Esto se hace mediante un
cuadro de diálogo.
Funciones integradas de VBA
La función InputBox

Esta función devuelve los datos introducidos en


forma de cadena de caracteres cuando el usuario
pulsa el botón Aceptar. Si pulsa el botón Cancelar
o cierra el cuadro desde la X devuelve una cadena
de longitud cero (“”).
Funciones integradas de VBA
La función MsgBox

Es la función más utilizada en VBA. Se emplea para


obtener una respuesta simple como Sí o No del
usuario y para mostrar mensajes breves como
errores y algún dato relevante para la ejecución de
la macro.
La función MsgBox hace dos cosas: Muestra un
cuadro de diálogo para darle información al
usuario y devuelve un valor del tipo Integer
dependiendo del botón pulsado.
Funciones integradas de VBA
Las funciones de comprobación

Este tipo de funciones ayudan al usuario a


comprobar el tipo de dato que contiene una
expresión o variable. Estas son las funciones de
comprobación:
•IsDate: Comprueba si una expresión se puede
convertir en una fecha.
•IsNumeric: Comprueba si una expresión contiene
un valor que se pueda interpretar como un
número.

Funciones integradas de VBA
Las funciones de comprobación

•IsNull: Comprueba si una expresión contiene un


valor nulo.
•IsEmpty: Comprueba si una expresión contiene
algún valor o todavía no se han iniciado.
•IsObject: Comprueba si una variable representa
una variable de tipo Object.
Funciones integradas de VBA
Las funciones matemáticas
VBA también cuenta con funciones matemáticas
propias para realizar operaciones matemáticas y
que se pueden emplear en los procedimientos.
Casi todas ellas coinciden con alguna de las
funciones de hoja. Te muestro algunas de ellas:
•Abs: Devuelve el valor absoluto de un número.
•Int: Devuelve la parte entera de un número
decimal.
•Rnd: Devuelve un número aleatorio entre 0 y 1.
•Sqr: Devuelve la raíz cuadrada de una expresión
numérica.
Funciones integradas de VBA
Las funciones de fecha y hora

Con VBA también puedes realizar operaciones


relacionadas con fechas y horas. Estas son las
funciones más utilizadas:
•Date: Devuelve la fecha actual del equipo.
•Now: Devuelve la fecha y la hora actuales del
equipo.
•Time: Devuelve la hora actual del equipo.
•DateDiff: Devuelve la diferencia entre dos fechas.
Estructuras de programación
Las estructuras de programación le permiten
controlar el flujo de la ejecución de la macro,
desviándolo según acciones del usuario o
repitiendo ciertas instrucciones. Estas estructuras
existen en todos los lenguajes de programación y
funcionan casi de la misma forma.

También podría gustarte