Vba SumForumla:将两个SumForumla函数复制到“a”中的两个不同单元格中;总数;床单

Vba SumForumla:将两个SumForumla函数复制到“a”中的两个不同单元格中;总数;床单,vba,excel,Vba,Excel,下面的宏将创建新的i张数,并将E13中的总计复制到单元格F6中的“总计”张数。我们还需要从“资源计算器”单元格E14中获取总计,并将其复制到“总计”表格单元格F7中。寻找一个好方法的建议。提前谢谢 Sub Mac() Sheets("total").Visible = True Dim i As Integer, SumFormula As String For i = 1 To Sheet1.Range("A15").Value Sheets("Res

下面的宏将创建新的
i
张数,并将E13中的总计复制到单元格F6中的“总计”张数。我们还需要从“资源计算器”单元格E14中获取总计,并将其复制到“总计”表格单元格F7中。寻找一个好方法的建议。提前谢谢

Sub Mac()
    Sheets("total").Visible = True

    Dim i As Integer, SumFormula As String
    For i = 1 To Sheet1.Range("A15").Value
        Sheets("Resource Estimator").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = "Batch " & i

        If i = 1 Then
            SumFormula = "=SUM('" & ActiveSheet.Name & "'!E13" 'begin sum formula
        Else
            SumFormula = SumFormula & ",'" & ActiveSheet.Name & "'!E13" 'iterate sum formula
        End If
    Next i

    SumFormula = SumFormula & ")" 'end sum formula
    ThisWorkbook.Sheets("Total").Range("F6").Formula = SumFormula 'write sum formula to cell F6
End Sub
我将开发3D公式,如下所示:

For i = 1 To Sheet1.Range("A15").Value
    Sheets("Resource Estimator").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "Batch " & i
Next i

With Sheets("total")
    .Visible = True
    .Range("F6").Formula = "=sum('Batch 1:Batch " & i - 1 & "'!E13)"
    .Range("F7") = Sheets("Resource Estimator").Range("E14")
End With

顺便说一句,注意可能的工作表名称拼写错误:您的叙述讲述了“资源计算器”,但在代码中您编写了“资源估计器”。我假设它们和它的名字是同一张表和“资源估计器”

是的,代码中有很多内容,你应该在每一张表中循环吗?为什么需要一个宏?在我看来,您只是将单元格E13的内容输入一个值。在代码顶部使用OptionExplicit会有所帮助,代码有什么问题?它在哪里打破了?我在“资源估计器”上有一系列复选框。用户单击适用的框,根据选择,生成两个总数。通常情况下,项目需要多个复选框和工作表。上面的代码允许用户生成由“A15”中输入的内容确定的一定数量的复选框表格。然后,创建的每张表格将在相应的“E13”和“E14”中有总计。然后我们希望有一个“总计”表,它将“总计”表中F6和F7单元格中生成的所有E13和E14相加。++从来不知道它们被称为3D公式。。。nice@CallumDA好吧,至少我总是发现他们像那样在谷歌上搜索!