如何減少 excel 中的手動作業以在匯總表中獲取作業簿連續作業表中特定資料集的 MIN、MAX、AVERAGE 的重復使用。每個作業表中的資料集會有所不同,但是必須對每個 Excel 選項卡的列中的每個資料集執行這三個操作。該摘要表示工廠生產的橡膠批次隨時間的回圈時間最小值、最大值和平均值。大約有 50 種不同的橡膠制品,因此作業簿中有 50 個作業表。帶控制圖的周期時間 - 查詢。
我在鏈接中提供了示例資料。
uj5u.com熱心網友回復:
這是一個腳本,它創建一個新作業表作為作業表 1,將其稱為摘要,放入列標題并遍歷所有作業表。
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
以及測驗表的輸出(我用“產品名稱”命名了這些表。如果有的話,您也可以從表中的一個單元格中復制它。)
Sheet N° Sheet Name Minimum Maximum Average
2 ProductA 2 150 35
3 ProductB 1 177 40
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438585.html
