Vba Excel宏调整-要在特定点插入图片吗
此代码通过在单元格中输入图片名称,将图片从特定文件夹插入到我的excel工作表中。例如,如果我要在单元格J4中输入a1.jpg,那么我将从文件夹中获得所需图像的输出,输出到位于J4右侧一个空格的单元格中 我所面临的困境是,我的excel模板有各种大小的单元格,我试图将图片放置在特定的位置,但却遇到了困难。这是因为当前代码逐单元格移动图片,因此如果单元格太长,图片将移动整个单元格长度。我想知道这是否可以改变,使图像可以直接放置在某一点,而不是由细胞指定 密码归于口袋妖怪 代码如下:Vba Excel宏调整-要在特定点插入图片吗,vba,excel,Vba,Excel,此代码通过在单元格中输入图片名称,将图片从特定文件夹插入到我的excel工作表中。例如,如果我要在单元格J4中输入a1.jpg,那么我将从文件夹中获得所需图像的输出,输出到位于J4右侧一个空格的单元格中 我所面临的困境是,我的excel模板有各种大小的单元格,我试图将图片放置在特定的位置,但却遇到了困难。这是因为当前代码逐单元格移动图片,因此如果单元格太长,图片将移动整个单元格长度。我想知道这是否可以改变,使图像可以直接放置在某一点,而不是由细胞指定 密码归于口袋妖怪 代码如下: Pri
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
尝试:
您可以使用固定值而不是(例如)
ActiveSheet.Range(newImageLoc).Left
,或者通过从这些坐标中添加/减去数量来调整位置。谢谢!如果我想从中间而不是左上角移动图像,怎么样?
.Left = Target.Left + Target.Width / 2
.Top = Target.Top + Target.Height / 2