通常我会避免使用合并的单元格,但我们从管理软件中获得了类似这样的表格:
我发现最简单的过程是取消合并、排序,然后再次合并,但使用 header
到表和sheet number of sheets
它变得乏味。融合的单元格是已知的(I+J,M+N),表格从第 11 行开始,因此设置了页面。
我调整了一个执行 unmerge 然后合并部分但需要对其进行排序的代码,并且有比这更干净的代码
Sub Merge_fused()
'~~> unmerged range
Dim MyRange As Range
Set MyRange = Range("H11:X56")
'~~> merged columns
Dim IRange As Range
Set IRange = Range("I11:J56")
Dim MRange As Range
Set MRange = Range("M11:N56")
Dim VRange As Range
Set VRange = Range("V11:W56")
On Error Resume Next
With MyRange
.UnMerge
End With
'~~> i need to sort MyRange here
With IRange
.Merge True
End With
With MRange
.Merge True
End With
With VRange
.Merge True
End With
End Sub
最佳答案
我知道这有点老,但我只是遇到了这个并让代码为我工作。
我在上面写着 '~~> i need to sort here the MyRange here
的地方添加了这段代码
projp.Range("your range").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo
非常适合我
关于excel - 使用合并的单元格对行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21768088/