Как мне отсортировать условно по отдельным столбцам? - PullRequest
1 голос
/ 20 мая 2019

У меня есть таблица 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 (поскольку первая строка с заполненным столбцом 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...