gpt4 book ai didi

vba - 循环工作表时运行时错误 6 溢出

转载 作者:行者123 更新时间:2023-12-04 21:58:34 25 4
gpt4 key购买 nike

我正在使用下面的代码删除 Excel 中引用用户共享文件的加载项的路径。它适用于某些文件,但将其与新文件一起使用并在打开时收到运行时错误 6 溢出错误。它停在 Cell Replace 线上。

Private Sub Workbook_Open()
Dim i As Long
Dim strWorksheetName As String

strWorksheetName = ActiveSheet.Name

Application.DisplayAlerts = False
For i = 1 To Sheets.Count
Sheets(i).Activate
If Sheets(i).Type = xlWorksheet Then
Cells.Replace What:="'c:\*xla*'!", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
Next i
Application.DisplayAlerts = True

Sheets(strWorksheetName).Activate

End Sub

最佳答案

这个可能是因为 Workbook_Open 事件在加载所有内容之前触发得太快而引起的。

可能如果您不尝试激活工作表,则运气会更好。 (激活它们会导致 Excel 必须显示它们,它可能无法做到这一点,因为它仍在做其他事情。但是在不强制显示工作表的情况下进行更改可能会让它继续做它想做的事情。我在猜测,但在有人提出另一种解决方案之前,猜测和任何事情一样好!)

尝试将您的代码更改为:

Private Sub Workbook_Open()
Dim ws As Worksheet

Application.DisplayAlerts = False
For Each ws in Worksheets
ws.Cells.Replace What:="'c:\*xla*'!", _
Replacement:="", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
Next
Application.DisplayAlerts = True

End Sub

如果它有效,我会在这里留下答案。如果没有,我将删除答案,其他人可以提出建议。

关于vba - 循环工作表时运行时错误 6 溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com