编辑#1 我想打开多个超链接。所有超链接均适用于.pdf文件。超链接未被排序,即超链接之前或之后的单元可能不是超链接。我正在使用基于自动过滤器的搜索。出于让我们说100个可见行形成自动过滤器,其中60个在指定列中具有超链接。我想使用Excel VBA打开所有这些文件。
我一直在使用
Sub tobedeleted()
Dim Selrng As Range
Dim srch_cr As Variant
Set Selrng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)
srch_cr = Application.WorksheetFunction.Transpose(Selrng)
Dim hl As Hyperlink
On Error Resume Next
For Each hl In srch_cr.Hyperlinks
hl.Follow
Next hl
For Each hl In ActiveWorksheet.Cells.SpecialCells(xlCellTypeVisible).Hyperlinks
Next hl
End Sub
我无法打开这些超链接。
此外,指定列使用Excel函数超链接,我基本上使用vlookup从另一个工作表中的转储中获取文件位置。列中的超链接功能激活超链接。
答案 0 :(得分:0)
一个良好的开端是摆脱On Error Resume Next
并查看代码抛出的错误。
另外,您说您正在使用AutoFilter查找行,但您的代码正在针对Selection
运行。 AutoFilter不会自动选择行。您需要使用
For each hl in Worksheet().Cells.SpecialCells(xlCellTypeVisible).hyperlinks
根据评论中的讨论,我认为有几个问题:
Application.WorksheetFunction.Transpose()
,因为它似乎没有给你买任何东西。没有人知道用户可能会选择哪种形状范围,并且重塑它似乎对我没有帮助。For each hl in selrng.hyperlinks
如果这没有用,我就是新鲜的想法。