|
|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
代码如下。。。
Sub test()
Dim wb As Workbook, sht As Worksheet
Set wb = ThisWorkbook
' Set sht = wb.Sheets("sheet1")
For Each sht In wb.Sheets
x = 0
r = sht.Cells(Rows.Count, 1).End(3).Row
arr = sht.[a1].Resize(r, 9)
s = sht.[n1]
s1 = --Left(s, 1): s2 = --Right(s, 1)
ReDim brr(1 To UBound(arr), 1)
brr(1, 0) = 1
n = 1
For i = 2 To UBound(arr) - 1
For j = 3 To 9
If arr(i + 1, j) <> Empty Then
x = Application.Max(x, i + 1)
Exit For
End If
Next
If arr(i, 3 + s1) <> Empty And arr(i + 1, 3 + s2) <> Empty Then
n = n + 1
brr(n, 0) = arr(i, 1)
brr(n, 1) = brr(n, 0) - brr(n - 1, 0) - 1
End If
Next
n = n + 1
If x + 1 > UBound(arr) Then
brr(n, 0) = arr(x, 1) + 1
Else
brr(n, 0) = arr(x + 1, 1)
End If
brr(n, 1) = brr(n, 0) - brr(n - 1, 0) - 1
sht.[k1].CurrentRegion.ClearContents
sht.[k1:l1] = [{"序列","结果"}]
sht.[k2].Resize(n, 2) = brr
Next
Beep
End Sub
|
|