【问题标题】:Using internal excel sheet name (i.e. sheet1, sheet2, sheet3) to sum a cell across multiple sheets使用内部 Excel 工作表名称(即 sheet1、sheet2、sheet3)对多个工作表中的单元格求和
【发布时间】:2019-07-10 16:14:06
【问题描述】:

我正在尝试对多张纸上的同一个单元格求和。工作表的数量每周增加一张,并将成为新的 Sheet1。每张纸都将获得其名称的日期。最后一张表将包含总和。之前的三张纸将包含说明。即 20 张,第 1-16 页上的数据,第 17-19 页上的说明和第 20 页上的总数。

这个Sum across dynamic number of sheets 问题在每个单元格中都使用了用户定义的函数 =autosum,并且可以正常工作。我宁愿使用 VBA 来创建宏。我知道如何获得总表和所有表的总和,我迷失的是如何求和(总表-4),即表 1-16。

我已经使用的代码是

Dim sheets as Integer

sheets = Application.sheets.Count

=SUM('FirstSheet:LastSheet'!D6)

如何获得

=SUM('FirstSheet:(LastSheet-4)'!D6?

我想使用内部 excel sheet1、sheet2 等而不是每张表上的日期名称,至少对于 FirstSheet。我可以硬编码 LastSheet,因为它不会改变。

【问题讨论】:

  • 您现在使用的确切 SUM 代码是什么/

标签: excel vba sum cell


【解决方案1】:

您不需要使用 VBA,您可以使用默认的求和公式。我建议创建两张空白表(例如“开始”和“结束”),确保“开始”总是在你想要的第一张表之前,而“结束”总是在你想要求和的最后一张表之后。然后,像这样的公式可以满足您的要求:

=SUM(Start:End!A1)

编辑:如果应汇总的第一张和/或最后一张工作表的名称是静态的,则可以避免使用“开始”或“结束”占位符,并将它们替换为应相加的第一张/最后一张工作表的名称相加。

【讨论】:

  • 那行得通。我可以把“空白”作为第一张纸。我试图不让那些实际添加新工作表并加载数据的人感到困惑。我会和他们一起并确保他们明白在“空白”之后添加任何新工作表。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多