excel vba如何让所有工作簿表都运行代码(跳过某个)?求修改

初学者写了一个vba代码,想在每一个工作簿都运行,试了一下勉强成功了,可是没法跳过开头两个总结类工作表,网上也找了一些方法可是试了一下都用不上,求指导,非常感谢。会再加分的。(假设第一个工作簿名为“工作簿一”,第二个名为“工作簿二”)

Sub WorksheetLoop2()

Dim Current As Worksheet
Dim Row0 As Long, Row1 As Long

For Each Current In Worksheets

With Current
Row0 = .Cells(1048576, 1).End(xlUp).Row
.UsedRange.RemoveDuplicates Columns:=Array(8, 9, 10), Header:=xlYe
Row1 = .Cells(1048576, 1).End(xlUp).Row
End With
MsgBox Current.Name & Row0 - Row1, vbInformation, "Information"

Next

End Sub

代码加个条件就好了

Sub WorksheetLoop2()

Dim Current As Worksheet
Dim Row0 As Long, Row1 As Long

For Each Current In Worksheets
if Current.index>2 then '如果工作表 在第2个工作表之后(按显示顺序)

With Current
Row0 = .Cells(1048576, 1).End(xlUp).Row
.UsedRange.RemoveDuplicates Columns:=Array(8, 9, 10), Header:=xlYe
Row1 = .Cells(1048576, 1).End(xlUp).Row
End With
MsgBox Current.Name & Row0 - Row1, vbInformation, "Information"
end if
Next

End Sub

追问

真的很感谢!真的可以用!真的帮了大忙了我纠结了整个礼拜
我用了很多if then的方法一直说编译错误,next 没有 for,不知道为什么。
只是加了这行之后速度慢了好多,一分钟处理一张工作表……可能因为本来数据库比较大。
(请问一下有没有可能缩短处理速度的方法?对不起!!不应该要求那么多的QAQ)

追答

要我都不会用这个功能去做
直接 一个字典 解决,微秒 处理
你的 H:J 列 是单独的? 就是 要去除 每个表 H:J 列的重复项?

追问

请指导!真的是初学,然后也是网上找方法生般硬凑的

就是HJK这三列,就是内容完全一样才算是重复项,然后删除

比如同名同姓同一天生日这样才算是同一个人

每一个工作表都要处理一次。

另外我刚才在知道向您提了另外一个问题,能不能麻烦您结合起来一起看。我会两个分都给的。非常感谢!网页链接

追答

你说的慢可能不是 因为 代码问题,可能是 你 开的表格公式多了 ,删除一个 计算一次才慢
把计算选项弄成手动重算
==========
分我 不在乎,我在意的 是 RMB

追问

确实是因为公式太多了里面所以每次走vba就要重新刷一次确实是很慢
您有闲鱼吗

追答

你的提问为啥删除了

温馨提示:答案为网友推荐,仅供参考
相似回答