|
- Rem 过程开始 X改为你想要的名字
- Public Sub X()
- Rem 代码从这里开始写
- Rem 设置wb为当前工作簿
- Rem 创建一个字典dic
- Set dic = CreateObject("Scripting.Dictionary")
- Set wb = Application.ThisWorkbook
- Rem 设置sht为指定名称的工作表,引号内填写工作表名称
- Set sht = wb.Worksheets("物料清单")
- Rem 使用With语句,方便对工作表Sht进行多次操作
- With sht
- '.Usedrange.Offset(1).clear
- Rem 获取列A中最大数据行的行号
- eRow = .Cells(.Rows.count, 1).End(xlUp).Row
- Rem 设置范围从A2开始到Z列的eRow行结束
- Set rng = .Range("B2:B" & eRow)
- Rem 将范围Rng的值赋给数组Arr
- arr = rng.Value
- Rem 变量 i 从数组Arr最小索引开始,遍历至其最大索引
- For i = LBound(arr) To UBound(arr)
- Key = CStr(arr(i, 1))
- dic(Key) = 0
- Next i
- End With
-
-
-
- Rem 设置osht为工作表,在引号内填写工作表名称
- Set oSht = wb.Worksheets("总档")
- With oSht
- Rem 获取列A中最大数据行的行号
- eRow = .Cells(.Rows.count, 2).End(xlUp).Row
- Rem 设置范围为A2单元格
- Set rng = .Range("A3:H" & eRow)
- Rem 将范围Rng的值赋给数组Arr
- arr = rng.Value
- Rem 变量 i 从数组Arr最小索引开始,遍历至其最大索引
- For i = LBound(arr) To UBound(arr)
- Key = CStr(arr(i, 2))
- dic(Key) = dic(Key) + arr(i, 8)
- Next i
- End With
- Rem 使用With语句,方便对工作表Sht进行多次操作
- With sht
- '.Usedrange.Offset(1).clear
- Rem 获取列A中最大数据行的行号
- eRow = .Cells(.Rows.count, 2).End(xlUp).Row
- Rem 设置范围从A2开始到Z列的eRow行结束
- Set rng = .Range("A2:A" & eRow)
- Rem 如果字典有元素,则将字典的项目转置后输出到指定范围Rng
- Rem 如果字典有元素,则将字典的项目转置后输出到指定范围Rng
- If dic.count > 0 Then rng.Value = WorksheetFunction.Transpose(dic.items)
- End With
-
- End Sub
- Rem 过程结束
复制代码 |
评分
-
1
查看全部评分
-
|