|
本帖最后由 win9 于 2014-11-2 22:19 编辑
Sub 查询()
Arr = Sheet1.UsedRange‘(这是指定数据在SHEET1工作表中)如何修改成,当在SHEET3中执行这代码它能在sheet3中取数?
ReDim arr1(1 To UBound(Arr), 1 To 9) '当在sheet4中执行代码,就在sheet4工作表中取数???
Set d = CreateObject("scripting.dictionary")
Set d1 = CreateObject("scripting.dictionary")
For x = 6 To UBound(Arr)
d1(Arr(x, 20)) = d1(Arr(x, 20)) + Arr(x, 18)
If Arr(x, 6) = "退" Or Arr(x, 6) = "销" Or Arr(x, 6) = "退送" Then
d(Arr(x, 20)) = ""
End If
Next
P = d.keys
q = d1.keys
t = d1.items
For i = 0 To d.Count - 1
For x = 5 To UBound(Arr)
For j = 0 To d1.Count - 1
If Arr(x, 20) = P(i) Then
If q(j) = P(i) And t(j) <> 0 Then
k = k + 1
arr1(k, 1) = Arr(x, 20)
arr1(k, 2) = Arr(x, 3)
arr1(k, 3) = Arr(x, 4)
arr1(k, 4) = Arr(x, 5)
arr1(k, 5) = Arr(x, 6)
arr1(k, 6) = Arr(x, 15)
arr1(k, 7) = Arr(x, 9)
arr1(k, 8) = Arr(x, 18)
arr1(k, 9) = Arr(x, 11)
End If
End If
Next
Next
Next
Cells(6, "G").Resize(UBound(arr1), 9) = arr1
End Sub
'Arr = Sheet1.UsedRange '在指定固定取数工作表
改为Arr = ActiveSheet.UsedRange '在当前活动工作表取数
|
|