适合图片大小以填满整个范围

时间:2015-03-09 12:57:51

标签: excel-vba vba excel

那是我的代码:

With Worksheets("CheckListIndustrialisation").Pictures.Insert(image) 
    '.Top = [F31].Top
    '.Left = [F31].Left
    '.Width = [F31].Width
    '.Height = [F31].Height

我想在一张纸上展示很多照片,不同尺寸的单元格。

问题是我的图像在大单元格中保持非常小。如何确定尺寸以填充整个单元格或范围?例如,给定范围A1:D4,图像应占据该范围内的整个空间。

1 个答案:

答案 0 :(得分:1)

两件事:

  1. 您需要指定整个范围的上/左/高/宽,而不仅仅是单元格F31,如您的示例所示。

  2. 您可能想要解锁宽高比。这将允许图像垂直和水平拉伸以适合您的范围。

  3. 这就是这段代码的作用:

    Dim r As Range
    Dim ws As Worksheet
    Dim imagePath As String
    Dim img As Picture
    
    Set ws = Worksheets("CheckListIndustrialisation")
    Set r = ws.Range("A1:D4")
    imagePath = "C:\myImage.jpg"
    Set img = ws.Pictures.Insert(imagePath)
    
    With img
        .ShapeRange.LockAspectRatio = msoFalse
        .Top = r.Top
        .Left = r.Left
        .Width = r.Width
        .Height = r.Height
    End With
    

    结果:

    enter image description here