我不确定宏是否是解决此问题的最佳解决方案,但我希望对行进行分组并输入if语句以使其更容易一些。
我希望看到标记为A的所有内容都被分组到上面的B中。后表中的加号表示在Excel中添加的分组加。
我尝试将这些格式化为表格,但遇到了一些问题,我希望我分解文本的方式显示了A的主要思想卷入上面的B。
在表格之前:
B 88888 876
A 8765
A 8765
A 8765
B
B 88888 8765
A 5768
A 8765
B 88888 578
A 578
B
B 88888 7658
A 5768
A 6578
A 8765
A 5768
B 88888 5768
A 5678
表后:
+ B 88888 876
B
+ B 88888 8765
+ B 88888 578
B
+ B 88888 7658
+ B 88888 5768
答案 0 :(得分:0)
实际数据中是否每个组都用空行分隔?
我认为您已经更改了分组设置以将扩展放在首位?否则对于初学者: [数据] - >在分组功能区中,右下角有一个小框。单击[设置]。取消选中“详细信息下方的摘要行”框。
答案 1 :(得分:0)
这将使用" A ..."
对所有行进行分组Option Explicit
Public Sub customGroups()
Const FR As Long = 2 'first row (exclude header)
Dim ws As Worksheet, ur As Range, grp As Range
Set ws = ActiveSheet
With ws
With .UsedRange
.Rows.ClearOutline
Set ur = .Offset(FR - 1, 0).Resize(.Rows.Count - (FR - 1), .Columns.Count)
.AutoFilter Field:=1, Criteria1:="=A*", Operator:=xlFilterValues
For Each grp In .SpecialCells(xlCellTypeVisible).Areas
If grp.Row > FR - 1 Then grp.Rows.Group
Next
End With
.AutoFilterMode = False
With .Outline
.ShowLevels RowLevels:=1
.SummaryRow = xlAbove
End With
End With
End Sub