Excel自动建组

时间:2022-10-16 11:42:38

已用于测试用例自动创建组

使用要求:
A列的格式如:X.X.X.X.X
1
1.1
1.1.1
1.1.1.1
1.1.1.1.1
1.1.1.2
1.1.2
1.2
2

会自动将1.1.1.1.1-1.1.1.1.X组合,1.1.1.1-1.1.1.X组合,1.1.1-1.1.X组合……

VBA代码如下:
其中把arr=[a1:a425]中的425替换成需处理的范围

Sub aa()
Dim brr(5)
arr = [a1:a425]

ji = 0
brr(0) = 2
Range(Cells(brr(ji) + 1, 1), Cells(UBound(arr, 1), 1)).ClearOutline
For i = brr(0) To UBound(arr, 1)
    sfji = Split(arr(i, 1), ".")
    If UBound(sfji) > ji Then
        ji = UBound(sfji)
        jiw = 0
        brr(ji) = i
    ElseIf UBound(sfji) < 0 Then
        jiw = 1
    ElseIf UBound(sfji) < ji Or jiw = 1 Then
        If jiw = 1 Then
            Range(Cells(brr(ji) + 1, 1), Cells(i - 1, 1)).Rows.Group
            brr(ji) = i
            jiw = 0
        End If
        Do While UBound(sfji) < ji
            ji = ji - 1
            Range(Cells(brr(ji) + 1, 1), Cells(i - 1, 1)).Rows.Group
            brr(ji) = i
        Loop
    End If
Next
Do While ji > 0
    ji = ji - 1
    Range(Cells(brr(ji) + 1, 1), Cells(i - 1, 1)).Rows.Group
Loop

End Sub