INICIO        MANUALES        APLICACIONES        FUNCIONES        MACROS        DESCARGAS        CORREO
 

MAPA DEL SITIO

Siguiente

 

Esta página intenta ser una guía no solo para el que se inicia en el tema VBA sino también para aquellos que, conociendo el tema, no recuerdan tal o cual instrucción o buscan ampliar sus conocimientos con otros ejemplos.
 

Los temas se encuentran separados en categorías, desde un repaso por las instrucciones básicas, hasta macros más desarrolladas, con varios ejemplos en cada una.
 

Como casi siempre hay más de una forma de programar un evento, podrán observar que a veces escribo una línea O la otra. Quiere decir que puedo utilizar cualquiera de las 2. (¡Nunca las 2 juntas!)

 

Los temas están divididos en 2 grupos principales (ver índice de contenidos en margen izquierdo)


MACROUna macro es un conjunto de instrucciones escritas en lenguaje Visual Basic (*), que nos permite automatizar ciertas tareas que la aplicación no contempla. Por ejemplo, si queremos que al abrir un libro automáticamente inserte 2 hojas nuevas, recurriremos a una macro.
(*) El lenguaje utilizado en Excel es VBA (Visual Basic for Applications)
 

Cómo se crea una macro: para automatizar una tarea mediante una macro básicamente se necesitan los siguientes elementos:   

1- un espacio de trabajo donde escribir las instrucciones o rutinas que harán esas tareas: el Editor de Macros. A este espacio se accede desde menú Herramientas, Macros, Editor o con el atajo de teclado Alt+F11. Una vez en ese 'espacio', podemos escribir las instrucciones en algunos de los objetos (hoja o libro), insertar módulos (donde escribiremos las macros) y formularios personales o Userforms

2- una acción que hará que la tarea programada se ejecute. A esto llamamos  'Eventos' que inician una macro y pueden ser: abrir o cerrar un libro, entrar o salir de una hoja, cambios o selección de celdas, antes de imprimir o guardar, el 'clic' en un botón de comando, al presionar un atajo de teclado, y otros más.   

3- un lenguaje de programación. En Excel utilizamos VBA (Visual Basic para Aplicaciones)

4- Ocasionalmente un formulario donde trabajar para luego volcar los resultados en las hojas: llamados Userforms.
 

Dónde colocar o escribir la macro: esto dependerá de lo que deba ejecutar nuestra rutina.

Si las instrucciones se deben ejecutar al abrir o cerrar un libro, se colocan en el objeto ThisWorkbook (o EsteLibro según la versión).

Si las instrucciones se deben ejecutar al entrar o salir de una hoja o al seleccionar o modificar una celda, se colocan en el objeto Hoja. Estos objetos se encuentran en el margen izquierdo del Editor, en la ventana Proyecto-VBAProyect

Si nuestra rutina será llamada con un botón, atajo de teclado  o desde otra rutina, se colocará en un módulo (menú Insertar, Módulo).

Las instrucciones para los controles de un formulario o Userforms se colocan en la sección Código del mismo form.
 

Cómo ejecutar una macro: En el punto anterior se menciona que se necesita una 'acción' que dispare o ejecute una macro grabada.
Veamos los distintos casos:

1- Una acción automática resultado de un evento, ya sea a nivel libro, hoja, rango o celda
En este grupo se encuentran las rutinas que se ejecutan en la apertura o cierre de libro, al entrar o salir de una hoja, al seleccionar o cambiar valores en celda … 

2- Al presionar un botón dibujado en la hoja. Podemos utilizar botones de la barra de Herramientas 'Cuadro de controles' o de la barra 'Formularios'.
Dibujamos el control en la hoja, ajustamos algunas propiedades como texto, tamaño, ubicación. Al hacer clic derecho sobre el control optamos por 'Ver código' o 'Asignar macro' según qué barra de herramientas hemos utilizado.

a-      Cuadro de controles: al optar por 'Ver código' nos llevará al Editor donde se generará automáticamente una rutina con estas 2 instrucciones:

Private Sub CommandButton1_click()
'aquí escribiremos nuestras instrucciones
End Sub

b-      Formularios: ya debemos tener lista la rutina en un módulo del Editor y la asignaremos cuando optemos por  'Asignar macro'.
Las rutinas para este caso son como el siguiente ejemplo:

Sub nombre_rutina()
'nuestras instrucciones
End Sub

 3- Ejecutar un atajo de teclado: En estos casos tendremos una rutina como la del punto anterior (b) en un módulo del Editor.
Desde la hoja Excel, menú Herramientas, Macros, Macros seleccionarla de la lista. Presionar el botón 'Avanzadas' e ingresar una letra, por ejemplo 't'  (sin las comillas)

Nota: Si Excel ya tiene asignada esta letra la reemplazará por Ctrl+Mayús.+t Esto significa que en el momento que necesitemos que la macro se ejecute presionaremos juntas las teclas Ctrl + t  (o Ctrl+Mayusc+t)

4- Desde el menú Herramientas: si no hemos asignado la rutina que se encuentra en un módulo a ningún botón ni a atajo de teclado, la ejecutaremos desde este menú de Excel.
 

Referencias: Veamos los términos utilizados para referirnos a libros, hojas y celdas:

Workbook            :            Libro de trabajo.
ActiveWorkbook     :            Libro activo
Workbooks("Libro1.xls") :     Llamada al libro de nombre Libro1
Workbooks(2)        :            El segundo libro abierto

WorkSheet   :      Hoja de trabajo
ActiveSheet    :      Hoja activa
Sheets("Enero")  :  Hoja de nombre 'Enero'
Sheets(3)        :     Número de hoja del libro según el orden de las pestañas.

Range         :    rango o celda
Activecell      :   la celda activa
Range("A2")  :   la celda A2
Cells(2,1)      :  la celda A2 .

Nótese que mientras en Range se introduce la celda en el orden Col,Fila, en Cells es a la inversa: Cells(fila,col)

Range("A5:B10")  : rango de celdas desde A5 hasta B10 inclusive
Range("E:E")        : columna E
Range("2:2")        : fila 2

Siguiente

INICIO

 

MANUALES

Programación_Excel

400Macros Plus

Manual del Userform

Manual Excel (2000 al 2007)

 

APLICACIONES

Facturando

Contabilizando

Libro Bancos

Libro Caja

Mi Cronograma

Libro Cobranzas

 

FUNCIONES

Base de Datos

Búsqueda y Referencias

Estadísticas

Externas

Fecha y Hora

Financieras

Información

Lógicas

Matemáticas y Trigonomét.

Texto

 

VBA

Conceptos básicos

Macros

Cómo crear una macro

El Editor

Eventos

Lenguaje

Formulario

Dónde colocar las macros

Cómo ejecutar una macro

Resultado de un evento

Utilizando un botón

Utilizando un atajo de teclado

Desde el menú Herramientas

Referencias

 

Instrucciones básicas

Trabajando con Libros
Trabajando con hojas
Trabajando con celdas
Trabajando con una colección
Trabajando con objetos

 

 

DESCARGAS

Ejemplos gratuitos para Descargar
Clic aquí para acceder a lista de ejemplos para descargar gratuitamente

 

 

 


 

 

COLECCIÓN MANUALES EXCEL

 

 

Programación_Excel

Apto para versiones 2000 al 2007 inclusive

 

 



 

 

 

 


 

 

 

Tu sitio para obtener soluciones en Excel. Desarrollos, mantenimiento y optimización de libros, aplicaciones a medida

Consultas desde aquí

 

 

 


 

 

 

 

 

 

 

Inicio          Manuales          Aplicaciones         Funciones          VBA Excel          Descargas          Correo      

1