如何在列中的某个点停止排序?

时间:2019-05-22 19:19:55

标签: excel vba

我有一个电子表格,该电子表格会自动按D列中的日期进行自我排序。

If Not Intersect(Target, Range("D:D")) Is Nothing Then
    MsgBox ("sorting col D")
'    Application.EnableEvents = False

    Range("D1").Sort Key1:=Range("D2"), _
    Order1:=xlAscending, Header:=xlYes, _
    OrderCustom:=1, MatchCase:=False, _
    Orientation:=xlTopToBottom

'    Application.EnableEvents = True

End If

此代码可以正常工作。

我想做的是将排序限制在前N行。不幸的是,N不是固定数字。基本上,在K列中会有一些行的信息(所有带有K列的行都将在工作表的底部)。因此,我只希望对K列中没有数据的行执行排序。

img1

因此在这张照片中,假设所有绿色行的D列中也有日期,如果我在D列中添加了一个带有日期的新行,它将仅对行2-10进行排序,剩下第11行+一个人。我不希望D列采用绿色行,因为它们按其他方式排序。抱歉,照片模糊不清!

0 个答案:

没有答案