VBA 代码求助 要求,当同一天(C列数据)同一个品番(A列数据)有多次入库时,合并入库数量(D列数据)

CODE入库时间入库数量C0000120120803500C0000120120803300C0000120120805200C00004201208101000C000... CODE 入库时间 入库数量
C00001 20120803 500
C00001 20120803 300
C00001 20120805 200
C00004 20120810 1000
C00004 20120810 1200

要求运行宏后的效果如下:
C00001 20120803 800
C00001 20120805 200
C00004 20120810 2200

谢谢各位~
展开
 我来答
太极健1969
2012-09-03 · TA获得超过9029个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3529万
展开全部
这种问题,用字典最为合适了,B列是什么?
C列的日期是什么格式?是日期格式的数据吗?
代码如下:
Sub test()
Dim arr, brr(), x&, i&
Dim dic1 As Object
Set dic1 = CreateObject("scripting.dictionary")
With Sheets("sheet1")
arr = .Range("A1:D" & .Range("A65536").End(xlUp).Row)
End With
For x = 2 To UBound(arr)
str1 = arr(x, 1) & "|" & arr(x, 3)
If Not dic1.exists(str1) Then
i = i + 1
dic1(str1) = i
ReDim Preserve brr(1 To 4, 0 To i)
For y = 1 To 3
brr(y, i) = arr(x, y)
Next y
End If
brr(4, dic1(str1)) = brr(4, dic1(str1)) + arr(x, 4)
Next x
For y = 1 To 4
brr(y, 0) = arr(1, y)
Next y
With Sheets("sheet2")
.Range("A1").Resize(UBound(brr, 2) + 1, UBound(brr)) = Application.Transpose(brr)
End With
End Sub
追问
B列数据是品名,C列日期的格式,就是我上面提问表示的。应该是数字格式吧?反正没有横杠或者是斜杠。

谢谢你的答案啊,我看看啊。不懂VBA,我需要慢慢看呢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式