刚才发错了,重发:- Sub sellby()
- Dim arr, brr, crr(1 To 6000, 1 To 7)
- Dim i%, j%, x%, y%, t
- Dim sh As Worksheet
- t = Timer
- Set sh = ThisWorkbook.Sheets("数据源")
- arr = sh.Range("g1").CurrentRegion
- x = 0: y = 0
- For i = 7 To UBound(arr, 2)
- x = x + 1
- crr(x, 1) = arr(3, i)
- crr(x, 2) = arr(4, i)
- crr(x, 3) = arr(5, i)
- crr(x, 4) = arr(6, i)
- For j = x + 9 To UBound(arr)
- If arr(j, i) > 0 Then
- crr(x + y, 5) = arr(j, 2)
- crr(x + y, 6) = arr(j, 5)
- crr(x + y, 7) = arr(j, i)
- y = y + 1
- ElseIf arr(j, i) = 0 And j > x Then
- Exit For
- End If
- Next j
- x = x + y - 1: y = 0
- Next i
-
- With Sheets("练习结果")
- .Cells.ClearContents
- .Range("a2").Resize(x, 7) = crr
- End With
- MsgBox Timer - t
- End Sub
复制代码 |