首页 > 解决方案 > 如何使图片适合范围(“A59:F59)VBA的单元格

问题描述

嗨,我正在 VBA 中制作工作表,我需要将打开的图片从 A:59 调整到 F59,我尝试更改宽度和高度,但对我来说效果不佳。代码:

    Sub CommandButton1_Click()



Dim fNameAndPath As Variant
Dim img As Picture
fNameAndPath = Application.GetOpenFilename(Title:="Select Picture To Be Imported")
Set img = ActiveSheet.Pictures.Insert(fNameAndPath)
 If fNameAndPath = False Then Exit Sub
    'Set img = ActiveSheet.Pictures.Insert(fNameAndPath)
With img
     With .ShapeRange
        .LockAspectRatio = msoTrue
        .Width = 125
        .Height = 225
     End With
    .Left = ActiveSheet.Cells(59, 1).Left
    .Top = ActiveSheet.Cells(59, 1).Top
    .Placement = 1
    .PrintObject = True

       
End With
    
End Sub

标签: excelvbarangecell

解决方案


你可以简单地使用范围来实现这一点

.Left = ActiveSheet.Range("B59").Left

.Top = ActiveSheet.Range("F59").Top

推荐阅读