VBA动态决定工作表的数量并对其进行计算

时间:2018-12-30 15:07:34

标签: excel vba excel-vba

VBA是否有任何方法可以确定工作簿中的工作表数量,并对这些工作表中的单元格的预定义范围执行计算。工作簿中的工作表可能会随着新工作表的添加而发生变化。 我有这样的要求,即需要将工作表定期添加到工作簿中,并且我们需要计算特定范围的单元格之和。我用Google搜索了它,但在Stakoveflow上甚至都没有找到任何解决方案

1 个答案:

答案 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