gpt4 book ai didi

excel - 使用 Excel VBA : run-time error 1004 在工作簿中查找匹配项

转载 作者:行者123 更新时间:2023-12-04 21:48:37 28 4
gpt4 key购买 nike

我正在尝试创建一个宏,它在我的事件工作簿的所有工作表中搜索“路由”一词。

当它在我的工作簿的一张表中检测到第一次出现时,我希望我的宏选择相应工作表上的相关单元格。

我的宏返回错误消息:

run-time error 1004: activate method of range class failed…



这行代码似乎产生了问题: Loc.Activate
Sub FindAndExecuteRouting()
Dim Sh As Worksheet
Dim Loc As Range
For Each Sh In ActiveWorkbook.Worksheets
With Sh.UsedRange
Set Loc = .Cells.Find(What:="Routing")
If Not Loc Is Nothing Then
Loc.Activate
End If
End With
Next
End Sub

最佳答案

你不能Activate一个 Range除非它在 ​​ActiveSheet 上.

所以你必须做Sh.Activate在你可以做之前Loc.Activate .请注意,通常您不想 Activate a cell you already have a reference to , 但是当 目标是选择一个单元格,以便用户可以看到特定单元格周围的选择框...嗯,这是 Worksheet.Activate 为数不多的合法用例之一。 =)

Public Sub FindAndExecuteRouting()
Dim Sh As Worksheet
Dim Loc As Range
For Each Sh In ActiveWorkbook.Worksheets
With Sh.UsedRange
Set Loc = .Find(What:="Routing")
If Not Loc Is Nothing Then
Sh.Activate
Loc.Activate
Exit Sub
End If
End With
Next
End Sub

注意 Exit Sub :一旦找到一个,您就想停止循环( Exit For 也可以),否则您将很快连续选择每个结果,并且最终只会选择最后一个。

考虑使用 indenter帮助保持缩进一致!

关于excel - 使用 Excel VBA : run-time error 1004 在工作簿中查找匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59231978/

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