Vba 创建“x”个新选项卡。然后在主选项卡中,对表1:sheetX中的所有E13求和

Vba 创建“x”个新选项卡。然后在主选项卡中,对表1:sheetX中的所有E13求和,vba,excel,Vba,Excel,我们需要一个宏,该宏将创建X个标签,标题为batch 1 to batch X。在单元格A15中输入一个整数,表示将创建多少个标签。然后,在第一个选项卡中的一个单元格中,我们需要获取根据A15中输入的数字创建的所有E13单元格的总和。下面的代码创建了X个选项卡,但我们仍在讨论如何将E13值相加=第1批:第X批!E13是我最好的猜测,但我正试图找出如何定义变量X等于单元格A15中的整数。提前谢谢 Dim i As Integer For i = 1 To Sheet1.Range("A15").V

我们需要一个宏,该宏将创建X个标签,标题为batch 1 to batch X。在单元格A15中输入一个整数,表示将创建多少个标签。然后,在第一个选项卡中的一个单元格中,我们需要获取根据A15中输入的数字创建的所有E13单元格的总和。下面的代码创建了X个选项卡,但我们仍在讨论如何将E13值相加=第1批:第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

您需要在循环中使用VBA创建求和公式

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

在for循环的第一次迭代i=1中,sum公式的创建从=sum'Batch 1'开始!E13对于所有其他表格,总和公式扩展为“第一批”!E13,其中i是图纸编号。最后,公式以括号结束,并写入范围A16。

每个创建的选项卡是否在单元格E13上都有一个数字,该数字是多少?随机数?为什么不使用i并将其与工作表Batch 1中的值相乘。如果仍要复制,请尝试使用:Sheet1.RangeA3.Value=i*工作表批处理1.range13输入单元格A3。Value@ShaiRado因为我猜,当数据更改/填充到批次表中一段时间后,批次1至x中的E13与批次1中的E13会有所不同。工作起来很有魅力!谢谢你的帮助。