|
请大佬帮我看一下我这个宏为什么运行不了,显示错误,
我需要将数据库的1列数据,查找引用到报表对应位置,报表里的的数据是不确定的,
- Sub 指定日期库存()
- '根据库存产品编号,复制包装数到报表
- Dim drr, err, s1, I6, j, a()
- s1 = Array("产品编码", "包装数")
- ReDim a(1 To 2, 1 To UBound(s1) + 1)
- With Sheets("数据库")
- drr = .UsedRange '数据库数据存入数组drr
- For I6 = 0 To UBound(s1) '循环数组s1
- a(1, I6 + 1) = .UsedRange.Find(s1(I6)).Column '数据库标题列号放入数组a第1行
- Next I6
- End With
- With Sheets("报表")
- r8 = .[a65536].End(xlUp).Row '最后一行的行号
- err = .Range("a2:f" & r8) '报表数据存入数组err
- For I6 = 0 To UBound(s1) '循环数组s1
- a(2, I6 + 1) = Sheet12.UsedRange.Find(s1(I6)).Column '报表标题列号放入数组a第2行
- Next I6
- End With
-
- For I6 = 2 To UBound(err) '循环报表
- For j = 2 To UBound(drr) '循环数据库
- For k = 1 To UBound(s1) '循环标题
- If err(I6, a(2, 1)) = drr(j, a(1, 1)) Then '当报表和数据库标题对应第1列的行内容相同时执行
- err(I6, a(2, k + 1)) = drr(j, a(1, k + 1)) '将数据库对应内容装入数组err
- End If
- Next k
- Next j
- Next I6
- Sheet12.[a2].Resize(UBound(err), UBound(err, 2)) = err '将数组err数据复制到对应单元格里
-
- MsgBox "完成"
- End Sub
复制代码
|
|