En Excel 2007 podemos, como en las versiones anteriores, ligarla la macro a objetos o asignarle una combinación de teclas. Pero no tenemos barras de herramientas donde poner el icono o menús donde incluir la macro.
Sin embargo tenemos la alternativa de poner un icono ligado a la macro en la barra de acceso rápido.
Supongamos que queremos poner un icono para correr una macro que agrega hojas a un cuaderno a partir de los valores de una lista. Los pasos son los siguientes (la macro tiene que estar en un cuaderno abierto o en Personal .xls):
1 – abrimos el menú de Opciones de Excel – Personalizar (o apretando la flecha en el extremo derecho de la barra de acceso rápido). En la ventanilla ”Comandos disponibles en” elegimos Macros
2 – En la ventanilla inferior veremos una lista de macros disponibles, ordenadas alfabéticamente
En caso de no ver el nombre completo, podemos apuntar con el señalador del mouse y después de unos instantes veremos el nombre completo de la macro. Seleccionamos la macro y apretamos el botón “Agregar”
3 – Para cambiar el icono que Excel pone por defecto seleccionamos la macro que acabamos de agregar y apretamos el botón “Modificar”
Elegimos un icono adecuado. En la ventanilla “Nombre para mostrar” cambiamos el texto que Excel a puesto por defecto (el nombre de la macro) por un texto descriptivo. Finalmente apretamos el botón “Aceptar”.
Excel agrega el icono a la barra de acceso rápido y al apuntar con el señalador del mouse podemos ver la descripción de la acción que ejecuta la macro.
Si tenemos una varias macros que usamos con frecuencia, podemos agregarlas a la barra de acceso rápido con facilidad.
Technorati Tags: MS Excel
Oye tenia un detalle a querer generar un icono con este nuuevo oficce, pero gracias por tu aporte salio.
ResponderBorrarGracias y Excelente aporte .
Hola Jorge
ResponderBorrarTodo bien, pero nose que hago mal, donde se encuentra generalmente el libro personal.xls en office 2007?, para poder correr la macro cuando uno guste, nose que estoy haciendo mal, pero no me funciona, probe de varias formas (en un libro abierto me funciona bien), pero quiero usarla ya por defecto!
La macro esta excelente...
Gracias
Hola Gerson
ResponderBorrarfijate en esta nota donde explico como encontrar donde está guardado el Personal.xlsb
Hola Jorge,
ResponderBorrarLo primero, gracias por este magnífico Blog que tanto nos está ayudando a los que estamos empezando a descubrir un poco más en serio el Excel.
Mi pregunta es si sería posible asignar a la macro un icono personalizado, en mi caso el logo de una empresa.
Muchas gracias de antemano y un saludo.
Susana,
ResponderBorrargracias por los conceptos. En cuanto a tu consulta, en principio si es posible, pero qué versión de Excel estás usando (supongo que 2007, pero pregunto por las dudas) y dónde tiene que estar ubicado el icono?
Hola Jorge,
ResponderBorrarGracias por contestar tan rápido. Uso Excel 2007, y el icono puede estar ubicado en la barra de acceso rápido. La idea es poder poner a funcionar una macro con cualquier libro de Excel, pero sólo cuando el usuario quiera (por eso no lo hago a través de un formulario que se inicie al abrir el libro), así que creo que lo mejor es ponerlo en dicha barra, aunque admito ideas (acabo de empezar en esto así que aún no se bien de qué opciones dispongo).
Muchas gracias por la ayuda, un saludo.
Susana, de momento que una macro está ligado a un icono, ésta correrá solamente cuando el usuario apriete el icono. Una macro que esté disponible para cualquier libro Excel tiene que estar guardada en el el Personal.xlsb (o Personal.xls, si trabajamos con versiones anteriores a XL2007)
ResponderBorrarHola Jorge,
ResponderBorrarGracias de nuevo por contestar. Entonces, en cuanto a la pregunta inicial de asignar un icono personalizado a la macro, ¿cómo se podría conseguir?
Un saludo
Hola Jorge,
ResponderBorrarMe han comentado que para poder asignar un icono personal (y no de los que ofrece Excel) a una macro para conseguir un acceso directo en la barra de acceso rápido, tendría que programar una subrutina relacionada con scripts. ¿No hay alguna otra forma más sencilla de conseguirlo?
Un saludo
Hola Susana,
ResponderBorrarno conozco ningún otro método fuera del que mencionás.
Gracias igualmente Jorge, habrá que ponerse manos a la obra entonces.
ResponderBorrarMil gracias, me has hecho el dia : )=
ResponderBorrarHola
ResponderBorrartengo una macro que ejecuto desde VFP9, al correrla en office 2007 en ingles funciona correctamente, pero cuando se ejecuta en una maquina que tiene office 2007 en español no reconoce algunos comandos, por ejemplo cuando voy a crear una tabla dinamica.
En ingles los comandos que uso son:
lo_excel.ActiveWorkbook.PivotCaches.Create(1,"cxp!R1C1:R"+ALLTRIM(STR(XSON))+"C27",1).CreatePivotTable("sheet1!R3C1","PivotTable1",1)
Lo cambio todo en español y no me funciona:
lo_excel.ActiveWorkbook.PivotCaches.Create(1,"cxp!F1C1:F148C27",1).CreatePivotTable.sheets(1).("Hoja1!F3C1","Tabla dinámica1",1)
Un amigo me dijo que tengo que utilizar el comando Sheet y entre parentesis el (1), ya lo hice pero no funciona o no se como hacer para que funciones. Alguien Pilas que me pueda ayudar
Saludos
No creo que haga falta agregar Sheets(1), pero me parece que tienes que dejar"sheets1!..." y no cambiarla a "Hoja1!..."
ResponderBorrarSheets(1) se refiere a la primer hoja en la colección. Al mover las hojas en el cuaderno, el índice cambia. Por eso no puedes fiarte del número de índice de la hoja.
Recuerdo que en Excel 2003 si asignabas una macro a un botón de la barra de herramientas contenida en un fichero x, cuando clicabas en el abría el fichero u ejecutaba la macro.
ResponderBorrarHe realizado los pasos que aquí comentas, pero solo ejecuta la macro si el libro esta abierto, hay alguna manera de que ejecute la macro sin tener que guardarla en el libro de macros personal?
Gracias
El comportamiento es el mismo en Excel 2007: si asignamos una macro a un objeto (botón, forma, icono, etc), al activar el objeto Excel abre el cuaderno que contiene el código y corre la macro.
ResponderBorrarDebes tener algún otro problema.
Hola jorge al cambiar el icono por defaul, solo tenemos los que nos muestra por default o hay alguna forma de incluir los propios gracias
ResponderBorrarNo, sólo se puede cambiar por los que aparecen en la lista.
ResponderBorrarHola Yashve,
ResponderBorrarLo que sucede es que no estas guardando la macro en Plantillas de Excel Habilitadas para Macros, y es por eso que forzosamente tienes que abrir el archivo que contiene la macro.
Espero haya servido de algo.
Saludos!!!
Will
mil gracias.
ResponderBorrarComo siempre son excelentes tus explicaciones.
Llevo mas de un mes consultando ingenieros de sistemas para que me dieramn esta solución y ninguno había podido darme esta solución tan sencilla.
Te pasaste... llevaba meses buscando una solución a este problema y tu en unos pocos pasos lo lograste. Muchas gracias por tu dedicación y tu tiempo.
ResponderBorrarHola Jorge. perdon por hacer una pregunta que no esta referida a este blog, pero no encontre otro que hiciera referencia a mi consulta.
ResponderBorrarQuisiera saber si es posible ejecutar una subrutina diferente en base al contenido de una variable que contenga el nombre de la misma; algo asi como "Call (nomsub)", donde la variable nomsub tuviera el nombre de la subrutina a ejecutar.
Desde ya te agradezco tu inapreciable y permanente aporte.
abrazo.
Hola de nuevo. tengo otra consulta por lo que vuelvo a aprovechar este mismo blog.
ResponderBorrarExiste alguna funcion o procedimiento que permita conocer el nombre del rango de celdas a al que pertence una celda? de entrada pense que podia existir, pero luego, al darme cuenta que una celda puede pertenecer a mas de un nombre de rango de celdas me parece que no hay forma.
Gracias de nuevo.
slds.
José, efectivamente, la consulta no está relacionada con el tema de la nota. Te sugiero que busques en foros de Vba donde recibirás mucha ayuda. En situacione similares a la que describes suelo usar Select Case, pero no es exactamente lo que estás buscando.
ResponderBorrarEN cuanto a los nobres, una forma de visualizarlos es reducir el nivel del zoom en la hoja al 35%. Al hacerlo los nombres aparecen enmarcados en los rangos.
ResponderBorrarTengo varias macros en un libro pero cuando intento asociarlas a un icono (en la barra de acceso rapido) para que solo aparezca en este libro, desaparecen algunas. Si pongo en el desplegable que es para todos los documentos si me deja. Sabes porque ocurre esto?
ResponderBorrarNo, tendría que ver el archivo (fijate en el enlace Ayuda, en la parte superior del blog). De todas maneras, a un icono sólo puedes asociar una macro. ¿A qué desplegabkle te refieres?
ResponderBorrarHola, como hago para ponerle un icono creado por mi a la macro? en el office 2003 podía facilmente
ResponderBorrarLa funcionalidad de las barras personalizadas ya no existe a partir de la version 2007. Además de la técnica que muestro en esta nota podés usar esta otra tecnica.
ResponderBorrar