Vba 删除超链接性能

Vba 删除超链接性能,vba,excel,hyperlink,Vba,Excel,Hyperlink,我想通过VBA删除当前活动工作表上的所有超链接 为此,我使用了ActiveSheet.Hyperlinks.Delete命令,该命令工作正常,几乎不需要任何时间 所有这些,直到我同时打开两本包含超链接的工作簿。在这种情况下,非常相同的命令需要更多的时间来完成。它完成了它的工作,只从activesheet中删除超链接,但时间更长。似乎其他带有超链接的工作表正在放慢速度 我可以同时打开多个工作簿,但它们不能有任何超链接,宏才能快速工作 有人能帮我克服这个问题吗 我实际上是在一个情况下,我经常需要两个

我想通过VBA删除当前活动工作表上的所有超链接

为此,我使用了
ActiveSheet.Hyperlinks.Delete
命令,该命令工作正常,几乎不需要任何时间

所有这些,直到我同时打开两本包含超链接的工作簿。在这种情况下,非常相同的命令需要更多的时间来完成。它完成了它的工作,只从activesheet中删除超链接,但时间更长。似乎其他带有超链接的工作表正在放慢速度

我可以同时打开多个工作簿,但它们不能有任何超链接,宏才能快速工作

有人能帮我克服这个问题吗


<>我实际上是在一个情况下,我经常需要两个超链接工作簿同时打开并运行删除超链接的宏。

< P>这可能不是理想的,但是我会考虑用一个检查来启动你的代码,看看其他工作簿是否在这个实例中打开,如果他们保存了ActudiWorkBook,打开excel的新实例,然后在新实例中重新打开工作簿。然后再次运行代码

类似这样的操作可打开新实例:

Sub BlahBlah
if morethan1 then
    CWb = ActiveWorkbook.name
    ActiveWorkbook.save
    Dim objXL
    Set objXL = CreateObject("Excel.Application")
    objXL.Visible = True
    application.displayalerts = false
        objXL.Workbooks.Open = CWb
    application.displayalerts = True
end if
End Sub

如果隔离工作簿,则应返回到正常运行时

如果我尝试重现此行为,则了解Excel的版本以及您是否更改了有关超链接或校对的任何选项(Alt+F,T),都会有所帮助► 自动更正► AutoFormat.Excel版本是2010标准版,我不知道对超链接或AutoFormat设置做了任何更改。但是,这些工作表中还有许多其他宏。但我已经试过调试,所有其他命令都可以正常工作,除了thjis确切的一个命令在继续之前被卡住了几分钟,所以我相信其他宏可能不会妨碍它。我使用了一些自己的选项,但最长的时间是删除了ActiveSheet上的7500个超链接(打开了两本充满超链接的工作簿)是00:00:00.426,用
Application.EnableEvents=False
Application.Calculation=xlCalculationManual
;甚至可能是
Application.screenUpdatement=False
。记得把一切都打开。嗯,我忘了禁用计算和屏幕更新,但没什么区别。但是我potted,速度较慢的Excel通过VBA以编程方式添加了超链接(hyperlinks.Add),当另一个使用超链接函数公式时。我将在将来尝试将较慢的一个也更改为uswe公式,而不是VBA,但目前我无法,并且仍然希望找出错误所在…这听起来可能很愚蠢,但尝试添加
active工作簿.activesheet.hyperlinks.delete
,以获得更直接的参考