早教吧 育儿知识 作业答案 考试题库 百科 知识分享

A列编号B列名称C列规格对应行相同合并在对应列D列数量对应相加用VBA怎样编写

题目详情
A列编号B列名称C列规格对应行相同合并在对应列D列数量对应相加用VBA怎样编写
▼优质解答
答案和解析
这个有些复杂,没分数吗?请增加悬赏分!
Private Sub CommandButton1_Click()
   If MsgBox("警告!" & vbCrLf & _
           "过程不可逆转,请做好备份!"& vbCrLf & vbCrLf & _
           "开始执行程序吗?",vbInformation + vbOKCancel, _
           "警告!")<> vbOK Then Exit Sub
   Dim a, d, s, r, col, i, j, tmp
   Dim c As Range, rg As Range
   Set d = CreateObject("Scripting.Dictionary")
   Set c = Cells(1, 1).Resize(1, 4) '标题行位置
    r= Cells(65536, c.Column).End(xlUp).Row
   If r <= c.Row Then
       MsgBox "无数据!": Exit Sub
   End If
    a= c.Resize(r - c.Row + 1)
   For i = LBound(a) + 1 To UBound(a)
       tmp = Join(Array(a(i, 1), a(i, 2), a(i, 3)), "|")
       If d.Exists(tmp) Then
           d(tmp) = d(tmp) + a(i, 4)
       Else
           d(tmp) = a(i, 4)
       End If
   Next
    s= d.keys
   ReDim a(LBound(s) To UBound(s), 0 To 3)
   For i = LBound(s) To UBound(s)
       tmp = Split(s(i), "|")
       For j = LBound(tmp) To UBound(tmp)
           a(i, j) = tmp(j)
       Next
       a(i, 3) = d(s(i))
   Next
   With c.Offset(1)
       .Resize(r - c.Row).ClearContents
       .Resize(d.Count) = a
   End With
End Sub
看了A列编号B列名称C列规格对应行...的网友还看了以下:

这个作业怎么做?下列对加粗的词语解释下列对加粗的词语解释,不正确的一组是[]A.与佳期兮夕张(约会  2020-04-06 …

下列对加点词解释有误的一项是()A.且举世而誉之而不加劝劝:勉励B.纵一苇之所如,凌万顷之茫然如:  2020-04-06 …

下列对加速度的定义式理解不正确的A加速度a与速度变化量成正比B加速度a的方向与速度变化量方向相同C  2020-05-17 …

3、下列对加点字解释没有错误的一项是()、下列对加点字解释没有错误的一项是()§A、借旁近与之:给  2020-06-05 …

下列对加粗字词解释无误的一项是[]A.当乘间图之(图谋,谋取)虽死不恨(怨恨)B.此吾所以哭也(表  2020-06-23 …

下列对加强国家宏观调控的说法错误的是:A.加强国家的宏观调控,是为了弥补市场调节的不足B.加强国家  2020-06-25 …

下列对加点词解释有误的一项是()A.国不堪贰,君将若之何堪:承受B.奉之弥繁,侵之愈急弥:越、更加  2020-06-30 …

一、基础知识。1.下列对加粗字的注音全对的一项是()。A.他的叶子的浓荫,荫(yin)庇树下的芳草  2020-07-03 …

为防止碘缺乏症,我国规定在居民食用盐中加入碘酸钾(KIO3)制成加碘盐.下列对加碘盐所属类别说法中  2020-07-12 …

下列对加点字的解释有误的一项是()A.贼易之,对饮酒,醉易:轻视、轻慢B.指通豫南,达于汉下列对加点  2020-12-03 …