[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

(0)

相关推荐