Sub 提取1() '方法1 Dim arr(), arr2(), i, s, t t = Timer Application.ScreenUpdating = False arr = Sheet2.Range("a5:u" & Sheet2.[c65536].End(xlUp).Row) '[数据源]C列客户编号 ReDim arr2(1 To UBound(arr), 1 To 5) For i = 1 To UBound(arr) 'If arr(i , 16) <= aa And arr(i , 16) >= Sht2.[m27] Then 'If arr(i , 3) <> "" And arr(i , 3) <> "客户编号" Then If arr(i, 3) <> "" Then 'If Len(arr(i , 3)) = 0 Then s = s + 1 arr2(s, 1) = arr(i, 12) '参考码3/分配号 arr2(s, 2) = arr(i, 1) '公司代码 arr2(s, 3) = arr(i, 6) '客户名称 arr2(s, 4) = arr(i, 1) & arr(i, 12) & arr(i, 6) '客户名称2 arr2(s, 5) = arr(i, 15) '金额 End If Next i With Sheet3 .Columns("A:E").Clear .Range("a1").Resize(s, 5) = arr2 End With Application.ScreenUpdating = True MsgBox Timer - t End Sub [em09] |