怎么样将数据合并?想半天没有好的办法,求大神赐教如图1,有两
vb吧
全部回复
仅看楼主
level 11
carl 楼主
怎么样将数据合并?[乖]想半天没有好的办法,求大神赐教
如图1,有两列数据,其中名称有很多重复的。怎么样将同名数据合并数量,成图2这样
2020年06月23日 00点06分 1
level 11
carl 楼主
Private Sub SumNum()
Dim arr(), brr()
Dim d As Dictionary
Set d = New Dictionary
ReDim arr(1 To ListView1.ListItems.Count, 1 To ListView1.ColumnHeaders.Count - 1) '定义数组大小
For i = 1 To ListView1.ListItems.Count
arr(i, 1) = ListView1.ListItems(i).SubItems(1)
arr(i, 2) = ListView1.ListItems(i).SubItems(2)
Next
For i = 1 To UBound(arr)
d(arr(i, 1)) = "" '给key赋值,同时清空key的item值
Next i
a = d.Keys
ReDim brr(1 To d.Count, 1 To UBound(arr, 2)) '去掉了重复的key
For i = 0 To d.Count - 1
brr(i + 1, 1) = a(i)
s1 = 0
For j = 1 To UBound(arr)
If a(i) = arr(j, 1) Then s1 = s1 + arr(j, 2)
Next j
brr(i + 1, 2) = s1
Next i
ListView1.ListItems.Clear
For i = 1 To UBound(brr)
Item = ListView1.ListItems.Count + 1
ListView1.ListItems.Add , , Item
ListView1.ListItems(Item).SubItems(1) = brr(i, 1)
ListView1.ListItems(Item).SubItems(2) = brr(i, 2)
Next
End Sub
搞定,用字典剔重求和。代码分享[吐舌]
2020年06月23日 12点06分 7
1