¡AYUDA! Como puedo alinear una imagen dentro de una celda manteniendo relación de aspecto con VBA
Publicado por Darek (1 intervención) el 15/08/2021 08:14:17
'MI PREGUNTA ES: ¿COMO PUEDO CENTRAR LA IMAGEN EN DICHA CELDA MANTENIENDO LA RELACION DE ASPECTO DE MI IMAGEN, SIN MODIFICAR EL TAMAÑO PRE-ESTABLECIDO DE MI CELDA?
'He buscado muchas soluciones pero ninguna funcionó debido a que quizá no interprete de manera correcta los códigos que encontré, espero me puedan apoyar. Ante todo gracias
'esta variable "destino" es igual al archivo imagen que deseo insertar en la celda
destino = "D:\Book\TF Imágenes\" & codigo & ".JPG"
With Hoja1.Shapes.AddPicture(Filename:=destino, LinkTofile:=msoCFalse, SaveWithDocument:=msoCTrue, Left:=0, Top:=0, Width:=-1, Height:=-1)
'esta línea me permitió mantener la relación de aspecto de la imagen y es lo que yo quería, pero no he podido centrarla ya que se me pega a la izquierda de la celda
.LockAspectRatio = True
'en el rango de la celda estoy tomando la columna "C" y le concateno "ultimo" que es la ultima fila de mi registro
.Top = Range("C" & ultimo).Top
.Left = Range("C" & ultimo).Left
.Width = Range("C" & ultimo).Width
.Height = Range("C" & ultimo).Height
'He buscado muchas soluciones pero ninguna funcionó debido a que quizá no interprete de manera correcta los códigos que encontré, espero me puedan apoyar. Ante todo gracias
'esta variable "destino" es igual al archivo imagen que deseo insertar en la celda
destino = "D:\Book\TF Imágenes\" & codigo & ".JPG"
With Hoja1.Shapes.AddPicture(Filename:=destino, LinkTofile:=msoCFalse, SaveWithDocument:=msoCTrue, Left:=0, Top:=0, Width:=-1, Height:=-1)
'esta línea me permitió mantener la relación de aspecto de la imagen y es lo que yo quería, pero no he podido centrarla ya que se me pega a la izquierda de la celda
.LockAspectRatio = True
'en el rango de la celda estoy tomando la columna "C" y le concateno "ultimo" que es la ultima fila de mi registro
.Top = Range("C" & ultimo).Top
.Left = Range("C" & ultimo).Left
.Width = Range("C" & ultimo).Width
.Height = Range("C" & ultimo).Height
Valora esta pregunta


0