每个新工作表的Excel VBA复制数据

时间:2014-09-25 11:51:20

标签: excel vba excel-vba

我有一份excel文件。

我的问题是:每次创建新文档时,我都需要移动数据。而且还会自动汇总数据。 表1是我的摘要。

假设我有一个名为“sum”的列,而在sheet2中我有一个列价。如果我在表2中设置价格A1 = 1(int),则应将其发送到表1(摘要)中的列总和。如果我然后复制工作表2并创建工作表3并在工作表3的价格中插入值1,它将最终在工作表1(摘要)中。总和shuld然后在表1中为2。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

请将其放在VBAProject中 - >的ThisWorkbook。 每次保存文件更改时它都会自动更新。如果您希望它适用于多个单元格,则只需在注释位置添加循环。

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

    Dim wb As Workbook
    Set wb = ActiveWorkbook

    Dim wbSize As Integer
    wbSize = wb.Sheets.Count

    Dim Sum As Long

    ' Open loop to apply to more than only 1 cell
    Sum = 0

        For i = 2 To wbSize

            Sum = Sum + wb.Sheets(i).Cells(1, 1).Value

        Next

    wb.Sheets(1).Cells(1, 1) = Sum
    ' Close the loop

End Sub