重复提取工作簿连续工作表中特定数据集的摘要 table MIN、MAX、AVERAGE

Recurring Fetching in a summary table MIN, MAX, AVERAGE for a specific data set in consecutive worksheets of a workbook

如何减少 excel 中的手动工作以获取摘要 table 重复使用工作簿的连续工作表中的特定数据集的 MIN、MAX、AVERAGE。每个工作表中的数据集都会有所不同,但是必须对每个 excel 选项卡的列中的每个数据集执行这三个操作。摘要表示工厂生产的橡胶批次随时间推移的周期时间最小值、最大值和平均值。大约有 50 种不同的橡胶产品,因此工作簿中有 50 个工作表。Cycle Time with Control charts - Query
我在 link.

中提供了示例数据

这是一个脚本,它创建一个新的 sheet 作为 sheet 1,将其命名为摘要,放入列标题并遍历所有 sheet。

Option Explicit

Sub makeSummary()

Worksheets.Add Before:=Sheets(1)
Sheets(1).Name = "Summary"
Sheets(1).Range("A1").Value = "Sheet N°"
Sheets(1).Range("B1").Value = "Sheet Name"
Sheets(1).Range("C1").Value = "Minimum"
Sheets(1).Range("D1").Value = "Maximum"
Sheets(1).Range("E1").Value = "Average"

Dim i As Integer
For i = 2 To Sheets.Count
    CopySheet (i)
Next
End Sub

Sub CopySheet(s)  ' sheetNumber to treat

Dim minVal, maxVal, Running, i As Long
minVal = 100000
i = 3
Do While Sheets(s).Range("C" & i).Value <> 0
    If (Sheets(s).Range("C" & i).Value < minVal) Then
        minVal = Sheets(s).Range("C" & i).Value
    End If
        If (Sheets(s).Range("D" & i).Value > maxVal) Then
        maxVal = Sheets(s).Range("D" & i).Value
    End If
    Running = Running + Sheets(s).Range("E" & i).Value
    i = i + 1
Loop

Sheets(1).Range("A" & s).Value = s
Sheets(1).Range("B" & s).Value = Sheets(s).Name
Sheets(1).Range("C" & s).Value = minVal
Sheets(1).Range("D" & s).Value = maxVal
Sheets(1).Range("E" & s).Value = Running / (i - 3)

End Sub

和测试 sheets 的输出(我将 sheets 命名为 'product names'。您也可以从 sheet 如果有的话。)

Sheet N°    Sheet Name  Minimum Maximum Average
2           ProductA    2       150     35
3           ProductB    1       177     40