基于Excel VBA中的自动筛选结果打开多个超链接

基于Excel VBA中的自动筛选结果打开多个超链接,excel,hyperlink,runtime-error,autofilter,vba,Excel,Hyperlink,Runtime Error,Autofilter,Vba,编辑1 我正在尝试打开多个超链接。所有超链接都适用于.pdf文件。超链接未排序,即超链接前面或后面的单元格可能不是超链接。我正在使用基于自动筛选的搜索。假设100个可见行构成自动筛选,其中60个在指定列中具有超链接。我想用Excel VBA打开所有这些文件 我一直在使用 Sub tobedeleted() Dim Selrng As Range Dim srch_cr As Variant Set Selrng = Application.InputBox("Select a ran

编辑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函数hyperlink,我基本上是使用vlookup从另一个工作表中的转储获取文件位置。列中的超链接功能将激活超链接。

一个好的开始是,下一步删除错误恢复,并查看代码抛出的错误

另外,您说您正在使用AutoFilter查找行,但您的代码正在根据所选内容运行。自动筛选不会自动选择行。你需要使用

For each hl in Worksheet().Cells.SpecialCells(xlCellTypeVisible).hyperlinks
根据评论中的讨论,我认为有几个问题:

我不知道您为什么要使用Application.WorksheetFunction.Transpose,因为它似乎并没有给您带来任何好处。不知道用户可能会选择什么形状范围,对其进行重塑对我来说似乎没有帮助。 将selrng.hyperlinks中每个hl的循环更改为 当.hyperlinks是范围对象时,您当前正在尝试使用variant.hyperlinks
如果这没用,我就没什么想法了。

是的,但我正在使用自动筛选部分,并在两个不同的宏中打开超链接。原因是为了调试和检查信息是否正确。超链接打开部分是分开的。我也试着在上面编辑1,只是看了一下你的更新代码,每个都是新的。。。循环不做任何事情-它只是循环。你需要一些代码在里面。。。逐步进行,逐行,在调试中,查看如何设置变量。确保一切都在你期望的地方结束。如果没有,并且你无法找到答案,请用具体信息更新你的OP,我们可能会提供帮助。从这里开始,我只是猜测。在你的OP原创帖子上——你在标签下面问的问题,有一个链接可以编辑。编辑您的问题,添加新内容如果您保留旧内容,那么对话就有意义,将来可能有人会找到您的帖子,发现他们的问题匹配,并能够使用解决方案。添加尽可能多的细节,以帮助我们帮助您。好的,我删除了“错误恢复下一步”,我得到一个错误,表示下一个循环在这两个位置都需要对象。我使用了您上面的建议,仍然不起作用。有人有新想法吗,帮助plz!!!