Excel-对每个条目具有多行的列表进行排序
如果列表不是每个条目一行,有没有办法在excel中对列表进行排序。条目可以是2+行 未分类:Excel-对每个条目具有多行的列表进行排序,excel,excel-2007,vba,Excel,Excel 2007,Vba,如果列表不是每个条目一行,有没有办法在excel中对列表进行排序。条目可以是2+行 未分类: A B C 1 Entry3 2 Data1 Data2 3 Data3 Data4 4 Entry1 5 Data5 Data6 6 Entry2 7 Data7 Data8 分类: A B
A B C
1 Entry3
2 Data1 Data2
3 Data3 Data4
4 Entry1
5 Data5 Data6
6 Entry2
7 Data7 Data8
分类:
A B C
1 Entry1
2 Data5 Data6
3 Entry2
4 Data7 Data8
5 Entry3
6 Data1 Data2
7 Data3 Data4
你需要一个魔术 对于质押,首先用标题条目的副本填写每个条目下方的区域。基本上,A1:A2应该有Entry1,A3:A4应该有Entry2,A5:A7应该有Entry3 下面的子例程执行上述操作
Sub Pledge()
Dim LRow As Long: LRow = Range("B" & Rows.Count).End(xlUp).Row
Dim CurrentName As String
CurrentName = ""
For Iter = 1 To LRow
If Range("A" & Iter).Value <> "" Then
If Range("A" & Iter).Value <> CurrentName Then
CurrentName = Range("A" & Iter).Value
End If
Else
Range("A" & Iter).Value = CurrentName
End If
Next Iter
End Sub
截图:
但它永远不会结束,对吗?你还没拍手,直到它回来。这就是威望
试着录制一个宏,然后对C列、B列、a列排序,然后查看vba代码。谢谢,这正是我要找的@用户3071825:不客气!谢谢你的接受,祝你好运
Sub Turn()
Range("A:C").Sort Range("A1"), xlAscending
End Sub
Sub Prestige()
Dim LRow As Long: LRow = Range("B" & Rows.Count).End(xlUp).Row
Dim CurrentName As String
CurrentName = ""
For Iter = 1 To LRow
If Range("A" & Iter).Value <> "" Then
If Range("A" & Iter).Value = CurrentName Then
Range("A" & Iter).Value = ""
Else
CurrentName = Range("A" & Iter).Value
End If
End If
Next Iter
End Sub
Sub GrandIllusion()
Pledge
Turn
Prestige
End Sub