我已经使用excel中的VBA对我的两行进行了自动排序。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("C:D")) Is Nothing Then
Range("C3").Sort Key1:=Range("C4"), _
Order1:=xlAscending, _
Key2:=Range("D4"), _
Order2:=xlAscending, _
Header:=xlYes, _
OrderCustom:=2, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
我按升序自动对C和D列进行了排序。
但是当我合并J列中的2个单元格(即J53和J54)时,自动分类对于C列和D列或者我们可以说的整个表格都不起作用。
我想合并J列中的单元格,以及使用VBA进行C列和D列自动排序。
注意:同样我也希望在K列中排序为2个单元格。
答案 0 :(得分:1)
排序不适用于合并的单元格。除非所有合并的单元格大小相同。
我强烈建议您在没有正确错误处理的情况下不要使用On Error Resume Next
。它只是让你对任何错误视而不见但它们仍然会发生,你永远不会知道,因为消息被抑制了。
这也是为什么你没有看到错误消息告诉你这个的原因!删除On Error Resume Next
,您将看到错误消息!
<强>解决方案强>
您可以取消合并单元格以对其进行排序,也可以使用像Kutools: How To Sort Data With Merged Cells In Excel?
请注意,这不是合并单元格为恶的唯一情况。因此,我建议不要使用合并的单元格。
答案 1 :(得分:0)
我会取消单元格,然后排序然后再合并......