Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una vez que tenemos un código de Macro creado en un libro de Excel, nos puede interesar
que esté disponible para más libros. Si queremos reutilizar esa código para algún uso
particular, podemos exportar e importar es código de un libro a otro.
Lo primero que vamos a hacer es crear una macro con el grabador de macros. Basta con que
nos grabe cualquier acción sencilla, por ejemplo escribir en la celda A1. Una vez terminada de
grabar la macro, pulsamos Alt-F11 para abrir el entorno de VisualBasic, y hacemos doble clic
en el Módulo 1 para poder ver su código.
Una vez exportado el Módulo 1, creamos otro libro, importamos la Macro y la utilizamos para
probar que hemos hecho todo el proceso bien.
1
Otra opción para tener código disponible para todas las hojas es crear un Complemento.
Tenemos nuestra hoja recién creada y queremos que se pueda utilizar la Macro 1 en todos los
libros.
Lo primero que tenemos que hacer es cambiar las propiedades del libro que hemos creado.
Dentro de las propiedades del documento, cambiamos el Título, ya que va a ser el nombre del
complemento.
2
Una vez que hemos cambiado el nombre del Título del documento, vamos a guardarlo como
complemento.
El archivo se guarda en una carpeta especial de Excel para complementos (en inglés, AddIns).
Una vez que tenemos guardado nuestro documento como complemento, tenemos que
activarlo. Para ello, vamos al menú Herramientas -> Complementos, y dentro del cuadro de
Complementos, activamos el nuevo complemento que hemos creado.
3
Ya tenemos nuestro complemento creado, vamos al menú de las macros, para ejecutar la
Macro1 y nos encontramos con esta desagradable sorpresa:
4
¡¡¡ NO
HAY NINGUNA MACRO
CREADA !!!
No hay problema.
Funciones
Como una función es como una macro, vamos a grabar primero una macro que escriba un
valor en la celda A1. Este sería el código:
Sub Macro1()
Range("A1").Select
ActiveCell.FormulaR1C1 = "5"
Range("A2").Select
End Sub
Lo primero que diferencia una función de una macro, es que la macro empieza por la palabra
Sub y la función empieza con la palabra Function. Así que hacemos esa modificación:
Function Macro1()
Range("A1").Select
ActiveCell.FormulaR1C1 = "5"
Range("A2").Select
End Function
5
Ahora es cuando llega lo interesante. Tenemos que decidir qué valor va a devolver la función
Macro1. Para hacer un ejemplo sencillo, vamos a hacer que la función Macro1 reciba un valor
y nos devuelva el doble de ese valor. Entonces borramos el código interior de la función, y
hacemos lo siguiente. Entre los paréntesis de Macro1, vamos a escribir el nombre de la
variable que le pasamos a la función, por ejemplo, valor_introducido:
Function Macro1(valor_introducido)
End Function
Ahora ya tenemos
6
7