Excel微距调整 - 想要在特定点插入图片

时间:2017-02-24 20:24:36

标签: excel vba excel-vba

此代码通过在单元格中输入图片的名称,从特定文件夹中将图片插入到我的Excel工作表中。例如,如果我要将a1.jpg输入到单元格J4中,那么我将从文件夹中获取我想要的图像输出到J4右侧一个空格的单元格。

我遇到的困境是我的excel模板有各种大小的单元格,我试图将图片放在一个特定的位置但是很难。这是因为当前代码按单元格移动图片,因此如果单元格太长,图片将在单元格的整个长度上移动。我想知道这是否可以改变,以便图像可以直接放置在某一点而不是由细胞指定。

代码信用转到pokemon_Man

代码如下:

    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim imagePath, fileName, fullImagePath, newImageLoc As String

        imagePath = "C:\YourFileLocationPath\"
        If Target.Address = "$J$4" Then 
            fullImagePath = imagePath & Target.Value
            newImageLoc = Target.Offset(, 1).Address 

            With ActiveSheet.Pictures.Insert(fullImagePath)
                .Left = ActiveSheet.Range(newImageLoc).Left
                .Top = ActiveSheet.Range(newImageLoc).Top
                .Placement = 1
                .PrintObject = True
            End With
            End
        End If
    End Sub

1 个答案:

答案 0 :(得分:0)

尝试:

 .Left = Target.Left + Target.Width / 2
 .Top = Target.Top + Target.Height / 2