2017-11-08 16 views
0

파일의 이미지를 이동하는 VBA 매크로가 있으며 "국가 프로파일"이라는 워크 시트의 Excel 스프레드 시트에 고정되어 있습니다. 너비가 350px가되도록 가로 세로 비율을 유지하면서 이미지의 크기를 조정하고 싶습니다.VBA의 이미지 크기 조정 유지 비율

Public Sub Macro15() 

Dim picname As String 
Dim shp As Shape 
Dim present As String 

Sheets("Country Profile").Activate 
Sheets("Country Profile").Select 
ActiveSheet.Pictures.Delete 

Cells(19, 40).Select 'This is where picture will be inserted (column) 

picname = Sheets("REPORT ON").Range("A2").Value 'This is the picture name 

Cells(19, 46).Select 

      Call ActiveSheet.Shapes.AddPicture("C:\Users\" & Environ("UserName") & "\Maps with Cities\" & picname & ".png", _ 
      LockAspectRatio = msoTrue, msoCTrue, Left:=Cells(19, 40).Left, Top:=Cells(19, 46).Top, Width:=350, Height:=-1).Select 

End Sub 

코드가 작동하고 이미지가 원하는 파일에 삽입 :

내가 쓴 코드입니다. 그러나 종횡비는 유지되지 않습니다. 이 문제를 해결하려면 어떻게해야합니까?

답변

2

은 다음과 같이 그것을 시도 :

With ActiveSheet.Pictures.Insert(PicPath) 
    .ShapeRange.LockAspectRatio = msoTrue 
    .Width = 350 
End With 
+0

감사합니다! 완벽하게 일했습니다. – franciscofcosta