此代码通过在单元格中输入图片的名称,从特定文件夹中将图片插入到我的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
答案 0 :(得分:0)
尝试:
.Left = Target.Left + Target.Width / 2
.Top = Target.Top + Target.Height / 2