使用VBA在Excel中检查工作表

Sar*_*Ard 2 excel vba excel-vba

我的excel工作簿中可能有Sheets,名为Data1,Data2,...我想知道的是我的工作簿中有多少这样的表格.

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

所以希望有人可以帮助我.提前致谢.

Our*_*nas 6

试试这个

msgbox thisworkbook.sheets.count
Run Code Online (Sandbox Code Playgroud)

这将返回工作簿中的工作表数量.

要返回名称如"数据"的工作表数量,请执行以下操作:

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"
Run Code Online (Sandbox Code Playgroud)

另一种方法是通过索引遍历工作表集合:

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"
Run Code Online (Sandbox Code Playgroud)

  • 我看到你在upvoted它后更新了你的帖子,但最新的编辑有2个主要错误.`1.`你的If缺少一个结束 - 如果`2`设置`iIdx = 0`会给你一个错误.我很惊讶这篇文章在你编辑LOL之后得到的upvotes. (3认同)