一、案例概述:
要统计装箱号为A1、A2和A3中编号的最大值和最小值,如果数据量较少的话可以使用最“笨”的办法进行实现,但是如果数据量几千几万行的话,“笨”办法就没有任何优势了,有可能一个数据加班到深夜才能做出来,本着能省时间绝不多花一分钟的态度,我们使用VBA来实现此功能,具体案例如下:
二、代码部分:
Sub shishi()
Set 表1 = Sheets("Sheet1")
Set 表2 = Sheets("Sheet2")
Set 表3 = Sheets("Sheet3")
i = 2
Do While 表2.Range("A" & i) <> ""
表1.Range("a1").CurrentRegion.AutoFilter
表1.Range("a1").CurrentRegion.AutoFilter Field:=1, Criteria1:=表2.Range("A" & i)
表1.Range("C:C").Copy 表3.Range("A1")
表3.Range("A1").Delete shift:=xlUp
arr = 表3.Range("A1").CurrentRegion
最大值 = Excel.Application.WorksheetFunction.Max(arr)
最小值 = Excel.Application.WorksheetFunction.Min(arr)
'Set 单元格 = 表1.Columns(3).Find(最大值, lookat:=xlWhole, searchorder:=xlRows)
'If Not 单元格 Is Nothing Then
' 表2.Range("C" & i) = 表1.Range(Replace(单元格.Address, "$", "")).Offset(0, -1)
'End If
表2.Cells(i, 2) = 最大值
表2.Cells(i, 3) = 最小值
表3.UsedRange.Clear
i = i + 1
Loop
表1.Range("a1").CurrentRegion.AutoFilter
MsgBox "已经完成"
End Sub
三、结果呈现