使用VBA在Excel中检查工作表

我可能在我的Excel工作簿中命名为Data1,Data2,…我想知道的是在我的工作簿中有多less这样的表格。

我试图比较工作表名称,并保持计数。 但是它没有正常工作。

所以希望有人能帮助我。 提前致谢。

尝试这个

msgbox thisworkbook.sheets.count 

这将返回工作簿的页数。

要返回名称类似“数据”的工作表数量,请执行以下操作:

 Dim iCountSheets As Integer Dim oSheet As Worksheet ' For Each oSheet In Sheets If oSheet.Name Like "Data*" Then iCountSheets = iCountSheets + 1 End If Next MsgBox iCountSheets & " sheets like data" 

另一种方法是通过索引遍历图纸集合:

 Dim iCountSheets As Integer, iIdx As Integer Dim oSheet As Worksheet ' For iIdx = 1 To Sheets.Count ' non-zero based collection If Sheets(iIdx).Name Like "Data*" Then iCountSheets = iCountSheets + 1 End If Next MsgBox iCountSheets & " sheets like data" 

这是你正在尝试?

 '~~> Case Sensitive Sub Sample() Dim ws As Worksheet Dim shCount As Long For Each ws In ThisWorkbook.Sheets If ws.Name Like "Data*" Then shCount = shCount + 1 Next ws Debug.Print shCount End Sub '~~> Or use the below if you have sheets like data1, Data2, DaTa3 etc Sub Sample() Dim ws As Worksheet Dim shCount As Long For Each ws In ThisWorkbook.Sheets If UCase(ws.Name) Like "DATA*" Then shCount = shCount + 1 Next ws Debug.Print shCount End Sub