powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как макросом убрать повторяющиеся строки EXCEL
89 сообщений из 89, показаны все 4 страниц
как макросом убрать повторяющиеся строки EXCEL
    #33973551
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имею много таблиц EXCEL в каждой одна колонка
все строки повторяются минимум 2 раза например
москва
москва
москва
москва
гжель
гжель
шатура
шатура
черусти
черусти
и тд и тд и тд ...
подскажите макрос который удалит повторяющиеся строки
но по одной оставит.
сортировать строки нельзя это исказит географию трассы
руками чистить строки влом
заранее спасибо
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33973597
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно без макроса: в новой колонке сделать сравнение соседних строк, например =A2=A1, отфильтровать по TRUE и удалить
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33973707
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub DeleteDubls()
Const intDataCol =  1 
Const intMaxRow =  12 
    Dim i%, j%
    Dim strValue1$, strValue2$
    For i =  2  To intMaxRow -  1 
        strValue1 = Trim(Cells(i, intDataCol))
        For j = i +  1  To intMaxRow
            strValue2 = Trim(Cells(j, intDataCol))
            If StrComp(strValue1, strValue2, vbTextCompare) =  0  Then
                Cells(j, intDataCol).Delete shift:=xlUp
            End If
        Next
    Next
End Sub

Здесь intDataCol - столбец по которыму идет сравнение данных, intMaxRow - номер последней строки, если что не понятно "пищи" ;)
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33973882
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2orunbek
Большое спасибо !!! код работает !!!
удалились яч. где стоит только одно слово
например : Москва или Гжель
но я конечно дал упрошенный пример в своем первом посте
на самом деле есть ячейки с таким содержимым
Москва М9
Москва ЦСС
Орехово-Зуево
Арзамас-2
Нижний Новгород и тп.
и вот если они повторяются несколько раз
они не удаляются
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33973963
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorog2orunbek
Большое спасибо !!! код работает !!!
удалились яч. где стоит только одно слово
например : Москва или Гжель
но я конечно дал упрошенный пример в своем первом посте
на самом деле есть ячейки с таким содержимым
Москва М9
Москва ЦСС
Орехово-Зуево
Арзамас-2
Нижний Новгород и тп.
и вот если они повторяются несколько раз
они не удаляются
Ну если там нужно еще и отдельные слова сравнивать, то сделайте разбивку и потом сравнение, чуть-чуть же осталось попробуйте сами сделать, а то если на готовом, то профессионалом не скоро станете. Мне не жалко, просто хочу чтобы и сами попробовали "обмозговать" проблему
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974079
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2orunbek
отдельные слова сравнивать не надо
надо сравнивать значение ячеек в целом
но может быть и такое
москва цсс южный
москва цсс северный
и вот если они повторяются Ваш код их не трогает
Однако = спасибо еще раз !!!
куда копать хоть укажите
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974091
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
If StrComp(strValue1, strValue2, vbTextCompare) =  0  Then
      Cells(j, intDataCol).Delete shift:=xlUp
End If

здесь конечно, где сравнение идет
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974106
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кроме того, уделите внимание способу сравнения:
StrComp(strValue1,strValue2,vbTextCompare)
vbTextCompare - текстовое сравнение
есть еще vbBinaryCompare, vbDataBaseCompare или что-то вроде этого
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974205
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorogотдельные слова сравнивать не надо
надо сравнивать значение ячеек в целом
но может быть и такое
москва цсс южный
москва цсс северный
и вот если они повторяются Ваш код их не трогает
Однако = спасибо еще раз !!!
куда копать хоть укажите

Если сравнивать значения ячеек в целом, то код и не должен трогать эти строки!!!
Алгоритм задать трудно для вашего случая. Человек сделает это надежнее. В идеале иметь массив со списком слов по которым сокращать, и уж потом искать эти слова в ячейках и удалять двойные.

Если у вас это не часто повторяющаяся операция, предлагаю вам просто поставить автофильтр на этот столбец и для каждой на ваш взгляд повторяющейся записи проделать следующие действия:
- скопировать ячейку с уникальной записью, например, москва цсс южный
- отфильтровать повторяющиеся записи по повторяющимся названиям, например, москва цсс северный
- вставить скопированную ячейку в отфильтрованный диапазон
- повторить процедуру для других повторяющихся записей, например, для москва цсс западный
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974453
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2k-nike
VBA может сделать такое ???
1. найти все одинаковые строки
2. из всех одинаковых оставить по одной
вроде бы простая задача но я не силен в VBA

и еще
а если мне в ACCESS экспортировать исх. таблицы
может тогда проще будет получить нужный результат ???
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974668
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub DeleteDubls()
    Const intCol =  3 
    Const intRow =  15 
    Dim i%
    Cells(intRow, intCol).CurrentRegion.Sort Key1:=Cells(intRow, intCol), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:= 1 , MatchCase:=False, Orientation:=xlTopToBottom
    For i = intRow +  1  To Cells(intRow, intCol).CurrentRegion.Rows.Count + intRow
        If Cells(i, intCol) = "" Then Exit For
        If Cells(i, intCol) = Cells(i, intCol).Offset(- 1 ,  0 ) Then _
            Rows(i).Delete shift:=xlUp: i = i -  1 
    Next
End Sub

где intCol - номер столбца в котором искать совпадения
intRow - номер строки с которой начинать поиск
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974733
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorog2k-nike
VBA может сделать такое ???
1. найти все одинаковые строки
2. из всех одинаковых оставить по одной
вроде бы простая задача но я не силен в VBA

и еще
а если мне в ACCESS экспортировать исх. таблицы
может тогда проще будет получить нужный результат ???

1. Что вы подразумеваете под "одинаковыми строками"? Алгоритм по которому определять одинаковая строка или нет вы можете описать?
2. Имхо, без разницы в Excel или Access это делать. Главное, повторюсь, алгоритм по которому определять "одинаковость строк", а остальное вам уже подсказали.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974848
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2k-nike

поскольку во всех моих таблицах по одной колонке
речь практически идет о сравнении ячеек а не строк
критерий одинаковости простой :

москва
москва
это две одинаковые ячейки (в яч. одно слово)

москва цсс
москва цсс
москва цсс
москва цсс
это четыре одинаковые ячейки (в яч. два слова)

москва цсс северный
москва цсс северный
это две одинаковые ячейки (в яч. три слова)

вопрос : может VBA сравнивать ячейки где 2 или 3 слова ???
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974900
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorogвопрос : может VBA сравнивать ячейки где 2 или 3 слова ???
Конечно может.
Я не проверял макросы orunbek'а и vkodor'а, но разве они не так работают?
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974993
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спецы по ёкселю, подскажите, plz.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33974996
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2k-nike

макрос orunbek(a) обработал правильно только ячейки содержашие одно слово
яч. содержащие 2 слова он не тронул то ест сколько их было в колонке
столько и осталось.
макрос vkodor(a) я еще не проверял у нас как конец недели так запарка ...
однако всем спасибо ... что откликнулись
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33977260
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vkodor
ваш макрос работает но есть одно НО
после удаления излишних строк он сортирует строки по алфавиту
в моей задаче это все дело портит так как это трассы каналов связи
идущих вдоль жд
и если жд станции расставить по алфавиту получается абсурд.
подскажите как убрать сортировку плз ???
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33977667
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чёрт с ним, дайте свой файл, я вам доделаю, но только в течении часа после появления этого сообщения, опосля меня не будет целых 10 дней.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978099
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в таблице ECXEL всего одна колонка
содержимое ячеек я изменил для простоты понимания задачи
маша
маша
маша
маша
маша
коля
коля
коля
нина
нина
вася
вася
вася
и тд.

надо оставить только уникальные значения
и не сортировать то есть надо получить
маша
коля
нина
вася

заранее спасибо
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978168
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/296925&hl=
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978412
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ivan33
спасибо по указанной вами ссылке взял код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Public Sub DeleteDuplicates()
    Dim rng As Range
    Dim ws As Worksheet
    Dim intI As Integer
    Dim intRows As Integer

    Set ws = ThisWorkbook.Worksheets("Лист1")
    Set rng = ws.UsedRange
      
    intRows = rng.Rows.Count
    intI =  1 
    
    Do While intI < intRows
        If ws.Cells(intI,  1 ) = ws.Cells(intI +  1 ,  1 ) And _
          ws.Cells(intI,  2 ) = ws.Cells(intI +  1 ,  2 ) Then
            ws.Cells(intI,  1 ).EntireRow.Delete shift:=xlShiftUp
            intRows = intRows -  1 
            intI = intI -  1 
        End If
        
        intI = intI +  1 
    Loop
End Sub

все пучком но последняя (нижняя) строчка в таблице
осталась в двух экземплярах
конечно одну из них можно и руками удалить
но если не трудно подскажите что изменить в коде чтобы он обрабатывал все
строки в том числе и последнюю.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978423
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorog2 vkodor
ваш макрос работает но есть одно НО
после удаления излишних строк он сортирует строки по алфавиту
в моей задаче это все дело портит так как это трассы каналов связи
идущих вдоль жд
и если жд станции расставить по алфавиту получается абсурд.
подскажите как убрать сортировку плз ???
Сортировку убрать нельзя, без сортировки алгоритм должен быть другим.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978445
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorog2 vkodor
ваш макрос работает но есть одно НО
после удаления излишних строк он сортирует строки по алфавиту
в моей задаче это все дело портит так как это трассы каналов связи
идущих вдоль жд
и если жд станции расставить по алфавиту получается абсурд.
подскажите как убрать сортировку плз ???

Вообще-то, применительно к твоей часной задачи можно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub DeleteDubls()
    Const intCol =  3 
    Const intRow =  15 
    Dim i%
    For i = intRow +  1  To Cells(intRow, intCol).CurrentRegion.Rows.Count + intRow
        If Cells(i, intCol) = "" Then Exit For
        If Cells(i, intCol) = Cells(i, intCol).Offset(- 1 ,  0 ) Then _
            Rows(i).Delete shift:=xlUp: i = i -  1 
    Next
End Sub
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978631
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vkodor

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub DeleteDubls()
    Const intCol =  3 
    Const intRow =  15 
    Dim i%
    For i = intRow +  1  To Cells(intRow, intCol).CurrentRegion.Rows.Count + intRow
        If Cells(i, intCol) = "" Then Exit For
        If Cells(i, intCol) = Cells(i, intCol).Offset(- 1 ,  0 ) Then _
            Rows(i).Delete shift:=xlUp: i = i -  1 
    Next
End Sub

макрос не удаляет дубли хотя и сообщений об ошибке не дает
исходная таблица Excel осталась без изменений
хотя я и поставил
intCol = 1
intRow = 19
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978735
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub test()
    Dim Start As Long, Finish As Long, col As Long
    Start =  19 : col =  1 
    Application.ScreenUpdating = False
    With ActiveSheet
        Finish = .Cells(.Rows.Count, col).End(xlUp).Row
        Set rng = .Range(.Cells(Start, col), .Cells(Finish, col))
        For i = Finish To Start Step - 1 
            If Application.CountIf(rng, Cells(i, col)) >  1  Then Rows(i).Delete
        Next i
    End With
    Application.ScreenUpdating = True
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978855
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 KL (XL)
к сожалению и ваш макрос не изменяет исходную таблицу
господа предлагаю исх. таблицу для проверки ваших макро
до публикации их на форуме

маша
маша
маша
маша
маша
коля
коля
коля
толя
толя
толя
толя
вася
вася
вася

с уважением ...
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978921
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код не опитимизирован, т.к. это слегка переделанная процедура одного из моих проектов. Лень было заново придумывать. Но вроде работает.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
Sub ShortingReport()
    
    Dim rng As Range
    Dim i As Integer
    Dim diapazon As String
   
    'Здесь меняем диапазон
    diapazon = "A1:A15"
    
    Application.StatusBar = "Идет сокращение отчета..."
    Application.ScreenUpdating = False
    
    With ActiveSheet
    
        'проверка списка на достаточное кол-во позиций. 2 минимум.
        If .Range(diapazon).Cells( 1 ,  1 ).End(xlDown).Row >=  65535  Then
            MsgBox "Список отчета менее 2-ух позиций!" & Chr( 13 ) & Chr( 10 ) & _
                "Попробуйте проанализировать его вручную."
            Exit Sub
        End If
    
        i =  0 
        
        Do
    
            Set rng = .Range(diapazon).Find( _
                What:=.Range(diapazon).Offset(i,  0 ).Value, _
                LookIn:=xlValues, _
                LookAt:=xlWhole, _
                MatchCase:=False)
       
            If Not (rng Is Nothing) Then

                Do Until (rng Is Nothing) Or _
                    (.Range(diapazon).Cells( 1 ,  1 ).Offset(i,  0 ).Address = .Range(diapazon).Cells( 1 ,  1 ).End(xlDown).Address)
                    .Rows(rng.Row).Delete Shift:=xlUp
                    Set rng = .Range(.Range(diapazon).Cells( 1 ,  1 ).Offset(i +  1 ,  0 ), .Range(diapazon).Cells( 1 ,  1 ).End(xlDown)).FindNext
                Loop
            End If
        
        i = i +  1 
    
        Loop While .Range(diapazon).Cells( 1 ,  1 ).Offset(i -  1 ,  0 ).Address <> .Range(diapazon).Cells( 1 ,  1 ).End(xlDown).Address

    End With
    Application.ScreenUpdating = True
    Application.StatusBar = ""
    
End Sub

...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33978990
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 2k-nike
и ваш код к сож. не изменяет исх. таблицу
все равно спасибо
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33979041
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorog2 2k-nike
и ваш код к сож. не изменяет исх. таблицу
все равно спасибо
Что значит не меняет исходную таблицу?
У меня ваши маши, коли и т. п. до 4 строк сократились, а как должно быть?
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33979297
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема не в макросах, а в одном из 3х:

1) спрашивающий не может точно сформулировать задачу
2) спрашивающий не знает как их правильно использовать
3) данные на самом деле не одинаковые и таковыми лишь кажутся

время выкладывать файл, а не куски данных

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33979368
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример прилагается

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33979798
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-nikeЧто значит не меняет исходную таблицу?

после запуска вашего макроса моя исходная таблица остается без изменений
моя исх. таблица это маши коли толи и тд
для чего на реальной таблице запускать макрос если на такой простенькой не работает

2 KL (XL)

на вашем файле Book1.xls (32Kb) все работает
кнопка "жми сюда" просто супер
скопировал ваш макрос и вставил в свой файл с машами колями и тд ...
делал так Insert > Module > Run
НЕ РАБОТАЕТ
у меня Excel 2000 (9.0.2812) может другая версия Excel нужна ???
или в чем моя ошибка ??? помогите плз !!!
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33979820
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда остается 2 варианта:
KL (XL)
2) спрашивающий не знает как их правильно использовать
3) данные на самом деле не одинаковые и таковыми лишь кажутся
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33979980
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ALL
теперь все ОК !!!
в макросе KL (XL) надо заменитть точку старта макроса на Start = 1
он оставил сверху 18 строк пустыми и поместил туда кнопку "жми сюда"
кому интересно скачайте пример от KL (XL)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub test()
    Dim Start As Long, Finish As Long, col As Long
    Start =  19 : col =  1 
    Application.ScreenUpdating = False
    With ActiveSheet
        Finish = .Cells(.Rows.Count, col).End(xlUp).Row
        Set rng = .Range(.Cells(Start, col), .Cells(Finish, col))
        For i = Finish To Start Step - 1 
            If Application.CountIf(rng, Cells(i, col)) >  1  Then Rows(i).Delete
        Next i
    End With
    Application.ScreenUpdating = True
End Sub

ребята всем огромное СПАСИБО !!!
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33980003
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub DeleteDubls()
    Dim rng As Range, rng2 As Range, rng3 As Range
    On Error Resume Next
    Set rng = Application.InputBox(Prompt:="Выберите данные.", _
      Title:="Выберите диапазон.", Type:= 8 , Left:= 200 , Top:=- 65 )
    If Err Then Exit Sub
    On Error GoTo  0 
    If rng.Rows.Count =  1  Then Exit Sub
    For Each rng2 In rng.Columns( 1 ).Cells
        If rng2 = "" Then Exit For
        If rng2 = rng2.Offset( 1 ,  0 ) Then
            If rng3 Is Nothing Then
                Set rng3 = rng2
            Else
                Set rng3 = Union(rng3, rng2)
            End If
        End If
    Next
    If Not rng3 Is Nothing Then rng3.EntireRow.Delete shift:=xlUp
End Sub
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33980139
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vkodor

большое спасибо за ваш макрос
сейчас разбираюсь как правильно задать диапазон
вместо слов "Выбирите данные" я бы написал "Например А1 - В5"
кажется это называется "дружественный интерфейс"
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33980557
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот для Вашего примера, всё было бы давно готово давно если свой excel'овский документ выложили бы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Sub DeleteDubls()
Const intDataCol =  1 
Const intStartRow =  2 
    Dim i%, j%, intMaxRow%
    Dim strValue1$, strValue2$
    intMaxRow =  22 
    i = intStartRow
    Do While i < intMaxRow
        strValue1 = Trim(Cells(i, intDataCol))
        For j = i +  1  To intMaxRow
            strValue2 = Trim(Cells(j, intDataCol))
            If StrComp(strValue1, strValue2, vbTextCompare) =  0  Then
                Cells(j, intDataCol).EntireRow.Delete
                intMaxRow = intMaxRow -  1 
                i = i -  1 
                If i < intStartRow Then i = intStartRow
            End If
        Next
        i = i +  1 
    Loop
End Sub
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33981133
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 orunbek

большое СПАСИБО !!!
сам не ожидал что будет столько постов
наверное объяснять что надо в итоге получить - не умею
а реальные мои таблицы только бы запутали всех
и вызвали бы массу вопросов к делу не относящихся

спасибо ВСЕМ, топик можно закрыть !
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #33981346
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorog2 orunbek
сам не ожидал что будет столько постов мы еще вам косточки не перемывали, постов будет больше
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34113144
tosick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
А что скажите на счет вот этого: имеется две колонки, надо удалить повторы из первой колонки и сложить числа которые стояли возле этих повторов.
Причем повторы нужно искать по полному соответствию

Исходный вариант:
маша 5
маша 1
маша 3
дима 2
дима 1
маня 6
олег 3
олег 4

Необходимый вариант
маша 9
дима 3
маня 6
олег 7

Предлагайте пожалуйста и нетолько макросы, может есть какие либо проги которые умеют такое.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34113151
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tosickПредлагайте пожалуйста и нетолько макросы, может есть какие либо проги которые умеют такое.
сводная таблица
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34113416
tosick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кроме сводных таблиц?
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34113442
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
меню "Данные" -> "Итоги"
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34113470
tosick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, необходимо чтобы лишние данные были удалены напрочь с листа (а не скомбинированы и оставались на нем)
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34113496
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо что продолжили топик
теперь знаю как можно быстро посчитать кому и сколько я должен
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34118790
hirondelle11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub Macro1()


Dim i, j As Integer


For i = 1 To 5000
For j = i + 1 To 5000
If Cells(i, x) <> vbNullString Then
If Cells(i, x) = Cells(j, x) Then
Rows(j).Delete
j = j - 1
End If
Else: If Cells(i, 4) = vbNullString Then Exit Sub
End If
Next
Next

End Sub


x-номер столбца в котором надо вести удаление. числа взяты наобум-смотрите по вашему файлу, сколько там строк для очистки
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34119696
SvIva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В примерах Уокенбаха нашла подходящие формулы массивов для решения этих задач (без макросов), но не могу справиться с ошибкой #ЧИСЛО!. Функцию ЕОШ() я знаю, но формулы такие длинно-вложенные... Посмотрите файл, может посоветуете что.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34120775
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvIvaВ примерах Уокенбаха нашла подходящие формулы массивов для решения этих задач (без макросов), но не могу справиться с ошибкой #ЧИСЛО!. Функцию ЕОШ() я знаю, но формулы такие длинно-вложенные... Посмотрите файл, может посоветуете что.

данная формула на мой взгляд далека от идеала и скорее интересна в чисто дидактическом плане.

1) Этот метод может и хорош, когда речь о сотнях и менее ячеек, т.к. формула чрезвычайно медленная

2) Добавить замену ошибок текстом нулевой длины без существенных потерь в скорости можно например так:
- в ячейку[H2] вносим формулу:
=СУММПРОИЗВ(1/СЧЁТЕСЛИ(data;data))
- главную формулу преобразуем в:
{=ЕСЛИ(СТРОКА()-СТРОКА($A$2)>=$H$2;"";ИНДЕКС(data;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(data;data;0)=СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data)));ПОИСКПОЗ(data;data;0);"");СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data))))))}

3) Формула Джона не переваривает пустые ячейки, возвращая ошибку. Следующая формула глотает пустые ячейки (внося значение 0 в список уникальных значений):
{=ЕСЛИ(СТРОКА()-СТРОКА($A$2)>=$H$2;"";ИНДЕКС(data;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(""&data;""&data;0)=СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data)));ПОИСКПОЗ(""&data;""&data;0);"");СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data))))))}

4) К тому же, используемая Джоном, конструкция ДВССЫЛ("1:"&ЧСТРОК(data)) является короткой, но крайне неэффективной фомой получения массива ввиду своей летучести. Формулы использующии функции типа ДВССЫЛ пересчитываются при любом изменении на листе, независимо от того, влияет это изменение на результат или нет. А это тем более нежелательно в столь тяжеловесных формулах. Летучесть формулы можно устранить более быстрой (в 500 ячейках скорость формулы возрасла на 20%) и нелетучей конструкцией:
СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ЧСТРОК(data)))
т.е.:
{=ЕСЛИ(СТРОКА()-СТРОКА($A$2)>=$H$2;"";ИНДЕКС(data;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(""&data;""&data;0)=СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ЧСТРОК(data)));ПОИСКПОЗ(""&data;""&data;0);"");СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ЧСТРОК(data))))))}

При всем при этом, все-таки для данной задачи несравненно лучше использовать Расширенный Фильтр как вручную так и через VBA.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34120872
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)3) Формула Джона не переваривает пустые ячейки, возвращая ошибку. Следующая формула глотает пустые ячейки (внося значение 0 в список уникальных значений):
{=ЕСЛИ(СТРОКА()-СТРОКА($A$2)>=$H$2;"";ИНДЕКС(data;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(""&data;""&data;0)=СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data)));ПОИСКПОЗ(""&data;""&data;0);"");СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data))))))}

Если 0 не нужен, тогда можно так:

{=ЕСЛИ(СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data)))>=$H$2;"";ИНДЕКС(data;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(""&data;""&data;0)=(data<>"")*СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data)));ПОИСКПОЗ(""&data;""&data;0);"");СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(data))))))}

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34121032
SvIva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я поняла, что формулы массивов всегда медленнее single формул ? Из твоих предыдущих ответов на разные темы я поняла, что любые формулы листа быстрее кода. Так ли это? Формулы Уокенбаха надо разбирать для понимания использования функций, но не применять их ? Ответь, пожалуйста, а то я уже запуталась.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34121054
SvIva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку... Уважаемый KL (XL), извини за плохое воспитание. Спасибо за ответ.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34121159
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 SvIva

SvIvaПравильно ли я поняла, что формулы массивов всегда медленнее single формул ?Да и нет, сложно сравнивать, так как в известном смысле формула массивов это n-ое кол-во "single" формул в одной ячейке. Например:

={СУММ(A1:A5*2)}

эквивалентна:

=A1*2
=A2*2
=A3*2
=A4*2
=A5*2
=СУММ(B1:B5)


Другое дело это то, что в сложных формулах массивов очень часто неэффективность возникает из-за необходимости повтора операций, которые в обычных формулах не повторялись бы. Простой пример:

в каждой ячейке с нашей мега-формулой существет выражение СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ЧСТРОК(data))) (да еще дважды) генерируещее некий стандартный массив из которого берется лишь один заранее известный элемент.

SvIvaИз твоих предыдущих ответов на разные темы я поняла, что любые формулы листа быстрее кода. Так ли это? Давай таки будем сравнивать яблоки с яблоками. Формула массива в некотором роде подобна циклу в VBA - повтор однотипных операций с переменными. Каждая операция в отдельности намного быстрее в формулах так как они компиллируются в С. Вопрос в том, использует ли соответствующий код VBA тот же алгоритм или нет. Ответ - нет. Расширенный фильтр использует намного более эффективный алгоритм (сходный с бинарным поиском + SmartCalc) и как таковой, если не ошибаюсь, скомпиллирован в С.

SvIvaФормулы Уокенбаха надо разбирать для понимания использования функций, но не применять их ?Ну это совсем абсурдное утверждение. По-моему, я ясно дал понять, что речь о конкретной формуле. В любом случае, книги Джона дают лишь поверхностное понятие о формулах массива, и для более глубокого их изучения, я всегда рекомендую след. имена:

Bob Umlas: http://www.emailoffice.com/excel/arrays-bobumlas.html
Laurent Longre: http://xcell05.free.fr/
Harlan Grove: поиск в microsoft.public.excel.worksheetfunctions
Aladin Akyurek: поиск в http://www.mrexcel.com/
Bob Philips: http://www.xldynamic.com/source/xld.SUMPRODUCT.html

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34121368
SvIva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL), большое спасибо за развернутый ответ.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
как макросом убрать повторяющиеся строки EXCEL
    #36744521
Здравствуйте,а как можно сделать так:
Есть два столбца,в первом позиционные обозначения(C1,C2,,,Cn, DA1,Da2,....и т.п.),во втором -номиналы элементов
Как есть(пример):
C1 K10-73-1
C2 K10-73-1
C3 ECR 25V
C4 ECR 50V
C5 ECR 50V
C6 K10-73-1
C7 K10-73-1
С8 K10-73-1
C9 ECR 25V
C10 ECR 50V

Как должно быть:
C1, C2 K10-73-1
C3 ECR 25V
C4, C5 ECR 50V
C6...C8 K10-73-1
C9 ECR 25V
C10 ECR 50V

т.е. поиск и удаление до первых повторяющихся фраз, и оставление одной. Те же фразы могу повторяться через любое кол-во строк.Нужно сделать тоже самое - удалить все из этих ПОДРЯД повторяющихся и оставить только одну.
Заранее благодарен
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36744903
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость_гость_гость,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function concat(ran As Range, id As String) As String
'ran - диапазон, в котором проверяются значения ( первый столбик ID, второй Value)
'id - название по которому будем группировать значения
concat = ""
For i =  1  To ran.Rows.Count
    If id = ran.Cells(i,  2 ) Then
        If concat = "" Then
            concat = concat & ran.Cells(i,  1 ).Value
            Else
            concat = concat & ", " & ran.Cells(i,  1 ).Value
        End If
    End If
Next i

функция объединит позиционные значения по номиналам элементов, а дальше удалить лишние строки думаю не будет проблемой
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36744908
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortik,
1 столбик - позиционные значения 2- номиналы
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36744911
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а повторяющиеся строки можно например удалить с помощью сводной таблицы, а если excel 2007 - там и функция такая уже есть
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36745193
fortikГость_гость_гость,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function concat(ran As Range, id As String) As String
'ran - диапазон, в котором проверяются значения ( первый столбик ID, второй Value)
'id - название по которому будем группировать значения
concat = ""
For i =  1  To ran.Rows.Count
    If id = ran.Cells(i,  2 ) Then
        If concat = "" Then
            concat = concat & ran.Cells(i,  1 ).Value
            Else
            concat = concat & ", " & ran.Cells(i,  1 ).Value
        End If
    End If
Next i

функция объединит позиционные значения по номиналам элементов, а дальше удалить лишние строки думаю не будет проблемой

не работает
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36745407
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость_гость_гость,
забыл end function
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36871625
000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
000
Гость
Подскажите,пожалуйста,как сравнить 2 колонки с данными и удалить НЕодинаковые?
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36894906
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
000Подскажите,пожалуйста,как сравнить 2 колонки с данными и удалить НЕодинаковые?Если я понял о чем речь.
То к примеру, если данные в столбцах A и B,
то в ячейку C устанавливаем формулу A1=B1
Затем эту формулу протягиваем вниз вдоль данных.
Потом заменяем формулы на значения.
После устанавливаем фильтр и по столбцу C выбираем те, где ложь
Эти строки удаляем.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36908722
Тоже не мог долго понять, как это сделать. Разобрался, пасиба. =)
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36989791
LDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDS
Гость
Ребята, я нуп и опозорился,
апну темку с 2003 года:

Темка очень интересная и полезная, всем спасибо, но лично мне этого маловато, есть производственная необходимость:
давайте чуть чуть усложним задачу: сделаем так, чтобы каждая удаленная строка добавляла к неудаленной уникальной строке количество содержащееся в ней: покажу на примере:

Есть массив с тучей строк вида:

Наименование / количество
маша 1
федя 1
вася 1
вася 1
петя 1
маша 2
маша 1
федя 4


А на выходе должно получиться вот что:

Наименование / количество
маша 4
федя 5
вася 2
петя 1

Сортировка значения не имеет.
Помогите пожалуйста, нужен макрос.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36989837
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LDS,
лучше пример реальных данных
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37020097
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LDS,

это можно реализовать через создание свода.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37020124
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37036338
ryletsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon PlayerLDS,

это можно реализовать через создание свода.
простите, свод, это реализация в exel`e?
нельзя ли поподробней.
так как пример предложенный Гость_гость_гость выбора по одному столбцу всех дубликатов и их сложение по второму столбцу очень интересна.
Спасибо заранее
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37036607
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortik...если excel 2007 - там и функция такая уже естьЧто за функция?
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37037443
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ryletskyDjon PlayerLDS,

это можно реализовать через создание свода.
простите, свод, это реализация в exel`e?
нельзя ли поподробней.
так как пример предложенный Гость_гость_гость выбора по одному столбцу всех дубликатов и их сложение по второму столбцу очень интересна.
Спасибо заранееВот гляньте пример.
Из-за ограничения по размеру загружаемых файлов, пришлось создать архив из нескольких частей:
"Создание сводной таблицы в картинках.part1.rar" и "Создание сводной таблицы в картинках.part2.rar".
В этом сообщении выкладываю первую часть.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37037446
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот вторая часть.
Поместите оба архива в одну папку и откройте первый файл через архиватор и извлеките от туда файл "Создание сводной таблицы в картинках.xls".
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464266
xavi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется огромный список с похожими ссылками.
Нужно задать условие, чтобы макрос сравнивал определенное количество символов строк (к примеру 10), и если 1ые 10 символов одинаковы - удаляет.
К примеру

www.x-memory.ru/
www.x-memory.ru

Нужно, чтобы 2ая строка удалялась...
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464279
xavi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разобрался
поменял условие


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub DeleteDubls()
Const intDataCol =  1 
Const intMaxRow =  50 
    Dim i%, j%
    Dim strValue1$, strValue2$
    For i =  2  To intMaxRow -  1 
        strValue1 = Trim(Cells(i, intDataCol))
        For j = i +  1  To intMaxRow
            strValue2 = Trim(Cells(j, intDataCol))
            If Left(strValue1,  [b]10 ) = Left(strValue2,  10 ) Then
               Cells(j, intDataCol).Delete shift:=xlUp[/b]
            End If
        Next
    Next
End Sub

xavi,
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464286
xavi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А теперь возник такой вопрос...
Нужно, чтоб адрес, содержащий http:// редактировался удалением этого http://

т.е., чтобы вместо http://www.sait.ru было www.sait.ru
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464292
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
xaviА теперь возник такой вопрос...
Нужно, чтоб адрес, содержащий http:// редактировался удалением этого http://

т.е., чтобы вместо http://www.sait.ru было www.sait.ru
Код: plaintext
1.
2.
if left("http://www.sait.ru",  7 ) = "http://" then ? Mid("http://www.sait.ru", 8 )
www.sait.ru
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464323
R Dm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
?replace("http://www.sait.ru","http://","")
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464324
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ё,
Код: plaintext
if left("http://www.sait.ru",  7 ) = "http://"
- оно всегда будет равно. Предлагаю так:
Код: plaintext
1.
2.
3.
4.
5.
Public Sub www()
    Dim c As Range
    For Each c In Selection.Cells
        c.Hyperlinks( 1 ).Address = Replace(c.Hyperlinks( 1 ).Address, "http://www", "www")
    Next
End Sub
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464326
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
R Dm
Код: plaintext
?replace("http://www.sait.ru","http://","")
Дим, не ты ли?:-)
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464337
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще-то я был невнимателен, когда повелся. Как топик " как макросом убрать повторяющиеся строки EXCEL " соотносится с последним вопросом? Ждем модеров.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464415
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей, xavi в как макросом убрать повторяющиеся строки EXCEL писал про удаление повторяющихся.

xavi, Вам нужно строки удалить, или отобрать данные строк с уникальным началом?
Если второе, то быстро это можно сделать с помощью словаря и массивов.
Берём данные в массив, потом с помощью словаря отбираем в другой массив данные уникальных строк, выгружаем результат.
Так будет всего один проход по данным, и не будет работы с ячейками листа, что всегда медленно.
Если всё же нужно удалять строки листа - то тоже быстрее собрать список удяляемых строк по схеме массив-словарь, затем удалять сразу группами по списку.
Конечно, будет работать и перебор ячеек листа цикл в цикле, но медленно.
Можете сделать руками - отобрать формулой в свободный столбец начальные символы строк, потом "расширенный фильтр" или "удалить дубликаты" по этому столобцу.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464441
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь и как топик соотносится с вопросом:автор"А теперь возник такой вопрос...Нужно, чтоб адрес, содержащий http:// редактировался удалением этого http://" ? Или я чего недопонял?
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464458
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей, действительно продолжение уже из "другой оперы", согласен.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464512
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuklp,

То был я :)
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37904954
DerekAshfield
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята нужна помощь, сам я в этом нуб.... Мне нужен макрос, который бы проверял два разных столбца, и во втором столбце удалял те ячейки которые есть в первом! Те в первом столбце например числа 33, 11, 76, а во втором 11, 24, 33 - 11 и 33 он бы удалил!!! И собственно вкратце как этот макрос запихнуть в эксель
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37904980
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub bb()
With Range("C1:C" & Cells(Rows.Count, "B").End(xlUp).Row)
    .Formula = "=1/(1-ISNUMBER(MATCH(B1,A:A,)))"
    .SpecialCells(xlCellTypeFormulas, xlErrors).Offset(, -1).Delete xlUp
    .Clear
End With
End Sub

А как этот макрос запихнуть в эксель - терзайте F1, гугл или букварь.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #38116708
Dariloff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Не въезжал в макросы экселя т.к. только что неделю на python убил.
Не подскажете макросик.
Есть база из 3000 строк. Надо их рассортировать так, чтобы в пределах 3х соседних строк не было повторений.
Спасибо!
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #38117014
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приложите пример из 50 строк.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #38117099
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dariloff,КазанскийПриложите пример из 50 строк.Причем пример с исходными данными и тем, что хотите получить.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
как макросом убрать повторяющиеся строки EXCEL
    #38644961
kolyan2288
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub DeleteDubls()
Const intDataCol = 1
Const intMaxRow = 12
    Dim i%, j%
    Dim strValue1$, strValue2$
    For i = 2 To intMaxRow - 1
        strValue1 = Trim(Cells(i, intDataCol))
        For j = i + 1 To intMaxRow
            strValue2 = Trim(Cells(j, intDataCol))
        
              If StrComp(strValue1, strValue2, vbTextCompare) = 0 Then
                 Cells(j, 0 + intDataCol) = " "
              End If

        Next
    Next
End Sub



напишу в этой теме, задача: стереть значение в ячейке, исправил код работает т е стирает одинаковые значения в столбце, не получается реализовать стирание целой строки где затерты столбцы, помогите
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #38645328
kolyan2288
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
решено

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Sub DeleteDubls()
Const intDataCol = 4


    Dim i%, j%, kRow, kCol
    Dim strValue1$, strValue2$
   
   kRow = ActiveSheet.UsedRange.Rows.Count
   
   kCol = ActiveSheet.UsedRange.Columns.Count

    For i = 2 To kCol - 1
        strValue1 = Trim(Cells(i, intDataCol))
        For j = i + 1 To kCol
            strValue2 = Trim(Cells(j, intDataCol))
            If StrComp(strValue1, strValue2, vbTextCompare) = 0 Then
                Range(Cells(j, 0 + intDataCol), Cells(j, kCol)).Value = ""
            End If
        Next
    Next
    


End Sub
...
Рейтинг: 0 / 0
89 сообщений из 89, показаны все 4 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как макросом убрать повторяющиеся строки EXCEL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]