|
这个代码,我想把数据公式这一栏里的乘号前的整数提取出来,然后同一个产品名称对应的乘数相加,显示在最后那一列的数据公式里。但是这里第一个是2 第二个是5 ,最后应该是7,它变成了25,变成了字符相连了。求助
Sub bb()
Dim arr
b = Worksheets("应收款").Cells(Rows.Count, 2).End(xlUp).Row
With Worksheets("日表")
Set d = CreateObject("scripting.dictionary")
arr = .Range("b1:g" & .Cells(.Rows.Count, "g").End(xlUp).Row)
For i = 1 To UBound(arr)
d(arr(i, 1)) = d(arr(i, 1)) + arr(i, 6) '关键字的条目等于上一次的条目加这一次的值(累加)
Next
.[k1].Resize(d.Count) = Application.Transpose(d.keys) '将字典的关键字填入K列
.[l1].Resize(d.Count) = Application.Transpose(d.items) '将字典的条目填入L列
Set t = CreateObject("scripting.dictionary")
brr = .Range("b1:g" & .Cells(.Rows.Count, "g").End(xlUp).Row)
For v = 1 To UBound(brr)
brr1 = VBA.Split(brr(v, 3), "*")
d = brr1(0)
t(brr(v, 2)) = t(brr(v, 2)) + brr1(0)
h = t(brr(v, 2))
Next
a = .Cells(Rows.Count, "k").End(xlUp).Row 'a等于K列的内容行数
.Cells(2, "j").Resize(a - 1) = CDate(Format$(Now, "yyyy-mm-dd")) '设置J列的日期便于复制到应收款中
.Cells(1, "j") = "编号" & Format(Now, "ymdhms") '设置J1单元格的编号便于清除应收款中的重复
.[m1].Resize(t.Count) = Application.Transpose(t.keys)
.[n1].Resize(t.Count) = Application.Transpose(t.items)
End With
End Sub
|
|