【发布时间】:2015-12-17 20:37:12
【问题描述】:
我有一个宏,可以创建一个包含多个按日期命名的工作表的工作簿,例如2015 年 12 月 1 日,2015 年 12 月 2 日。数据手动输入到这些工作表中。最后一个工作表名称是“TOTAL”。每个月工作表的数量和名称都会有所不同。我正在尝试编写一段代码,它将所有工作表中的数据汇总到位于名为“Total”的工作表中的单元格中。我的想法是通过循环来做到这一点,但尽管宏运行时没有显示错误消息,但它不起作用。 宏完成运行后应该出现在“Total”工作表的“B2”中的公式不存在,所以我的假设是求和仅在宏执行期间有效。我不确定如何将“sum”公式输入“Total”工作表的“B2”单元格。我真的很感激任何可以为我指明正确方向的提示。下面有一段代码不起作用:
Sub Test()
Dim i as Long
For i = 1 To Worksheets.Count - 1
Worksheets("TOTAL").Range("B2").Formula = Application.WorksheetFunction.Sum(Worksheets(i).Range("B2"))
Next i
Worksheets(i).Range("B2").Value = Worksheets("TOTAL").Range("B2").Value
End Sub
【问题讨论】:
-
您想要单元格中的公式还是只需要总值?
-
如果你想要总值然后把这个
Worksheets("TOTAL").Range("B2").Formula = Application.WorksheetFunction.Sum(Worksheets(i).Range("B2"))改成这个:Worksheets("TOTAL").Range("B2").Value = Worksheets("TOTAL").Range("B2").Value + Worksheets(i).Range("B2").value -
请仅使用公式。