Colocar por código una imagen centrada

09/09/2008 - 11:53 por vitobacon | Informe spam
Hola.
Hace no mucho tiempo hice una consulta (que ahora no encuentro) y que
quisiera ampliar.
Se trata de colocar una imagen, mediante código vba, en una celda
determinada a partir de lo que he seleccionado en una lista de validación.
En aquel momento quería que la esquina superior izquierda de la imagen
coincidiera con la esquina superior izquierda de una celda.
Héctor Miguel me lo resolvió de la siguiente manera (simplificando):

With Range(celda)
izq = .Left
arr = .Top
End With
With ActiveSheet.Pictures.Insert(FOTO)
.Left = izq
.Top = arr
End With

Es decir, calculo la esquina de la celda y se la aplico a la foto.

Hasta aquí todo correcto, pero ahora me gustaría hacer coincidir el centro
de la imagen con el centro de la celda, si es que se puede...
He consultado la ayuda, he hecho pruebas, pero no veo que exista un método
para localizar el centro de una celda, aunque sí de textbox y otras cosas,
pero no domino el tema y me estoy liando.

Si alguien tiene una sugerencia, agradecido quedaré.
Ávaro
 

Leer las respuestas

#1 Héctor Miguel
09/09/2008 - 14:35 | Informe spam
hola, Álvaro !

With Range(celda)
izq = .Left + (.Width / 2)
arr = .Top + (.Height / 2)
End With

saludos,
hector.

__ OP __
... colocar una imagen, mediante codigo vba, en una celda determinada...
En aquel momento queria que la esquina superior izquierda de la imagen
coincidiera con la esquina superior izquierda de una celda...

With Range(celda)
izq = .Left
arr = .Top
End With
With ActiveSheet.Pictures.Insert(FOTO)
.Left = izq
.Top = arr
End With

... ahora me gustaria hacer coincidir el centro de la imagen con el centro de la celda ...

Preguntas similares