удаление одинаковых строк

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

всем привет!
прошу помочь в решении моей проблемки...

нужно в таблице удалить одинаковые строки, таблица состоит из двух столбцов но строчек количество не определенное.

помогите кто может :(
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Это где? В аксесе? Тогда их проще не допускать.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

да в excel. может и проще не допускать но они уже есть. теперь нужно удалять или можно скопировать в другой файл не допуская повторов. :confused:
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Я имел в виду аксес. А если в экзеле (это другая прога), то пиши макрос. У тебя какой экзел? А то там кое-что по языку не совпадает.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

Excel 2003
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Примерно так, по-моему:

Код: Выделить всё

Sub DeleteRows()
 Dim R As Integer
 Dim i As Integer
 Dim j As Integer
 Range("A1").Select
 Selection.End(xlDown).Select
 R = Selection.Row
 Range("A1").Select
 For i = R To 2 Step -1
     For j = 1 To i - 1 Step 1
         If Cells(i, 1) = Cells(j, 1) And Cells(i, 2) = Cells(j, 2) Then Row(i).Delete
     Next j
 Next i
End Sub
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

работает, но удаляет только если совпадают значения только в первом столбце, а мне нужно удалять тогда когда совпадают данные и в первом и во втором столбце :confused:
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Там два подобных условия. Я одно скопировал в другое и собирался исправить в копии номер столбца, а исправить забыл. Темперь исправил, попробуй, должно работать. А примерно по тому, что ты не указал, ни с какого столбца начинаешь (бывает и E, а перед ним четыре пустых), ни с какой строки (вдруг у тебя вверху шапка таблицы). Если таблица начинается не с угла, тогда надо исправить и адрес ячейки и явные константы в заголовках циклов и номера столбцов в условиях.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

большое спасибо!!!!! работает :p
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте angej.
Подобные задачи, для обработки табличных данных, иогут быть решены не полько перебором всех данных, но и конструкцией с применением библиотки ADO.
Скорость её выполнения практически не зависит от количества строк, не ограничена размером листа Excel (65536), и не идет в сравнение с перебором.
Евгений.
Вложения
Образец применения ADO.zip
(6.93 КБ) 78 скачиваний
Ответить