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好吧,至少我总是发现他们像那样在谷歌上搜索!