|
空文本,加了两个val处理了一下,你自己可以考虑其它的方法。
- Sub ykcbf() '//2024.8.12
- With Sheets("数量估算表")
- r = .Cells(Rows.Count, 4).End(xlUp).Row
- c = .Cells(6, "XFD").End(1).Column
- arr = .[c1].Resize(r, c - 1)
- End With
- ReDim brr(1 To UBound(arr), 1 To c)
- On Error Resume Next
- m = 1
- For j = 1 To UBound(arr, 2)
- brr(m, j) = arr(7, j)
- Next
- For i = 8 To UBound(arr)
- If arr(i, 2) = arr(i - 1, 4) Then
- For j = 7 To UBound(arr, 2)
- brr(m, j) = brr(m, j) + Val(arr(i, j))
- Next
- brr(m, 4) = arr(i, 4)
- Else
- m = m + 1
- brr(m, 1) = arr(i, 1)
- For j = 2 To UBound(arr, 2)
- brr(m, j) = Val(arr(i, j))
- Next
- End If
- Next
- With Sheets("想要的结果-示例3个")
- .[a7:z10000] = ""
- ' 这里假设我们只需要brr数组的前20列
- .[c7].Resize(m, 20) = brr
- End With
- MsgBox "OK!"
- End Sub
复制代码 |
|