powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как найти дубликаты строк в большой таблице?
3 сообщений из 3, страница 1 из 1
Как найти дубликаты строк в большой таблице?
    #35269103
Dimon111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    Dim nRow As Integer, nRow1 As Integer, nRow2 As Integer
    Worksheets("Вспомогательный лист").Columns("a:b").Clear        '
    nRow2 =  1 
    For nRow =  1  To  110 
        For nRow1 =  2  To  111 
            If Worksheets("Вспомогательный лист").Cells(nRow,  2 ).Value = Worksheets("Вспомогательный лист").Cells(nRow1,  2 ).Value Then
                TextBox2 = TextBox2 & Vars1 & vbCrLf               '
                Worksheets("Вспомогательный лист").Cells(nRow2,  1 ).Value = CStr(Worksheets("Вспомогательный лист").Cells(nRow,  2 ).Value)
                Worksheets("Вспомогательный лист").Cells(nRow2,  1 ).Value = CStr(Worksheets("Вспомогательный лист").Cells(nRow1,  2 ).Value)
                nRow2 = nRow2 +  1 
            End If                              '
        Next nRow1                              '
    Next nRow
Работает очень медленно. Впрочем, не уверен что работет...

Может у кого есть какие идеи?

Спасибо
...
Рейтинг: 0 / 0
Как найти дубликаты строк в большой таблице?
    #35269242
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Dimon111
> Может у кого есть какие идеи?

Вот когда-то нашел, где-то(не помню где :( ):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Function GetUniqueValues(sourceRange As Range) As Variant
    Dim w As Worksheet
    Dim r As Range

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
    End With
    Set w = Worksheets.Add
    Set r = w.Range("A1")
    sourceRange.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=r, 
Unique:=True
    r.CurrentRegion.Sort r, xlAscending
    GetUniqueValues = Application.Transpose(r.CurrentRegion.Value)
    w.Delete
    With Application
        .ScreenUpdating = True
        .DisplayAlerts = True
    End With
End Function
Правда не проверял, но по коду должно делать то что нужно


> Спасибо

Да не за что ;-)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как найти дубликаты строк в большой таблице?
    #35269251
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Игорь Горбонос
>
> но по коду должно делать то что нужно

В смысле оставлять только уникальные записи, исключая дубликаты

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как найти дубликаты строк в большой таблице?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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