|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
学习一下
Sub test()
Sheets("结果").Range("a1").CurrentRegion.Cells.Clear
arr1 = Sheets("数据来源").Range("a1").CurrentRegion
ReDim arr2(1 To 1000, 1 To UBound(arr1, 2))
For x = 1 To UBound(arr1)
If Cells(x, 5) = "" Then Exit Sub
If Cells(x, 5) = Cells(x + 1, 5) Then
k = k + 1
For y = 1 To UBound(arr1, 2)
arr2(k, y) = arr1(x, y)
Next y
小计 = 小计 + Cells(x, 8)
合计 = 合计 + Cells(x, 8)
Else
k = k + 1
For Z = 1 To UBound(arr1, 2)
arr2(k, Z) = arr1(x, Z)
Next Z
小计 = 小计 + Cells(x, 8)
合计 = 合计 + Cells(x, 8)
k = k + 1
arr2(k, 1) = "小计"
arr2(k, 8) = 小计
小计 = 0
End If
Next x
k = k + 1
arr2(k, 1) = "合计"
arr2(k, 8) = 合计
Sheets("结果").[a1].Resize(k, UBound(arr1, 2)) = arr2
Sheets("结果").Cells.EntireColumn.AutoFit
End Sub
|
|