|
发表于 2015-8-22 05:45
|
显示全部楼层
本楼为最佳答案
Sub Macro1()
Dim arr, brr, i&, j&, k%, s&
arr = Sheet1.Range("a1").CurrentRegion
ReDim brr(1 To 60000, 1 To 4)
For i = 3 To UBound(arr)
For j = 3 To UBound(arr, 2)
If arr(i, j) > 0 Then
n = arr(2, j)
x = arr(i, j) \ n: y = arr(i, j) Mod n
For k = 0 To n - 1
s = s + 1
brr(s, 1) = arr(i, 1)
brr(s, 2) = arr(i, 2)
brr(s, 3) = DateAdd("d", k, arr(1, j))
brr(s, 4) = IIf(k = 0, x + y, x)
Next
End If
Next
Next
Sheet2.Activate
ActiveSheet.UsedRange.ClearContents
[a1:d1] = Array("客户", "零件号", "日期", "数量")
Range("a2").Resize(s, 4) = brr
End Sub
|
|