Ayuda con macro que falla

08/08/2005 - 11:54 por Playa de Chilches - atención al cliente | Informe spam
Como continuación a mi exposición del dia 3 y 7 de Agosto, expongo esta
nueva porque se ha simplificado el asunto.
La macro que está a continucación, funciona correctamente, hace justo lo que
quiero que es poner la foto en la celda H17.
Pero como se trata de que cada vez que le dé al boton de la macro inserte la
foto que corresponda (no la 5002.JPG) de la macro, es por lo que el
nombre de cada foto lo he metido en una variable "Foto", que no sé como se
escribe para que me la tome por su valor.
por ejemplo así no me funciona:

ActiveSheet.Pictures.Insert( _
"E:\Fichas de pisos \foto").Select

¿Que hago mal?
Gracias
José Rafael


ESTA ES LA MACRO QUE FUNCIONA:
Sub Macrofotos2()
Dim Foto As String
Application.ScreenUpdating = False
Sheets("Plantilla").Select
Range("N1").Copy
Range("O1").PasteSpecial Paste:=xlPasteValues
Foto = Range("O1").Value
Range("H17").Select
ActiveSheet.Pictures.Insert( _
"E:\Fichas de pisos \5002.jpg").Select
Range("A3").Select

End Sub

Preguntas similare

Leer las respuestas

#1 Playa de Chilches - atención al cliente
09/08/2005 - 10:39 | Informe spam
Hola KL:
Gracias por tu interes. Te explico mejor lo que pasa (espero que sabré)

He comprobado los tres puntos que me has indicado y están correctos (he
quitado el espacio del punto 3). De hecho esta mañana he abierto el libro le
he dado al boton insertar la foto (Sub Macrofotos2()) y funciona con la
primera (5002.JPG), pero cuando en la plantilla paso a la siguiente foto..
5003.JPG, ya se pone en amarillo la linea que contiene Pictures.Insert
He supuesto que hay que borrar la imagen anterior y he añadido unas lineas
para hacerlo (faltaria el control de errores), pero veo que la imagen cambia
constantemente de número 58... 59... 60... y entonces ya no sé mas...
Copi la macro tal y como está ahora con comentarios para que veas lo que se
puede hacer... gracias denuevo
Rafa
ESTA ES LA NUEVA MACRO:
Sub Macrofotos2()
Dim Foto As String
Application.ScreenUpdating = False
Sheets("Plantilla").Select
' ActiveSheet.Shapes("Picture 58").Select '(el nº de picture va
cambiando...)
' Selection.Delete
' Hay que presuponer un error si no está la foto pegada a la
plantilla
Range("O1").Select
Selection.Delete
Range("N1").Copy 'En esta celda el valor va cambiando, traido por un
buscarV
Range("O1").PasteSpecial Paste:=xlPasteValues
Foto = Range("O1").Value
Range("H17").Select
ActiveSheet.Pictures.Insert( _
"E:\Fichas de pisos\" & Foto).Select
'La línea anterior se pone en amarillo despues de extraer la primera
foto
Range("A3").Select

End Sub





"KL" escribió en el mensaje
news:
Hola Rafa,

Primero las cosas que estan a la vista:

1) comprueba que el valor de la celda [O1] de la hoja activa sea el


correcto
(incluyendo la extension y sin comillas p.ej: 5002.JPG)
2) que el archivo correspondiente al valor de la celda [O1] realmente


exista
3) que la ruta "E:\Fichas de pisos \" realmente exista y que el espacio


que
tiene delante de la ultima contrabarra sea realmente necesario

Saludos,
KL


"Rafa" wrote in message
news:
> lo siento no funciona, se pone en amarillo toda la frase desde
> "ActiveSheet etc.
> gracias de todos modos... la verdad es que no sé que hacer.
> Saludos
> José Rafael
>
> "KL" escribió en el mensaje
> news:
>> Hola,
>>
>> Asi deberia funcionarte:
>>
>> ActiveSheet.Pictures.Insert( _
>> "E:\Fichas de pisos \" & Foto).Select
>>
>> Saludos,
>> KL
>>
>>
>> "Playa de Chilches - atención al cliente"
>> wrote in message news:uelny6$
>>> Como continuación a mi exposición del dia 3 y 7 de Agosto, expongo


esta
>>> nueva porque se ha simplificado el asunto.
>>> La macro que está a continucación, funciona correctamente, hace justo


lo
>>> que
>>> quiero que es poner la foto en la celda H17.
>>> Pero como se trata de que cada vez que le dé al boton de la macro
>>> inserte la
>>> foto que corresponda (no la 5002.JPG) de la macro, es por lo que


el
>>> nombre de cada foto lo he metido en una variable "Foto", que no sé


como
>>> se
>>> escribe para que me la tome por su valor.
>>> por ejemplo así no me funciona:
>>>
>>> ActiveSheet.Pictures.Insert( _
>>> "E:\Fichas de pisos \foto").Select
>>>
>>> ¿Que hago mal?
>>> Gracias
>>> José Rafael
>>>
>>>
>>> ESTA ES LA MACRO QUE FUNCIONA:
>>> Sub Macrofotos2()
>>> Dim Foto As String
>>> Application.ScreenUpdating = False
>>> Sheets("Plantilla").Select
>>> Range("N1").Copy
>>> Range("O1").PasteSpecial Paste:=xlPasteValues
>>> Foto = Range("O1").Value
>>> Range("H17").Select
>>> ActiveSheet.Pictures.Insert( _
>>> "E:\Fichas de pisos \5002.jpg").Select
>>> Range("A3").Select
>>>
>>> End Sub
>>>
>>>
>>>
>>
>>
>
>


Respuesta Responder a este mensaje
#2 KL
10/08/2005 - 18:01 | Informe spam
Hola Rafa,

Sigo sin entender que es lo que quieres hacer exactamente. Te he depurado un
poco el codigo - a ver si funciona ahora:

Sub Macrofotos2()
Dim Foto As String
Application.ScreenUpdating = False
With Sheets("Plantilla")
On Error Resume Next
.Pictures(1).Delete
Exit Sub
On Error GoTo 0
Foto = .Range("N1").Value
.Range("O1").Value = Foto
.Range("H17").Select
.Pictures.Insert "E:\Fichas de pisos\" & Foto
End With
End Sub


Saludos,
KL


"Playa de Chilches - atención al cliente" wrote
in message news:
Hola KL:
Gracias por tu interes. Te explico mejor lo que pasa (espero que sabré)

He comprobado los tres puntos que me has indicado y están correctos (he
quitado el espacio del punto 3). De hecho esta mañana he abierto el libro
le
he dado al boton insertar la foto (Sub Macrofotos2()) y funciona con la
primera (5002.JPG), pero cuando en la plantilla paso a la siguiente foto..
5003.JPG, ya se pone en amarillo la linea que contiene Pictures.Insert
He supuesto que hay que borrar la imagen anterior y he añadido unas lineas
para hacerlo (faltaria el control de errores), pero veo que la imagen
cambia
constantemente de número 58... 59... 60... y entonces ya no sé mas...
Copi la macro tal y como está ahora con comentarios para que veas lo que
se
puede hacer... gracias denuevo
Rafa
ESTA ES LA NUEVA MACRO:
Sub Macrofotos2()
Dim Foto As String
Application.ScreenUpdating = False
Sheets("Plantilla").Select
' ActiveSheet.Shapes("Picture 58").Select '(el nº de picture va
cambiando...)
' Selection.Delete
' Hay que presuponer un error si no está la foto pegada a la
plantilla
Range("O1").Select
Selection.Delete
Range("N1").Copy 'En esta celda el valor va cambiando, traido por
un
buscarV
Range("O1").PasteSpecial Paste:=xlPasteValues
Foto = Range("O1").Value
Range("H17").Select
ActiveSheet.Pictures.Insert( _
"E:\Fichas de pisos\" & Foto).Select
'La línea anterior se pone en amarillo despues de extraer la
primera
foto
Range("A3").Select

End Sub





"KL" escribió en el mensaje
news:
Hola Rafa,

Primero las cosas que estan a la vista:

1) comprueba que el valor de la celda [O1] de la hoja activa sea el


correcto
(incluyendo la extension y sin comillas p.ej: 5002.JPG)
2) que el archivo correspondiente al valor de la celda [O1] realmente


exista
3) que la ruta "E:\Fichas de pisos \" realmente exista y que el espacio


que
tiene delante de la ultima contrabarra sea realmente necesario

Saludos,
KL


"Rafa" wrote in message
news:
> lo siento no funciona, se pone en amarillo toda la frase desde
> "ActiveSheet etc.
> gracias de todos modos... la verdad es que no sé que hacer.
> Saludos
> José Rafael
>
> "KL" escribió en el mensaje
> news:
>> Hola,
>>
>> Asi deberia funcionarte:
>>
>> ActiveSheet.Pictures.Insert( _
>> "E:\Fichas de pisos \" & Foto).Select
>>
>> Saludos,
>> KL
>>
>>
>> "Playa de Chilches - atención al cliente"
>> wrote in message news:uelny6$
>>> Como continuación a mi exposición del dia 3 y 7 de Agosto, expongo


esta
>>> nueva porque se ha simplificado el asunto.
>>> La macro que está a continucación, funciona correctamente, hace justo


lo
>>> que
>>> quiero que es poner la foto en la celda H17.
>>> Pero como se trata de que cada vez que le dé al boton de la macro
>>> inserte la
>>> foto que corresponda (no la 5002.JPG) de la macro, es por lo que


el
>>> nombre de cada foto lo he metido en una variable "Foto", que no sé


como
>>> se
>>> escribe para que me la tome por su valor.
>>> por ejemplo así no me funciona:
>>>
>>> ActiveSheet.Pictures.Insert( _
>>> "E:\Fichas de pisos \foto").Select
>>>
>>> ¿Que hago mal?
>>> Gracias
>>> José Rafael
>>>
>>>
>>> ESTA ES LA MACRO QUE FUNCIONA:
>>> Sub Macrofotos2()
>>> Dim Foto As String
>>> Application.ScreenUpdating = False
>>> Sheets("Plantilla").Select
>>> Range("N1").Copy
>>> Range("O1").PasteSpecial Paste:=xlPasteValues
>>> Foto = Range("O1").Value
>>> Range("H17").Select
>>> ActiveSheet.Pictures.Insert( _
>>> "E:\Fichas de pisos \5002.jpg").Select
>>> Range("A3").Select
>>>
>>> End Sub
>>>
>>>
>>>
>>
>>
>
>






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida