PDF de programación - TEMA 6 Programación de Macros de Excel utilizando VBA

Imágen de pdf TEMA 6 Programación de Macros de Excel utilizando VBA

TEMA 6 Programación de Macros de Excel utilizando VBAgráfica de visualizaciones

Publicado el 7 de Julio del 2019
818 visualizaciones desde el 7 de Julio del 2019
4,8 MB
52 paginas
Creado hace 5a (01/12/2014)
TEMA 6


TEMA 6



PROGRAMACIÓN DE MACROS DE EXCEL UTILIZANDO VISUAL BASIC FOR
APPLICATIONS



TEMA 6



PROGRAMACIÓN DE MACROS DE EXCEL
UTILIZANDO VISUAL BASIC FOR APPLICATIONS

1º Grado en Ingeniería Química | Laura Briones Gil

PROGRAMACIÓN DE MACROS DE EXCEL UTILIZANDO VISUAL BASIC FOR
APPLICATIONS

TEMA 6


Contenido

1.

INTRODUCCIÓN A LAS MACROS DE EXCEL .......................................................................... 2

1.1

1.2

LA GRABADORA DE MACROS ........................................................................................ 3

SEGURIDAD DE MACROS ............................................................................................... 7

2. PRINCIPIOS BÁSICOS DE PROGRAMACIÓN EN VBA ............................................................ 8

2.1

2.2

2.3

PROGRAMACIÓN ORIENTADA A OBJETOS .................................................................... 8

EL EDITOR DE VISUAL BASIC ........................................................................................ 12

TIPOS DE ERRORES EN VBA ......................................................................................... 15

3. PROGRAMACIÓN EN VBA ................................................................................................... 17

3.1

3.2

3.3

3.4

VARIABLES ................................................................................................................... 17

ENTRADA DE DATOS Y EMISIÓN DE RESULTADOS ...................................................... 18

FUNCIONES .................................................................................................................. 21

ESTRUCTURAS DE CONTROL DE FLUJO ....................................................................... 25

4.

FORMULARIOS Y CONTROLES ............................................................................................ 38

ANEXO: ........................................................................................................................................ 50



1

TEMA 6



PROGRAMACIÓN DE MACROS DE EXCEL UTILIZANDO VISUAL BASIC FOR
APPLICATIONS

1. INTRODUCCIÓN A LAS MACROS DE EXCEL

Una macro es un conjunto de comandos que se almacenan en Excel de manera que están
siempre disponibles cuando se necesita ejecutarlas. Las macros se utilizan principalmente para
evitar tener que repetir los pasos de aquellas tareas que se realizan una y otra vez.

Las macros se escriben en un lenguaje de programación que se denomina Visual Basic for
Applications (VBA). Aunque no es necesario conocer a fondo este lenguaje para crear una
macro, ya que Excel contiene una herramienta especial de programación, manejar este
lenguaje permite acceder a todas las funcionalidades de Excel y ampliar las posibilidades del
programa.

Como para cualquier otro lenguaje de programación, hay que aprender a utilizar los comandos
que le son propios, de manera que la aplicación pueda ejecutar las tareas programadas.

Las macros se pueden crear de dos maneras, utilizando un Editor de Visual Basic o utilizando la
Grabadora de Macros de Excel. Ambas opciones se ejecutan desde la Ficha Programador de la
cinta de opciones. Al igual que ocurría con el Solver, la Ficha Programador no aparece por
defecto al abrir la aplicación, sino que es necesario activarla. Para ello, desde la Ficha Archivo,
hay que seleccionar Opciones Opciones de Excel Personalizar la cinta de opciones
seleccionar la opción Programador:



2

TEMA 6

PROGRAMACIÓN DE MACROS DE EXCEL UTILIZANDO VISUAL BASIC FOR
APPLICATIONS


La Ficha Programador tiene el siguiente aspecto:



• El Grupo Código contiene los comandos necesarios para inicial el Editor de Visual Basic
donde se puede escribir directamente código VBA. También permite ver la lista de macros
disponibles para poder ejecutarlas o eliminarlas. También contiene el comando Grabar
Macro, que permite crear una nueva macro sin necesidad de conocer programación en
VBA.

• El Grupo Complementos permite habilitar y administrar complementos como el Solver.
• El Grupo Controles permite agregar controles especiales a una hoja de Excel, tales como

botones, casillas de verificación, botones de opciones, etc.

• El Grupo XML permite trabajar con ficheros XML.
• El Grupo Modificar contiene únicamente el comando Panel de Documentos.

1.1 LA GRABADORA DE MACROS

La Grabadora de Macros es la forma más sencilla de crear una macro. Consiste básicamente en
grabar todos los pasos que el usuario ejecuta para resolver un problema y seguir ese mismo
esquema para resolver problemas similares en el futuro. Por tanto, al utilizar la grabadora es
conveniente planificar previamente los pasos que se van a seguir y no realizar acciones
innecesarias mientras se realiza la grabación.

La grabadora se activa con el comando Grabar macro. Al pulsar el botón se abre un cuadro de
diálogo en el que hay que introducir el nombre de la macro y la ubicación donde se desea
guardar1. Una vez creada una macro, el comando se transforma en Detener grabación.



1 Si la macro se guarda en un libro nuevo puede ser ejecutada desde cualquier libro creado durante la
sesión actual de Excel. Si se guarda en un libro de macros personal, la macro se podrá utilizar en
cualquier momento sin importar el libro de Excel que se esté utilizando.

3



TEMA 6

PROGRAMACIÓN DE MACROS DE EXCEL UTILIZANDO VISUAL BASIC FOR
APPLICATIONS


Ejemplo 1: Grabar una macro sencilla.

Una macro puede ser cualquier conjunto de comandos, desde cambiarle el color a una celda,
hasta introducir una función y resolverla. En este ejemplo, se ha grabado un ejercicio de tipo
Buscar Objetivo igual que uno de los que se hizo en el tema 2. Se ha cambiado el formato de la
celda del título para combinar y centrar un conjunto de celdas, cambiar la fuente a negrita en
blanco y el fondo a rojo, se ha escrito el título y los rótulos de las casillas, se ha recuadrado el
conjunto de casillas y se ha utilizado el comando Buscar objetivo para resolver el problema. La
macro se ha guardado con el nombre Y_Si en el libro personal de macros.

El resultado al ejecutarla con el comando Macros es el esperado:

Para ver el código exacto que contiene esta macro, en lugar de ejecutarla se puede abrir para
modificar. Esto abre el Editor de Visual Basic:



Podemos ver en detalle cada uno de los pasos que incluye el programa:



4

TEMA 6



PROGRAMACIÓN DE MACROS DE EXCEL UTILIZANDO VISUAL BASIC FOR
APPLICATIONS

Sub Y_Si() Se le pide crear una macro con el nombre Y_Si

' Y_Si Macro

' Resuelve un problema de tipo Y si Esta es la descripción que se ha incluido al crearla

Range("A1:D1").Select Selecciona las celdas A1 a D1

With Selection Con esas celdas

.HorizontalAlignment = xlCenter centra el contenido tanto horizontalmente

.VerticalAlignment = xlBottom como verticalmente

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

Esto son más
opciones de alineado,
como añadir una
sangría o ajustar el
texto a la celda, que
por defecto entiende
que no hay que hacer

End With termina con las opciones de alineado

Selection.Merge combina las celdas seleccionadas

Range("A1:D1").Select selecciona la nueva celda combinada como celda objetivo

ActiveCell.FormulaR1C1 = "Hallar el valor de x que hace y = x2+x+2 = 10" y escribe este
texto

Selection.Font.Bold = True Sobre la celda seleccionada hace que la fuente sea negrita

With Selection.Font sobre esa celda

.ThemeColor = xlThemeColorDark1 cambia el color

.TintAndShade = 0 para que sea blanco

End With termina con las opciones de la fuente

With Selection.Interior para la celda seleccionada cambia el color del fondo

.Pattern = xlSolid para que toda la celda esté rellena

.PatternColorIndex = xlAutomatic de uno de los colores automáticos

.ThemeColor = xlThemeColorAccent2 en concreto el rojo oscuro

.TintAndShade = 0 sin sombras ni bordes de celda

.PatternTintAndShade = 0 ni ningún patrón de relleno

End With termina con el relleno de la celda

Range("A3").Select para la celda A3

ActiveCell.FormulaR1C1 = "Valor objetivo (y)" escribe este texto

Range("A5").Select para la celda A5

ActiveCell.FormulaR1C1 = "Variable independiente (x)" escribe este texto

Columns("A:A").EntireColumn.AutoFit amplía el ancho de la columna A hasta ajustar el

5



PROGRAMACIÓN DE MACROS DE EXCEL UTILIZANDO VISUAL BASIC FOR
APPLICATIONS

TEMA 6


texto

Range("C3").Select a la celda C3

ActiveCell.FormulaR1C1 = "=R[2]C^2+R[2]C+2" le da el valor de la siguiente función

Range("A1:D5").Select sobre este rango de celdas

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone



With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(
  • Links de descarga
http://lwp-l.com/pdf16242

Comentarios de: TEMA 6 Programación de Macros de Excel utilizando VBA (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad