Índice del Foro > Excel > INSERTAR IMAGENES EN EXCEL CON MACROS |
| Autor |
Mensaje |
petermandrake
Registrado: 16 Jul 2010 Mensajes: 3
|
Publicado: Vie 16 Jul, 2010 17:59 pm
Título del mensaje: INSERTAR IMAGENES EN EXCEL CON MACROS |
|
|
Retomando el tema (damianomarsilva) Yo hoy tengo la misma inquietud y probé el codigo de su macro y comprobé que tira un error que no soy capaz de reparar y hoy estoy necesitando hacer lo mismo y no puedo.
Alguien me prodia ayudar????
ya que en su momento no tuvo respuesta |
|
|
|
| Volver arriba |
|
|
WhiteSkull CoAdmin

Registrado: 20 Mar 2009 Mensajes: 2727 Ubicación: y*width+x
|
|
| Volver arriba |
|
|
petermandrake
Registrado: 16 Jul 2010 Mensajes: 3
|
Publicado: Lun 19 Jul, 2010 18:14 pm
Título del mensaje: Re: INSERTAR IMAGENES EN EXCEL CON MACROS |
|
|
Agradezco la respuesta pero no soy muy experto en el tema por lo que no entendi la ayuda, si es posible facilitarme el codigo completo se los agradeceria |
|
|
|
| Volver arriba |
|
|
WhiteSkull CoAdmin

Registrado: 20 Mar 2009 Mensajes: 2727 Ubicación: y*width+x
|
|
| Volver arriba |
|
|
petermandrake
Registrado: 16 Jul 2010 Mensajes: 3
|
Publicado: Mar 20 Jul, 2010 16:13 pm
Título del mensaje: Re: INSERTAR IMAGENES EN EXCEL CON MACROS |
|
|
Gracias hiteSkull, pero lo que intento es lo siguiente por si no se entendio, y lo he visto en otros foros pero o algunos ponen el codigo y larga un error al ejecutarlo o otros ponen el archivo protegido y hace lo que quiero pero no em deja ver como o hace, y la intencion es aprender, las bases ya las tengo pero me faltan entender detalles de porque hae esto o aquello.
En definitiva, tengo un libro con dos hojas donde en la 1º hoja quiero que en una celda determinada ponga un ( codigo ) y automaticamente en otra celda por mi determinada me muestre una foto. Esta imagen la tengo en una carpeta llamada imagen (100 archivos jpg) y a cada una le nombre con los codigos que quiero ingresar en la hoja 1. En la hoja 2 tengo en una columna la lista de los codigos y en la columna siguiente las rutas de cada codigo Ej: A5 cod 01564, B5 C:\imagenes\caja.jpg.
Espero se entienda si es posible pasar el codigo pasenlo si es posible anezar el archivo funcionando mejor.
Muchas Gracias a todos los que colaboren |
|
|
|
| Volver arriba |
|
|
WhiteSkull CoAdmin

Registrado: 20 Mar 2009 Mensajes: 2727 Ubicación: y*width+x
|
Publicado: Mar 20 Jul, 2010 20:17 pm
Título del mensaje: Re: INSERTAR IMAGENES EN EXCEL CON MACROS |
|
|
Osea quieres que cuando "selecciones" la celda de los códigos, te muestre al lado la imagen que corresponda.
| petermandrake escribió: | | ...las bases ya las tengo pero me faltan entender detalles de porque hae esto o aquello. |
Chaval estás muy verde... consíguete un tutorial de introducción al VBA, es un consejo.
De lo contrario asumiendo que tienes alguna base de VBA, si te dijera que solo debes tomar en cuenta el evento SelectionChange de la hoja o Worksheet, tomar el argumento devuelto, una celda. Y extraer su contenido asociado mediante la segunda hoja o cualquier dato, lo entenderías? Seguro que no...
Pero como no quiero ser maleducado te pondré un ejemplo, a lo mejor lo captas aun desconociendo como funciona el VBA...
| Código: | Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Rem Creamos una lista asociada, en este caso un diccionario
Rem referenciando Microsoft Scripting
Dim valor As Dictionary
Set valor = New Dictionary
valor.Add "12345", "C:\Oriental.jpg"
valor.Add "67890", "C:\Prueba.jpg"
valor.Add "66666", "C:\Matricula.jpg"
Rem una vez que tenemos los codigos con sus rutas asociadas
Rem comprobamos que el codigo existe antes de cargar la imagen asociada
If (valor.Exists(Target.Text) = True) Then
Rem y antes de pegar una imagen, comprobamos que no hay otra pegada
If (ActiveSheet.Shapes.Count = 0) Then
ActiveSheet.Pictures.Insert(valor.Item(Target.Text)).Name = "Imagen"
Else
Rem de lo contrario borramos las imagenes y pegamos la nueva
For Each Imagen In Me.Shapes
Imagen.Delete
Next Imagen
ActiveSheet.Pictures.Insert(valor.Item(Target.Text)).Name = "Imagen"
End If
End If
End Sub
|
Espero que no te lo tomes a mal, pero si sigues sin entenderlo, posiblemente debieras aprender VBA antes de pasar a cosas complejas... primero empieza con cositas sencillas, actualizar datos de una hoja, realizar funciones sencillas para operaciones complejas de cálculo, etc... |
http://www.youtube.com/watch?v=-lT1zCukNQY
|
|
| Volver arriba |
|
|
Jovan Mota
Registrado: 10 Nov 2011 Mensajes: 1
|
Publicado: Jue 10 Nov, 2011 11:16 am
Título del mensaje: Re: INSERTAR IMAGENES EN EXCEL CON MACROS |
|
|
---------------------------------------------------------------------------
1° FORMA PARA INSERTAR UNA IMAGEN EN EXCEL POR MEDIO DE UNA MACRO
---------------------------------------------------------------------------
'Con esto inserto una imagen desde una direción
Sheets(3).Shapes.AddPicture "C:\Users\..............\rojo.jpg", True, True, 100, 100, 70, 70
'Con esto se cuantas imagenes en total hay
indice = Sheets(3).Shapes.Count
'con esto elimino una imagen de acuerdo al indice
Sheets(3).Shapes(200).Delete
---------------------------------------------------------------------------
2° FORMA PARA INSERTAR UNA IMAGEN EN EXCEL POR MEDIO DE UNA MACRO
---------------------------------------------------------------------------
'Creo una variable del tipo objeto
Dim Foto As Object
'Inserto la imagen y la activo en la hoja de excel
Set Foto = Sheets(3).Pictures.Insert("C:\Users.................\rojo.jpg")
'Modifico sus propiedades entre ellas el nombre de refrencia para uso posteriro
With Foto
.Name = "Foto 1"
.Top = 0
.Left = 300
.Width = 150
.Height = 150
End With
'Elimino el objeto para liberar espacio
Set Foto = Nothing
'Con esta instruccion ya puedo eliminar a la imagen con tan solo el nombre
Sheets(3).Shapes("Foto 1").Delete
Por Jovan Mota |
|
|
|
| Volver arriba |
|
|