Excel:将多个工作表中的特定列相加并将结果放入新工作表中

时间:2013-12-09 12:44:08

标签: excel excel-vba vba

目标:对特定列(M)求和并在同一工作簿中的新工作表中填充结果

我的尝试:

Sub ramsum()
'
' ramsum Macro
'
    ActiveCell.FormulaR1C1 = "=SUM('02-06'!C[12])"
    Range("E20:E21").Select

End Sub

问题:如何检查上面的工作表名称并使其动态化以确保相应工作表中M列的所有内容相加并将结果输入新工作表。

示例

工作表 - 包含30张标有02-06,03-06,04-06的表格,这些表格代表6月份的天数。 每张纸的列数为100行。列M具有需要求和的数据。它的垂直长度不同。基本上,列仅包含数字,并且要进行求和,并将结果放在新工作表中。总之,来自不同表格的列的所有求和结果将被放入相同的“摘要表”中。

请告知

1)修改代码以指向所有其他工作表(不同的名称) 2)或者建议使用sumif,间接......或类似的方法更简单。

1 个答案:

答案 0 :(得分:0)

我想知道为什么你不能只是总结整个列但需要指定确切的范围,如你的描述,M列中没有其他内容。 如果是这种情况,那么以下代码可能会对您有所帮助:

Sub runningThroughSheets()

  Dim actBook As Workbook
  Dim wsht As Worksheet

  Set actBook = Application.ActiveWorkbook

  For Each wsht In actBook.Worksheets
    MsgBox wsht.Evaluate("SUM(M:M)")
  Next

End Sub