宏将图像文件名插入单元格



我已经使用了这段代码,我需要一些帮助来添加两个功能:

  1. 选择图片时在单元格中插入图片名称
  2. 创建一个链接,指向一个文件夹,该文件夹后面跟有/picname.jpg

这可能吗?另一件事是在一系列细胞中使用它我试过类似的东西

  If Target = "$D$1:$D$10" Then

但不起作用。。

我真的很感激你的帮助。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$D$1" Or Target.Address = "$D$2" Then
        fName = Application.GetOpenFilename("Picture files (*.jpg;*.gif;*.bmp;*.tif), *.jpgs;*.gif;*.bmp;*.tif", , _
"Select picture to insert")
        If fName = "False" Then Exit Sub
        ActiveSheet.Pictures.Insert(fName).Select
        With Selection.ShapeRange
            .LockAspectRatio = msoFalse
            .Height = ActiveCell.Height
            .Width = ActiveCell.Width
            .Top = ActiveCell.Top
            .Left = ActiveCell.Left
        End With
    End If
End Sub

我假设你的图片文件名变量是fName,并且你已经有了图片文件的路径作为变量(假设它被称为pName):


要将文件名插入单元格,可以使用(但不限于)

ThisWorkbook.Sheets("SheetName").Range("A1").Value = fName

ActiveSheet.Range("A1").Value = fName

要插入到文件的链接,可以插入超链接公式,如

ActiveSheet.Range("A1").Formula = "=HYPERLINK(""" & pName & fName & "")"

至于目标,您可以使用IF语句来确保目标在所需的单元格范围内:

 If Target.Column = 4 And Target.Row <= 10 Then
    '// Your code here
End If

最新更新