|
30学分
本帖最后由 yewei113 于 2013-12-17 21:31 编辑
- Sub 汇总()
- Dim ar, re
- Dim i As Integer, str As String, Cnt As Integer, R As Integer
- Dim d As Object
- Set d = CreateObject("Scripting.Dictionary")
- ar = Sheets(1).Range("A1").CurrentRegion
- ReDim re(1 To UBound(ar), 1 To UBound(ar, 2))
- For i = 2 To UBound(ar)
- str = ""
- For j = 1 To UBound(ar, 2)
- If j <> 5 Then str = str & ar(i, j)
- Next j
- If Not d.exists(str) Then
- Cnt = Cnt + 1
- d(str) = Cnt
- For j = 1 To UBound(ar, 2)
- If j <> 5 Then re(Cnt, j) = ar(i, j)
- Next j
- End If
- R = d(str)
- re(R, 5) = re(R, 5) + ar(i, 5)
- Next i
- Sheets(2).Range("A2:G65536").ClearContents
- Sheets(2).[a2].Resize(UBound(re), UBound(re, 2)) = re
- End Sub
复制代码 这个汇总出来的是,如果发-票-号一样,其他不一样也会单独汇总,我想要的是,如果票号一样,其他不一样的,就随便取其中一行数据就行,不要单独再汇总一条了
本帖最后由 CheryBTL 于 2013-12-17 15:28 编辑
那更简单了,看看是不是这个效果?
11111.rar
(29.32 KB, 下载次数: 22)
|
|