'学习一下,请问大神怎么才能合并次数,,,
Option Explicit
Sub test()
Dim i, j, rng As Range, m, n, arr, t, s As String
t = Timer
arr = [a1].CurrentRegion
ReDim brr(1 To UBound(arr, 1) * UBound(arr, 2) / 42, 1 To 1) As String
For i = 2 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
If InStr(arr(i, j), "昆山") > 0 Then
m = m + 1
s = s & "," & Cells(i, j).Address(0, 0)
If m Mod 42 = 0 Then
n = n + 1: brr(n, 1) = Mid(s, 2)
s = vbNullString
End If
End If
Next j, i
If m = 0 Then Exit Sub
If Len(s) Then n = n + 1: brr(n, 1) = Mid(s, 2)
Set rng = Range(brr(1, 1))
For i = 2 To n
Set rng = Union(rng, Range(brr(i, 1)))
Next
rng.Select
Debug.Print m, Format(Timer - t, "0.00s")
End Sub |