Principales respuestas
Programacion VBA en Excel 2007

Pregunta
-
Estoy empezando a programar en VBA para Excel 2007, y he hecho un procedimiento Sub de prueba que me pregunta al terminar si Estoy seguro de querer salir.
Lo he realizado en el entorno de VBA en Excel y lo he ejecutado en dicho entorno, funcionando correctamente.Las preguntas son:
Como grabo el procedimiento en disco para que lo puedan ejecutar otras hojas ?
Como llamo al procedimiento desde una Hoja ? (Creia que era de la forma =Call Procedimiento())
Saludos
Respuestas
-
Creo entonces que lo mejor es desarrollar un complemento de Microsoft Excel, para lo cual sigue los siguientes pasos:
1. En Excel crear un Libro nuevo.
2. Si no tienes la Solapa Programador en la Cinta de opciones, la puedes habilitar en Archivo / Personalizar cinta de opciones / Marcar Programador.
3. En la Cinta de Opciones, ir a Programador / Macros.
4. Escribir el Nombre de la Macro, y presionar el botón Crear. Aquí debes de poder ponerle el nombre que desees.
5. Escribir la Macro.
6. Ir a Archivo Guardar como, y seleccionar el tipo Complemento Excel (*.xla). Esto es fundamental, para que Excel no considere este archivo como un Libro sino como un Complemento.
7. Al Guardar, te va a sugerir copiar el archivo en la siguiente Carpeta (Windows 7 en mi caso y el Usuario Alejandro Garrido): C:\Users\Alejandro Garrido\AppData\Roaming\Microsoft\Complementos.
8. Cierra Excel y vuelve a entrar.
9. Ve a Archivo / Opciones, y en la parte de abajo selecciona en Administrar, Complementos de Excel, y presiona el botón Ir.
10. Te va a aparecer en la lista el Complemento con el Nombre que guardaste el archivo XLA.
11. Si son Funciones ya te van a quedar habilitadas.
11. Si son Macros, debes agregar botones en la Cinta de Opciones, para esto ve a Archivo / Opciones / Personalizar Barra de Herramientas, en la derecha crea una nueva Ficha, luego un nuevo Grupo, y luego en la lista de la izquierda selecciona Macros y te mostrará tus Macros, arrástralas a la lista de la derecha para que te agregue los botones.
12. Sal de Excel y vuelve a entrar, y verás mientras inicia que te va a mostrar que esta cargando los XLA que seleccionaste, y te aparecerán en la Cinta de Opciones los botones.
Yo lo acabo de hacer con un ejemplo y está funcionando.
Suerte.
Alejandro Garrido Socio Director | ZetaConsulting E-mail: alejandro@zetasoftware.com | garridoalejandro@gmail.com Blog: garridoalejandro.blogspot.com Twitter: @garridoale
- Propuesto como respuesta Alejandro Garrido viernes, 22 de junio de 2012 13:45
- Marcado como respuesta jorge234 viernes, 22 de junio de 2012 16:50
Todas las respuestas
-
Hola, lo primero que debes hacer es instalar la planilla que contiene las macros en la carpeta Startup de Excel, para que te la abra al iniciarse Excel y de esa manera tengas las macro disponibles.
Aquí tienes las instrucciones: http://support.microsoft.com/kb/822107
Para ejecutar la Macro puedes incluir un botón en la barra de herramientas.
Saludos.
Alejandro Garrido Socio Director | ZetaConsulting E-mail: alejandro@zetasoftware.com | garridoalejandro@gmail.com Blog: garridoalejandro.blogspot.com Twitter: @garridoale
-
Gracias Alehjandro por responder,
Bueno, ya he logrado ejecutar la funcion en la hoja de Excel que tenia pero mi sorpresa ha sido que al ir a guardar la Sub hecha en el Programador de VBA me dice que tengo que cambiar el tipo a .xlsm.Cambio a .xlsm y me llevo otra sorpresa ya que a la hoja de Excel que tenia le ha cambiado el nombre y le ha puesto la de la Sub que he programado.
Yo lo que queria hacer es programar varias Sub y Funciones, dandoles a cada una su nombre, que valiesen para muchas hojas, las cuales tendrian otros nombres.
Como debo de hacerlo, tanto en Excel como en el entorno de Programacion ?
Gracias anticipadas
-
Jorge, aquí va un ejemplo de como hacerlo paso a paso:
1. En Excel crear un Libro nuevo.
2. Si no tienes la Solapa Programador en la Cinta de opciones, la puedes habilitar en Archivo / Personalizar cinta de opciones / Marcar Programador.
3. En la Cinta de Opciones, ir a Programador / Macros.
4. Escribir el Nombre de la Macro, y presionar el botón Crear.
5. Escribir la Macro.
6. Ir a Archivo Guardar como, y seleccionar el tipo Libro de Excel habilitado para Macros (*.xlsm). Esto es fundamental, dado que sólo pueden guardarse macros en este formato y no en xlsx.
7. Guardar el archivo .xlsm en C:\Archivos de programa\Microsoft Office\Office14\XLSTART. Para que Excel abra automáticamente dicho Libro con la Macro programada.
8. Cerrar Excel.
9. Al iniciar nuevamente Excel, ir a Programador / Macros y se mostrará disponible la Macro guardada anteriormente.
10. Repetir el proceso por cada Macro.
Saludos.
Alejandro Garrido Socio Director | ZetaConsulting E-mail: alejandro@zetasoftware.com | garridoalejandro@gmail.com Blog: garridoalejandro.blogspot.com Twitter: @garridoale
-
Gracias Alejandro por tu paciencia y por desmenuzarme lo que tengo que hacer de manera tan detallada,
He hecho todo tal como dices y efectivamente cuando inicio Excel y solo cuando lo inicio, me aparecen las macros guardadas en XLSTART, pero si yo cierro la hoja y abro nueva hoja, desaparecen y ya no las puedo utilizar.A mi lo que me gustaria es que todas las funciones y Sub's que yo programe, las pueda llamar desde cualquier hoja o proyecto para hacer el trabajo para las que fueron diseñadas.Ademas cuando yo abro Excel, el nombre del proyecto toma el nombre de la ultima Sub o funcion almacenada en XLSTART.
Mi idea es la misma que en programacion, es decir poder llamar a subroutinas ya hechas desde cualquier nuevo proyecto, y no tener que programar otra vez algunas cosas en el nuevo proyecto.
Es posible realizar lo que pretendo?
Saludos
-
Creo entonces que lo mejor es desarrollar un complemento de Microsoft Excel, para lo cual sigue los siguientes pasos:
1. En Excel crear un Libro nuevo.
2. Si no tienes la Solapa Programador en la Cinta de opciones, la puedes habilitar en Archivo / Personalizar cinta de opciones / Marcar Programador.
3. En la Cinta de Opciones, ir a Programador / Macros.
4. Escribir el Nombre de la Macro, y presionar el botón Crear. Aquí debes de poder ponerle el nombre que desees.
5. Escribir la Macro.
6. Ir a Archivo Guardar como, y seleccionar el tipo Complemento Excel (*.xla). Esto es fundamental, para que Excel no considere este archivo como un Libro sino como un Complemento.
7. Al Guardar, te va a sugerir copiar el archivo en la siguiente Carpeta (Windows 7 en mi caso y el Usuario Alejandro Garrido): C:\Users\Alejandro Garrido\AppData\Roaming\Microsoft\Complementos.
8. Cierra Excel y vuelve a entrar.
9. Ve a Archivo / Opciones, y en la parte de abajo selecciona en Administrar, Complementos de Excel, y presiona el botón Ir.
10. Te va a aparecer en la lista el Complemento con el Nombre que guardaste el archivo XLA.
11. Si son Funciones ya te van a quedar habilitadas.
11. Si son Macros, debes agregar botones en la Cinta de Opciones, para esto ve a Archivo / Opciones / Personalizar Barra de Herramientas, en la derecha crea una nueva Ficha, luego un nuevo Grupo, y luego en la lista de la izquierda selecciona Macros y te mostrará tus Macros, arrástralas a la lista de la derecha para que te agregue los botones.
12. Sal de Excel y vuelve a entrar, y verás mientras inicia que te va a mostrar que esta cargando los XLA que seleccionaste, y te aparecerán en la Cinta de Opciones los botones.
Yo lo acabo de hacer con un ejemplo y está funcionando.
Suerte.
Alejandro Garrido Socio Director | ZetaConsulting E-mail: alejandro@zetasoftware.com | garridoalejandro@gmail.com Blog: garridoalejandro.blogspot.com Twitter: @garridoale
- Propuesto como respuesta Alejandro Garrido viernes, 22 de junio de 2012 13:45
- Marcado como respuesta jorge234 viernes, 22 de junio de 2012 16:50
-