[英]Getting run-time error 9: Subscript out of range
我在VBA上的能力仅限于复制他人的辛苦工作并对其进行修补以使其能够满足我的需要。 我一直在寻找不同的站点,并使用许多选项。 我需要搜索一个网络文件夹-将文件夹中的所有文件与存储在A列中的文件号进行匹配,并创建到这些文件的超链接,并在A列中维护文件名。我无法完全找到自己需要的东西无法将这些内容在线混合以创建我的答案。 电子表格会每周添加一次,而新数据会添加到现有数据中,因此A列中的文件名数量是可变的。
搜索到的任何文件类型/扩展名是否也可能是变量,或者该文件类型必须是一种类型的文件。 味精还是pdf?
以下代码只是一次失败的尝试
Sub Hyperlinks()
'
Const sFILENAME_CELLS As String = "A2:A3200"
Const sLINKS_COLUMN As String = "A"
Const sFOLDER_NAME As String = "C:\Users\*****\Desktop\Benny PDFs"
Const sSHEET_NAME As String = "Projects"
Dim rFilenameCells As Range
Dim rFilenameCell As Range
Dim sFilename As String
Dim sFullName As String
Dim wksTarget As Worksheet
Dim iRowNo As Integer
Set wksTarget = ThisWorkbook.Sheets(sSHEET_NAME)
Set rFilenameCells = wksTarget.Range(sFILENAME_CELLS)
For Each rFilenameCell In rFilenameCells.Cells
sFilename = rFilenameCell.value
If sFilename <> vbNullString Then
sFullName = sFOLDER_NAME & "\" & sFilename
' Check that the file exists in the specified folder
If Dir$(sFullName) = sFilename Then
iRowNo = rFilenameCell.row
With wksTarget
.Hyperlinks.Add Anchor:=.Range(sLINKS_COLUMN & iRowNo), _
Address:=sFullName, _
TextToDisplay:=sFilename
End With
End If
End If
Next rFilenameCell
End Sub
获取运行时错误9:下标超出范围
原因可能是您的工作簿中没有“ Projects
表。 同时更改此行:
Const sLINKS_COLUMN As String = "A"
到A之外的其他内容,因为这样A2:A3200
的文件名将被超链接替换为该文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.