以下是引用FookYou在2010-11-15 19:41:00的发言:
Sub 汇总() Dim Arr, k& Range("A6:D65536").ClearContents Arr = Sheet2.Range("A3:D" & Sheet2.[a65536].End(xlUp).Row) [A6].Resize(UBound(Arr), 4) = Arr Arr = Sheet3.Range("A3:D" & Sheet3.[a65536].End(xlUp).Row) k = [a65536].End(xlUp).Row Cells(k + 1, 1).Resize(UBound(Arr), 4) = Arr Range("A6:A" & k + UBound(Arr)).FormulaR1C1 = "=Row()-5" End Sub Sub 查找() Dim Arr, i&, k&, Sdate$, Sname$ Sdate = [I4] Sname = [K4] Range("H6:K65536").ClearContents Arr = Sheet2.Range("B3:D" & Sheet2.[b65536].End(xlUp).Row) For i = 1 To UBound(Arr) If Arr(i, 1) = Sdate And Arr(i, 3) = Sname Then k = k + 1 With [H5] .Offset(k, 0) = k .Offset(k, 1) = Arr(i, 1) .Offset(k, 2) = Arr(i, 2) .Offset(k, 3) = Arr(i, 3) End With End If Next Arr = Sheet3.Range("B3:D" & Sheet3.[b65536].End(xlUp).Row) For i = 1 To UBound(Arr) If Arr(i, 1) = Sdate And Arr(i, 3) = Sname Then k = k + 1 With [H5] .Offset(k, 0) = k .Offset(k, 1) = Arr(i, 1) .Offset(k, 2) = Arr(i, 2) .Offset(k, 3) = Arr(i, 3) End With End If Next End Sub 谢谢FookYou老师的帮助,这个很实用,帮了我一大忙。想控制汇总的行数和查找的行数可以吗? |