Страницы: 1
RSS
Как удалить дубли по 1 критерию?
 
Есть 2 столбца. В первом - текст (включая дубли), во втором - числа.  
Нужно удалить строки с дублями в 1 столбце  
Критерий - второй столбец. Где число минимальное, та строка и должна остаться.
 
Без примера - это конечно не дело, но может сработает...  
Строки не удаляются - отбираются нужные данные в новую книгу.  
Зато буквально всего одну строку изменил в существующем коде http://www.planetaexcel.ru/forum.php?thread_id=26105
 
{quote}{login=cdrom}{date=20.08.2011 04:24}{thema=Как удалить дубли по 1 критерию?}{post}Критерий - второй столбец. Где число минимальное, та строка и должна остаться.{/post}{/quote}А если равны? :-)
 
А я по этому случаю не парюсь - какая разница? :)  
Но если конечно нужно именно удалить строки - тогда это вопрос...  
Но мне почему-то кажется, что не всегда, когда пишут "удалить строки", эти строки нужно удалять.
 
Я почему спросил - не исключено, что кроме двух столбцов есть и другие, где данные разнятся. И вот этот критерий во втором столбце может быть очень важен - КАКУЮ именно строку удалять :-)
 
Спасибо!    
P.S. Если значения во втором столбце равны, то меня устраивает, что останетс только одно из них. Именно такой результат мне нужен
 
Т.е. ответ получен, и на самом деле строки удалять не нужно было?
 
{quote}{login=cdrom}{date=21.08.2011 04:00}{thema=Re: }{post}Спасибо!    
P.S. Если значения во втором столбце равны, то меня устраивает, что останетс только одно из них. Именно такой результат мне нужен{/post}{/quote}В следующий раз без примера не заходите.
 
Протестировал макрос - оказалось если есть столбцы между анализируемыми, они пропадают. И макрос создает новый лист.  
 
Хотелось бы следующее (см.пример):    
Удалять полностью строку если есть дубли в столбце "Название". Критерий - столбец "цена". Где число минимальное, та строка и должна остаться.  
и если не сложно, то сначала  
Удалять полностью строку если в столбце "0-ОК,1-Delete" стоит ноль.  
Если можно - не создавать новый лист.  
Спасибо
 
Если сначала "Удалять полностью строку если в столбце "0-ОК,1-Delete" стоит ноль" - то потом больше ничего на примере и не нужно (код из http://www.programmersforum.ru/showpost.php?p=770221&postcount=6):  
 
Sub Main()  
   Dim x As Range: Application.ScreenUpdating = False  
   Set x = [N:N].Find(0, , , xlPart)
   If Not x Is Nothing Then  
       [N:N].ColumnDifferences(x).EntireRow.Hidden = True
       ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).EntireRow.Delete  
       Rows.Hidden = False  
   End If  
End Sub
 
опечатка - нужно Удалять полностью строку если в столбце "0-ОК,1-Delete" стоит единица  
1-й этап мне понятен, макрос будет выглядеть так:  
 
Sub Main()  
Dim x As Range: Application.ScreenUpdating = False  
Set x = [N:N].Find(1, , , xlPart)
If Not x Is Nothing Then  
[N:N].ColumnDifferences(x).EntireRow.Hidden = True
ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).EntireRow.Delete  
Rows.Hidden = False  
End If  
End Sub  
 
остался вопрос с дублями...
 
значит не все так просто с этапом 2...
Страницы: 1
Читают тему
Наверх