La deformación de imágenes con el código VB sigue
Saludos de nuevo DAM
He cambiado el tamaño de las imágenes al tamaño EXACTO que van a ocupar en el Excel en la hoja 'Disciplinas'. Es decir, del W10 al Y16, lo que hace un total de 121 píxeles de ancho y 113 de alto. He hecho una captura con Photoshop para medir el tamaño exacto y así lo he hecho. Ninguna imagen se suponer a otra y quedan perfectamente encuadradas, pero cuando se usa el VB se descuadran y aparecen casi el doble de grandes de tamaño. ¿Por qué ocurre esto?
Te envío a tu correo las imágenes y el archivo para que lo compruebes si es necesario. Tienen el tamaño perfecto para encajar en la zona gris, es exactamente ese, pero no funciona
Private Sub Worksheet_Calculate()
'Por.DAM
On Error Resume Next
Me.Shapes("imagen1").Delete
Me.Shapes("imagen2").Delete
Me.Shapes("imagen3").Delete
If Range("V24") <> "" Then
poner "V24", "W10:Y16", "imagen1"
End If
If Range("V40") <> "" Then
poner "V40", "AB10:AD16", "imagen2"
End If
If Range("V56") <> "" Then
poner "V56", "AG10:AI16", "imagen3"
End If
End Sub
Sub poner(r1, r2, r3)
'Por.DAM
Application.ScreenUpdating = False
imagen = Range(r1) & ".png"
ruta = ActiveWorkbook.Path & "\disciplinas\" & imagen
Set clan = Me.Pictures.Insert(ruta)
With Range(r2)
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With clan
.Name = r3
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set clan = Nothing
Application.ScreenUpdating = True
End Sub
1 Respuesta
Respuesta de Dante Amor
1