VBA是否有任何方法可以确定工作簿中的工作表数量,并对这些工作表中的单元格的预定义范围执行计算。工作簿中的工作表可能会随着新工作表的添加而发生变化。 我有这样的要求,即需要将工作表定期添加到工作簿中,并且我们需要计算特定范围的单元格之和。我用Google搜索了它,但在Stakoveflow上甚至都没有找到任何解决方案
答案 0 :(得分:1)
- 在所有工作表的“ 此处的代码”部分中执行操作,但“例外逗号分隔列表”除外。
- 两个版本之间的区别在于,第一个版本使用对象控制变量
ws
,但是第二个版本不需要它,而是使用控制变量i
和{{1 }}.Count
属性的属性。- 如果您没有任何例外,即您想在所有工作表上执行操作,则只需将
Worksheets
保留为“” 。
cExceptions
Sub WorksheetsForEach()
' Exceptions Comma-Separated List
Const cExceptions As String = "Sheet1,Sheet2"
Dim ws As Worksheet ' Current Worksheet
Dim vntExceptions As Variant ' Exceptions Array
Dim j As Integer ' Exceptions Counter
vntExceptions = Split(cExceptions, ",")
For Each ws In Worksheets
With ws
For j = 0 To UBound(vntExceptions)
If .Name = vntExceptions(j) Then
Exit For
End If
Next
If j > UBound(vntExceptions) Then
' Code in here e.g.
Debug.Print .Name
End If
End With
Next
End Sub