我已经使用了这段代码,我需要一些帮助来添加两个功能:
- 选择图片时在单元格中插入图片名称
- 创建一个链接,指向一个文件夹,该文件夹后面跟有/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