- Sub test()
- Dim arr, arrResult()
- Dim lRecord As Long
- Dim i As Long
-
- With Sheet2
- arr = .Range("a1").CurrentRegion
- End With
-
- ReDim arrResult(1 To UBound(arr) + 1, 1 To 2)
- arrResult(1, 1) = "site"
- arrResult(1, 2) = "角度差"
- lRecord = 1
- For i = LBound(arr) + 1 To UBound(arr) - 1
- Debug.Print Mid(arr(i, 1), 3, 4), Mid(arr(i + 1, 1), 3, 4), i
- Do While (Mid(arr(i, 1), 3, 4) = Mid(arr(i + 1, 1), 3, 4)) And i < UBound(arr)
- Debug.Print Mid(arr(i, 1), 3, 4), Mid(arr(i + 1, 1), 3, 4), i
- If IsNumeric(arr(i, 3)) And IsNumeric(arr(i + 1, 3)) Then
- If Abs(arr(i, 3) - arr(i + 1, 3)) <= 20 Then
- lRecord = lRecord + 1
- arrResult(lRecord, 1) = arr(i, 1) & "-" & arr(i + 1, 1)
- arrResult(lRecord, 2) = Abs(arr(i, 3) - arr(i + 1, 3))
- End If
- End If
- i = i + 1
- If i = 18 Then Exit For
- Loop
- 'i = i - 1
- Next
- With Sheet3
- .Range("f1").Resize(lRecord, 2).Value = arrResult
- End With
- MsgBox "整理完成", vbInformation + vbOKOnly
- End Sub
复制代码 |