|
用了2种不同的方法
- Sub qs1() '利用动态数组
- Dim arr, arrr(), i As Integer, y As Integer
- With Sheets("10")
- r1 = .Range("b65536").End(xlUp).Row
- arr = .Range("a2:h" & r1)
- End With
- With Sheets("sheet1")
- For i = 1 To UBound(arr)
- If Len(arr(i, 1)) > 5 And arr(i, 6) > 0 Then
- K = K + 1
- ReDim Preserve arrr(1 To 6, 1 To K)
- arrr(1, K) = arr(i, 2)
- arrr(2, K) = arr(i, 1)
- arrr(4, K) = arr(i, 6)
- arrr(6, K) = arr(i, 2)
- End If
- Next
- .Range("A2:F65536").ClearContents
- .[a2].Resize(K, 6) = Application.Transpose(arrr)
- End With
- End Sub
- Sub qs2() '利用固定数组
- Dim arr, arrr(), i As Integer, y As Integer
- With Sheets("10")
- r1 = .Range("b65536").End(xlUp).Row
- arr = .Range("a2:h" & r1)
- End With
- ReDim arrr(1 To 200, 1 To 6)
- With Sheets("sheet1")
- For i = 1 To UBound(arr)
- If Len(arr(i, 1)) > 5 And arr(i, 6) > 0 Then
- y = y + 1
- arrr(y, 1) = arr(i, 2)
- arrr(y, 2) = arr(i, 1)
- arrr(y, 4) = arr(i, 6)
- arrr(y, 6) = arr(i, 2)
- End If
- Next
- .Range("A2:F65536").ClearContents
- .[a2:f201] = arrr
- End With
- End Sub
复制代码
|
评分
-
查看全部评分
|