|
至于 吨 的换算,戴增加一个判断即可
Sub test()
Set d = CreateObject("scripting.dictionary")
rr = Array("101", "102", "531", "532")
With Sheet1
.Range("k3:p5000") = Empty
ar = .[a1].CurrentRegion
For s = 0 To UBound(rr)
k = 0: d.RemoveAll
ReDim br(1 To UBound(ar), 1 To 6)
For i = 2 To UBound(ar)
If Trim(ar(i, 2)) = Trim(rr(s)) Then
t = d(Trim(ar(i, 5)))
If t = "" Then
k = k + 1
d(Trim(ar(i, 5))) = k
t = k
br(k, 1) = Date
br(k, 2) = ar(i, 1)
br(k, 3) = ar(i, 4)
br(k, 4) = ar(i, 6)
br(k, 5) = ar(i, 5)
End If
If Trim(ar(i, 9)) = "TO" Then
br(t, 6) = br(t, 6) + (ar(i, 8) * 1000)
Else
br(t, 6) = br(t, 6) + ar(i, 8)
End If
End If
Next i
If s = 0 Then
If k <> 0 Then
.Cells(3, "k").Resize(k, UBound(br, 2)) = br
End If
ElseIf s > 0 Then
If k <> "" Then
ws = .Cells(Rows.Count, "k").End(xlUp).Row + 1
.Range("k2:p2").Copy .Cells(ws, "k")
.Cells(ws + 1, "k").Resize(k, UBound(br, 2)) = br
End If
End If
Next s
End With
End Sub
|
|