INSERTAR VARIAS IMAGENES EN VARIOS RANGOS A PARTIR DE VARIAS CELDAS

21/10/2006 - 07:10 por pejelagarto | Informe spam
Es el CÓDIGO DE ABAJO; solo que habrá lo siguiente:

IMAGEN 1:
1.- Directorio: >>> "C:\Excel\portadas\"
2.- CELDA A1: Nombre de las PORTADAS>>> Portada1,portada2, portada3,
portada4, portadaN
3.- RANGO DE VISUALIZACION>>> B1:D:20

IMAGEN 2:
1.- Directorio: >>> "C:\Excel\Croquis\"
2.- CELDA A1: Nombre de los CROQUIS>>> Croquis1, Croquis2, Croquis3,
Croquis4, CroquisN
3.- RANGO DE VISUALIZACION>>> B30:D:50

IMAGEN 3:
1.- Directorio: >>> "C:\Excel\Credencial\"
2.- CELDA A1: Nombre de los CREDENCIALES>>> Credencial1,
Credencial2, Credencial3, Credencial4, CredencialN
3.- RANGO DE VISUALIZACION>>> B60:D:80

ESO ES TODO LO KE QUIERO HACER, Y PRECISAMENTE ESTO PORQUE NO KIERO KE
SEA MUY PESADO EL ARCHIVO.

De verdad JURO ke NO VUELVO A PREGUNTAR.. Gracias de antemano y
quedo de USTEDES.
herchan@gmail.com.
El CÓDIGO DE AKÁABAJO LO HACE BIEN, solo ke lo hace PARA UN ARCHIVO Y
PARA UN RANGO. Gracias

==Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$A$1" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("La_Foto").Delete
De_donde = "C:\Excel\" & [a1] & ".JPG"
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("f1:h21")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub

Preguntas similare

Leer las respuestas

#1 pejelagarto
21/10/2006 - 07:14 | Informe spam
PERDON;
el de PORTADA es en la CELDA A1;
CROQUIS en la CELDA A2,
CREDENCIAL en la CELDA A3


gracias.
Respuesta Responder a este mensaje
#2 Héctor Miguel
22/10/2006 - 06:40 | Informe spam
hola, Antonio !

PERDON;
el de PORTADA es en la CELDA A1;
CROQUIS en la CELDA A2,
CREDENCIAL en la CELDA A3



dejame poner a tu consideracion lo siguiente:

op1: usando/incrustando/... SOLO 3 objetos de control de imagenes ["forms.image"]...
- solo agregas un 'Case' para la celda 'A3' [p.e. luego del Case para la celda 'A2']
- solo se van 'actualizando' la imagen 'en turno' [segun la celda que se modifica]
- el resto del codigo... permanece sin cambios

op2: usando/incrustando/... los objetos 'Picture' de la coleccion 'Shapes'...
- el codigo sera [ligeramente] mas 'largo' que la opcion anterior ["La_Foto_1", "La_Foto_2", "La_Foto_3"]
- [literalmente] estas ELIMINANDO Y RE-INCRUSTANDO los objetos en la hoja de calculo
- [probablemente] llegara el momento en que se ponga en riesgo la 'integridad' del archivo
- [creo que] lo mas que podrias 'acercarte' a las ventajas de la opcion1...
es 'armar' un 'Select Case' para las ubicaciones y los nombres de los 3 objetos 'Shape-Picture' -???-
[aunque NO PODRIAS EVITAR el -posibe- 'riesgo'... de corromper el archivo] :-((

saludos,
hector.
Respuesta Responder a este mensaje
#3 pejelagarto
23/10/2006 - 17:18 | Informe spam
Ke tal HECTOR; fíjate ke usé la OPCIÓN 1 y me HIZO UN MEGA-ARCHIVO
(60 MB con solo 5 IMÉGENES), y mi archivo en el que lo quiero USAR
mide tan SOLO 2 MB. Me parece MEJOR LA OPCIÓN 2; pero como quedaría
el KÓDIGO viejo, diskulpa si es MUCHO PEDIR.


Te agradezko tu AYUDA.
Gracias de ANTE-MANO.


hola, Antonio !

> PERDON;
> el de PORTADA es en la CELDA A1;
> CROQUIS en la CELDA A2,
> CREDENCIAL en la CELDA A3

dejame poner a tu consideracion lo siguiente:

op1: usando/incrustando/... SOLO 3 objetos de control de imagenes ["forms.image"]...
- solo agregas un 'Case' para la celda 'A3' [p.e. luego del Case para la celda 'A2']
- solo se van 'actualizando' la imagen 'en turno' [segun la celda que se modifica]
- el resto del codigo... permanece sin cambios

op2: usando/incrustando/... los objetos 'Picture' de la coleccion 'Shapes'...
- el codigo sera [ligeramente] mas 'largo' que la opcion anterior ["La_Foto_1", "La_Foto_2", "La_Foto_3"]
- [literalmente] estas ELIMINANDO Y RE-INCRUSTANDO los objetos en la hoja de calculo
- [probablemente] llegara el momento en que se ponga en riesgo la 'integridad' del archivo
- [creo que] lo mas que podrias 'acercarte' a las ventajas de la opcion1...
es 'armar' un 'Select Case' para las ubicaciones y los nombres de los 3 objetos 'Shape-Picture' -???-
[aunque NO PODRIAS EVITAR el -posibe- 'riesgo'... de corromper el archivo] :-((

saludos,
hector.
Respuesta Responder a este mensaje
#4 pejelagarto
23/10/2006 - 19:08 | Informe spam
HOLA hector/

_____________________________________________________________________________
IMAGEN 1:
1.- Directorio: >>> "C:\Excel\portadas\"
2.- CELDA A1: Nombre de las PORTADAS>>> Portada1,portada2, portada3,

portada4, portadaN
3.- RANGO DE VISUALIZACION>>> B1:D:20


IMAGEN 2:
1.- Directorio: >>> "C:\Excel\Croquis\"
2.- CELDA A2: Nombre de los CROQUIS>>> Croquis1, Croquis2, Croquis3,

Croquis4, CroquisN
3.- RANGO DE VISUALIZACION>>> B30:D:50


IMAGEN 3:
1.- Directorio: >>> "C:\Excel\Credencial\"
2.- CELDA A3: Nombre de los CREDENCIALES>>> Credencial1,
Credencial2, Credencial3, Credencial4, CredencialN
3.- RANGO DE VISUALIZACION>>> B60:D:80


ESO ES TODO LO KE QUIERO HACER, Y PRECISAMENTE ESTO PORQUE NO KIERO KE
SEA MUY PESADO EL ARCHIVO.


De verdad JURO ke NO VUELVO A PREGUNTAR.. Gracias de antemano y
quedo de USTEDES.

El CÓDIGO DE AKÁABAJO LO HACE BIEN, solo ke lo hace PARA UN ARCHIVO Y

PARA UN RANGO. Gracias


==
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$A$1" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("La_Foto").Delete
De_donde = "C:\Excel\" & [a1] & ".JPG"
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("f1:h21")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub

ME PARECE MEJOR LA OPCIÓN 2: """"usando/incrustando/... los objetos
'Picture' de la coleccion 'Shapes'...""".

Pero como quedaría EL CÓDIGO ????????????.
Gracias viejo de ante-mano.




==> hola, Antonio !

> PERDON;
> el de PORTADA es en la CELDA A1;
> CROQUIS en la CELDA A2,
> CREDENCIAL en la CELDA A3

dejame poner a tu consideracion lo siguiente:

op1: usando/incrustando/... SOLO 3 objetos de control de imagenes ["forms.image"]...
- solo agregas un 'Case' para la celda 'A3' [p.e. luego del Case para la celda 'A2']
- solo se van 'actualizando' la imagen 'en turno' [segun la celda que se modifica]
- el resto del codigo... permanece sin cambios

op2: usando/incrustando/... los objetos 'Picture' de la coleccion 'Shapes'...
- el codigo sera [ligeramente] mas 'largo' que la opcion anterior ["La_Foto_1", "La_Foto_2", "La_Foto_3"]
- [literalmente] estas ELIMINANDO Y RE-INCRUSTANDO los objetos en la hoja de calculo
- [probablemente] llegara el momento en que se ponga en riesgo la 'integridad' del archivo
- [creo que] lo mas que podrias 'acercarte' a las ventajas de la opcion1...
es 'armar' un 'Select Case' para las ubicaciones y los nombres de los 3 objetos 'Shape-Picture' -???-
[aunque NO PODRIAS EVITAR el -posibe- 'riesgo'... de corromper el archivo] :-((

saludos,
hector.
Respuesta Responder a este mensaje
#5 pejelagarto
24/10/2006 - 19:47 | Informe spam
ALGUIEN ME PUEDE DECIR COMO????-

=


IMAGEN 1:
1.- Directorio: >>> "C:\Excel\portadas\"
2.- CELDA A1: Nombre de las PORTADAS>>> Portada1,portada2, portada3,

portada4, portadaN
3.- RANGO DE VISUALIZACION>>> B1:D:20


IMAGEN 2:
1.- Directorio: >>> "C:\Excel\Croquis\"
2.- CELDA A2: Nombre de los CROQUIS>>> Croquis1, Croquis2, Croquis3,

Croquis4, CroquisN
3.- RANGO DE VISUALIZACION>>> B30:D:50


IMAGEN 3:
1.- Directorio: >>> "C:\Excel\Credencial\"
2.- CELDA A3: Nombre de los CREDENCIALES>>> Credencial1,
Credencial2, Credencial3, Credencial4, CredencialN
3.- RANGO DE VISUALIZACION>>> B60:D:80


ESO ES TODO LO KE QUIERO HACER, Y PRECISAMENTE ESTO PORQUE NO KIERO KE
SEA MUY PESADO EL ARCHIVO.


De verdad JURO ke NO VUELVO A PREGUNTAR.. Gracias de antemano y
quedo de USTEDES.

El CÓDIGO DE AKÁABAJO LO HACE BIEN, solo ke lo hace PARA UN ARCHIVO Y

PARA UN RANGO. Gracias


==>
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$A$1" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("La_Foto").Delete
De_donde = "C:\Excel\" & [a1] & ".JPG"
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("f1:h21")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub
>
ME PARECE MEJOR LA OPCIÓN 2: """"usando/incrustando/... los objetos
'Picture' de la coleccion 'Shapes'...""".

Pero como quedaría EL CÓDIGO ????????????.
Gracias viejo de ante-mano.




==> > hola, Antonio !
>
> > PERDON;
> > el de PORTADA es en la CELDA A1;
> > CROQUIS en la CELDA A2,
> > CREDENCIAL en la CELDA A3
>
> dejame poner a tu consideracion lo siguiente:
>
> op1: usando/incrustando/... SOLO 3 objetos de control de imagenes ["forms.image"]...
> - solo agregas un 'Case' para la celda 'A3' [p.e. luego del Case para la celda 'A2']
> - solo se van 'actualizando' la imagen 'en turno' [segun la celda que se modifica]
> - el resto del codigo... permanece sin cambios
>
> op2: usando/incrustando/... los objetos 'Picture' de la coleccion 'Shapes'...
> - el codigo sera [ligeramente] mas 'largo' que la opcion anterior ["La_Foto_1", "La_Foto_2", "La_Foto_3"]
> - [literalmente] estas ELIMINANDO Y RE-INCRUSTANDO los objetos en la hoja de calculo
> - [probablemente] llegara el momento en que se ponga en riesgo la 'integridad' del archivo
> - [creo que] lo mas que podrias 'acercarte' a las ventajas de la opcion1...
> es 'armar' un 'Select Case' para las ubicaciones y los nombres de los 3 objetos 'Shape-Picture' -???-
> [aunque NO PODRIAS EVITAR el -posibe- 'riesgo'... de corromper el archivo] :-((
>
> saludos,
> hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida