如何有条件地按单独的列排序?

时间:2019-05-20 19:54:58

标签: excel vba

我有一个可以跟踪属性的Excel电子表格。我有一栏记录了预计的截止日期(D区)。当我在D列中输入日期时,我有一个宏,可以按估计的结束日期对该行进行排序,并且效果很好。

我想做的是有一列实际截止日期(列K)。当我在K列中输入日期时,我想不理会D列的排序,只需剪切刚输入截止日期的行,然后将其粘贴到仅具有估计截止日期的所有行下方(这样,所有实际关闭的属性都位于电子表格的底部,最近的关闭是最高的。下面是当我在D列中输入日期时自动按日期排序的宏。

On Error Resume Next

If Not Intersect(Target, Range("D:D")) Is Nothing Then
    Range("D1").Sort Key1:=Range("D2"), _
    Order1:=xlAscending, Header:=xlYes, _
    OrderCustom:=1, MatchCase:=False, _
    Orientation:=xlTopToBottom
End If

End Sub

我在另一个程序中使用了WorksheetFunction.CountA()来查找在特定列中具有数据的第一行,但是在这里我基本上希望第二行在K列中具有数据(因为第一行具有col K)如果需要的话,我需要剪切并粘贴。)

我正在将结构化为剪切和粘贴,在这种情况下,唯一的问题是找到要剪切的行以及将其插入的位置,或者基本上是两种,但每次只能发生一次


Sorted by estimated closing date


Sorted by actual closing date (I had to delete col D to demonstrate but ideally it would still be there)


Second closed property sorted appropriately

0 个答案:

没有答案