[VBA]遍历工作表六种方法
1.Sub 遍历工作表()
For Each sh In Worksheets '数组
sh.Select
你的处理过程
Next
End Sub
--------------------------------------
2.Sub 遍历工作表()
For Each sh In Worksheets '数组
if sh.name <> 表名1 and sh.name <>表名 2 then
sh.Select
你的处理过程
end if
Next
End Sub
--------------------------------------
3.Sub 循环工作表()
For Each sh In Worksheets
If sh.Index > 2 Then '限定工作表范围
sh.Select
你的处理过程
End If
Next
End Sub
--------------------------------------
4.Sub 遍历工作表()
For Each sh In Worksheets '数组
If sh.Name Like '*' & '表' & '*' Then '如果工作表名称包含“表”
sh.Select
你的处理过程
End If
Next
End Sub
5.Sub 遍历工作表()
For Each sh In Worksheets '数组
If Not sh.Name Like '*' & '表' & '*' Then '如果工作表名称不包含“表”
sh.Select
你的处理过程
End If
Next
End Sub
6.Sub 遍历工作表()
For Each sh In Worksheets '数组
If sh.Name <> '价格表' And sh.Name <> '人员表' Then '指定不参与循环的工作表名称,可一个或多个,自行增减
sh.Select
你的处理过程
End If
Next
End Sub
7.Sub 遍历指定文件夹中所有工作簿和工作表()
Dim myPath$, myFile$, AK As Workbook, aRow%, tRow%, i As Integer
Application.ScreenUpdating = False '冻结屏幕,以防屏幕抖动
myPath = ThisWorkbook.Path & '\分表\' '把文件路径定义给变量
myFile = Dir(myPath & '*.xls*') '依次找寻指定路径中的*.xls*文件
Do While myFile <> '' '当指定路径中有文件时进行循环
If myFile <> ThisWorkbook.Name Then '如果不是当前文件
Set AK = Workbooks.Open(myPath & myFile) '打开符合要求的文件
For i = 1 To AK.Sheets.Count '遍历工作表
你的处理过程
Next
Workbooks(myFile).Close False '关闭源工作簿,并不作修改
End If
myFile = Dir '找寻下一个*.xls*文件
Loop
Application.ScreenUpdating = True '恢复刷新屏幕,此类语句一般成对使用
MsgBox '完成!', 64, '提示' '提示完毕
End Sub