Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como asignar una macro automaticamente a una imagen o shapes de Excel


.

En el post se muestra como asignar automáticamente una macro a una imagen, previamente se muestra como cambiar el nombre a las imágenes de Excel, asignándoles una macro en forma automática.

En el post anterior se publicó como pasar gráficos de Excel a Word, si es útil sigue el link, esta relacionado con este ejemplo, porque aca se explica parte del código que una el ejemplo mencionado.

Desde el final del post se puede descargar el ejemplo en forma gratuita sin ninguna restricción, el código se puede adaptar a cada necesidad, Aporta por favor para sostener el sitio si está dentro de tus posibilidades, desde ya muchas gracias.

Si te estás iniciando en la operación de Excel o requieres afirmar conocimientos, recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  
El vídeo verás la macro en acción con una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo Recorre fila buscando y comparando datos de dos columnas en hojas distintasbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mail, trabajando con filas, celdas, columnas, rangos y muchos ejemplos más.


if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}

 


El ejemplo consta de dos partes una que permite cambiar el nombre de las imágenes que se encuentran en la hoja de Excel y la otra parte, va asignando automáticamente una macro a cada imagen, en este caso al tomar la imagen con el Mouse, aparece un mensaje con el nombre de la imagen.

La macro recorre todas las imagenes de la Hoja de Excel a través de un bucle, que se hace con el siguiente código:

For x = 1 To ActiveSheet.Shapes.Count

Next x


Con el siguiente código se va renombrando las imágenes para luego seleccionarla:

ActiveSheet.Shapes(x).Name = «[PID» & x & «] «

ActiveSheet.Shapes(x).Select

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

Quizá sea de utilidad también

Como crear una factura con excel, guardarla y enviarla por mail automáticamente

Como enviar mail con archivo Excel y PDF mediante Outlook con Excel

Como hacer un link o hiperlink a google maps con Excel

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

Con la imagen seleccionada, se le asigna una macro que en este caso es Mostrar ID, es decir muestra solamente el nombre de la imagen, pero se puede asignar cualquier macro.

Selection.OnAction = «mostrarID»

El código anterior asigna a una imagen seleccionada la macro mostrarID

El código completo de la macro que se denominó Como Asignar una Macro Automáticamente a una Imagen o Shapes de Excel, se puede observar a continuación  y seguidamente está el link de descarga del ejemplo.

Código que se inserta en un módulo

Sub mostrarID()
nom = Application.Caller
MsgBox («El nombre de la imagen es: » & nom)
End Sub

Sub CrearIDImagen()
On Error Resume Next
For x = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(x).Name = «[PID» & x & «] «
ActiveSheet.Shapes(x).Select
Selection.OnAction = «mostrarID»
Next x
ActiveSheet.Shapes(17).Select
Selection.OnAction = «CrearIDImagen»
MsgBox («La ID de cada imagen fue creada con éxito, para saber su nombre click en imagen»), vbInformation, «AVISO»
Cells(20, «J»).Activate
End Sub

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends