- Sub ping()
- Dim arr1, arr2(1 To 10, 1 To 6), x%, St, k%, y%, Lrow
- Lrow = Cells(Rows.Count, 1).End(xlUp).Row
- arr1 = Range("a1:f" & Lrow)
- For x = 2 To UBound(arr1, 1)
- St = arr1(x, 2)
- For k = 1 To St
- y = y + 1
- arr2(y, 1) = arr1(x, 1)
- arr2(y, 2) = 1
- If k = 1 Then
- arr2(y, 3) = VBA.Left(arr1(x, 3), 8)
- Else
- arr2(y, 3) = VBA.Left(arr1(x, 3), 6) & VBA.Format(--(VBA.Mid(arr1(x, 3), 7, 2)) + k - 1, "00")
- End If
- arr2(y, 4) = arr1(x, 4)
- arr2(y, 5) = arr1(x, 5)
- arr2(y, 6) = arr1(x, 6)
- Next k
- Next x
- Range("i1").Resize(1, 6) = Array("产品规格", "数量", "序列号", "生产批号", "生产日期", "有效期")
- Range("i2").Resize(UBound(arr2, 1), 6) = arr2
- End Sub
复制代码 |