【发布时间】:2018-04-27 01:07:58
【问题描述】:
我正在使用 excel-vba,我必须使用合并的单元格按升序对行进行排序,我知道合并的单元格无法排序,这就是为什么,这种解决方法是解决我的问题的唯一方法。我需要取消合并单元格,然后复制第一个单元格的值并将其粘贴到第二个单元格,之后,代码将使用 A 列和 C 列对列表进行排序。然后如果A和C列的值相等,就会变成合并单元格。
我希望有人可以帮助我完成这个项目。
还可以查看此图片以查看列表。
所以,我构建了一个代码来完成这个过程,但它不能。
Sub Sort()
On Error GoTo myErr
Dim myRange As Range
Dim lstrow As Long
Dim i As Integer
Dim cel As Range
Set myRange = Sheet1.Range("A2:C7")
lstrow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
With myRange
.UnMerge
For Each cel In myRange
If IsEmpty(cel) Then
For i = 2 To lstrow
' cel(i).Value = 1
Sheet1.Range(i).Copy Sheet1.Range(cel).PasteSpecial
Sheet1.Range("C3").CurrentRegion.Sort _
key1:=Sheet1.Range("C3"), order1:=xlAscending, _
Header:=xlGuess
Next i
End If
Next cel
End With
myErr:
MsgBox "Unble to sort!"
End Sub
“在这个世界上,减轻他人负担的人是无用的。 ——查尔斯·狄更斯”
问候,
【问题讨论】: