【发布时间】:2018-10-17 08:20:22
【问题描述】:
好的,到此为止。我有一个工作簿,每天都有单独的工作表,详细说明股票交易活动。我目前还有一个 VBA,它为每个工作表上的指定列提供总和,这很好用。
但是,我想做的是添加到我的 VBA 中,以便它在主工作表中提供这些列的总和。
因此,例如:如果工作表 1 上 2018 年 10 月 1 日的交易活动总计 400 万,工作表 2 上 2018 年 10 月 2 日的交易活动总计 300 万,我希望在主表上显示总计 700 万工作表。
我在下面附上了我当前的 vba,当前在每个工作表上求和的列是 J。在单个工作表上求和的列不会改变,但是这些列中包含的数据量显然取决于交易活动.
Sub autoSum_AllSheets()
Dim ws As Worksheet
Dim cel1 As String, cel2 As String
Dim firstCel As Range
For Each ws In ActiveWorkbook.Worksheets
With ws
Set firstCel = .Range("J3").End(xlDown).Offset(2, 0)
cel1 = firstCel.Offset(-2, 0).End(xlUp).Address
cel2 = firstCel.Offset(-1).Address
firstCel.Value = "=SUM(" & cel1 & ":" & cel2 & ")"
End With
Next ws
End Sub
我还附上了从随机日期截取的当前模拟工作表的屏幕截图,运行 vba 后得到的总和以粗体显示并以红色突出显示。
任何关于如何解决这个问题的建议都会很棒,因为我是 VBA 的新手。
编辑:我在下面的主工作表上附上了我想要实现的模拟截图:
【问题讨论】:
-
您的代码到目前为止是否正常工作? 究竟是什么问题?有什么错误吗?你的问题是什么?你没有问。
-
代码正在运行,我想做的是找出是否有办法将它在各个工作表上产生的当前总和也移动到主工作表上。例如,如果我回头查看第 39 周(10 月 1 日至 5 日)的数据,我可以从主工作表上的各个工作表中找到总和。