创建" x"新标签的数量。然后在主选项卡中,汇总sheet1:sheetX中的所有E13

时间:2017-03-29 12:25:40

标签: vba excel-vba excel

我们需要一个可以创建" X"将标题为"批次1"到"批次" X""。在单元格中输入一个整数" A15"这将说明将制作多少个标签。然后在第一个选项卡的单元格中,我们需要获取从" A15中输入的数字创建的所有E13单元格的总和。"下面的代码创建" X"标签数量,但我们仍然坚持如何将E13值加在一起。 =SUM("Batch 1":"Batch X"!E13)是我最好的猜测,但我想弄清楚如何定义一个变量" X"等于单元格中的整数" A15。"提前谢谢!

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

1 个答案:

答案 0 :(得分:1)

您需要在循环内使用VBA创建SUM公式。

Sub Create()
    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
    Sheet1.Range("A16").Formula = SumFormula 'write sum formula to cell A16
End Sub

此处在i = 1循环的第一次迭代(for)中,总和公式的创建以=SUM('Batch 1'!E13开头,对于所有其他工作表,总和公式由{{1}扩展其中,'Batch i'!E13是表单编号。最后,公式以括号i结束,并写入范围)