В моей электронной таблице 2 столбца: Серийный номер и Дата. Я уже отсортировал столбец «Дата» в порядке возрастания, который дает результат, который выглядит следующим образом:
Serial Number Date
22222 02/09/2020
11111 02/10/2020
33333 02/11/2020
11111 02/12/2020
22222 02/13/2020
44444 02/14/2020
Что я хотел бы сделать здесь с помощью VBA 2016, так это сгруппировать все одинаковые серийные номера вместе, имея самая короткая дата каждого серийного номера в качестве первого, например, так:
Serial Number Date
22222 02/09/2020
22222 02/13/2020
11111 02/10/2020
11111 02/12/2020
33333 02/11/2020
44444 02/14/2020
Итак, я хочу закончить сначала таблицей самых ранних дат, но если есть несколько одинаковых серийных номеров, затем приведите их в список и сгруппируйте их по серийному номеру, но сохраняя для них порядок возрастания даты и другие серийные номера.
Я надеялся на что-то лучшее, чем a для l oop, но моя идея псевдокода была что-то вроде:
For Each cel in Range(Serial Number column)
If vLookup cel in Range(Serial Number column) = True Then
Get Row Number of the Match, Cut entire row, and Insert it below cels row (ie. cel.offset(1,0))
Else
Do Nothing
End If
Next cel
Это будет повторять процесс для вновь вставленного серийного номера в поисках другого соответствия, в случае, если еще один ниже по списку, он поймает его , Если кто-то может помочь мне запрограммировать это, или если у них есть идея получше, я весь в ушах.
Спасибо! Рассмотрим позже сегодня вечером.