Excel VBA如何让指定代码仅在Sheet9运行而非当前活动工作表
VBA代码调整方案
原来的代码没有给Cells、Rows等对象指定所属工作表,运行时会默认读取当前激活的工作表的数据,要限定仅对Sheet9生效,只需要给这些对象明确绑定Sheet9作为父工作表即可。
修改后代码(稳定版,使用工作表CodeName)
Sub Test() Dim r As Long With Sheet9 For r = .Cells(.Rows.Count, "C").End(xlUp).Row To 1 Step -1 If IsNumeric(.Cells(r, 3)) Then .Rows(r).Delete Next r End With End Sub
说明
- 这里的
Sheet9是工作表的代码名称,对应VBA编辑器左侧工程资源管理器中显示的Sheet9 (自定义标签名)前缀部分,该名称不会因为用户修改Excel界面的工作表标签名称失效,可靠性更高。 - 如果你需要按工作表的显示标签名匹配,把
With Sheet9替换为With Sheets("你的Sheet9标签名")即可。
内容的提问来源于stack exchange,提问作者guypt86
相关产品推荐
相关产品推荐

