|
本帖最后由 huaxia5qiannian 于 2018-7-23 10:56 编辑
Sub gj23w98()
Dim d, sht As Worksheet, arr, i As Long, s As String '定义变量
Set d = CreateObject("scripting.dictionary") '创建字典
For Each sht In Sheets '循环
If sht.Name <> ActiveSheet.Name And InStr(sht.Name, "-") Then '判断工作表是否为当前活动工作表且遍历包含带有"-"的工作表
With sht
arr = .[a1].CurrentRegion '获取带有"-"工作表的已用区域
For i = 2 To UBound(arr) '循环
s = arr(i, 1) & arr(i, 7) '合并带有"-"工作表的A列和G列的值
d(s) = arr(i, 9) '向字典存入数据
Next
End With
End If
Next
brr = [a1].CurrentRegion '获取活动工作表的已用区域
For i = 4 To UBound(brr)
For j = 16 To UBound(brr, 2)
s = brr(3, j) & brr(i, 2) '合并活动工作表的B4和P3的值
If d.exists(s) Then brr(i, j) = d(s) '判断带有"-"工作表合并后的值是否被包含在活动工作表的B4和P3的值内
Next
Next
[a1].CurrentRegion = brr
End Sub
说明:目前我的代码已经实现了“生产7月”工作表每天的入库量与 以日期命名的工作表对应日期和对应工单单号的引用,但是加入以日期命名的工单的工单单号有多比是重复的,我想达到将这重复的多笔工单对应的入库数量累加起来,再引用到“生产7月”工作表里的相应日期列,请教大神:代码该如何优化?
|
|