Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2010, 18:59   #1
Михаил2261
Пользователь
 
Регистрация: 03.05.2010
Сообщений: 37
По умолчанию удалить совпадения

Здрваствуйте
Подскажите как в числовых строках в вертикальных столбцах
Удалить строки по условию:
Есть массив чисел
4 14 15 20 36
7 9 18 28 38
12 16 23 26 39
22 26 31 38 40
14 16 17 38 41
2 22 32 33 38
7 16 18 26 31
14 23 33 38 40
1 5 16 23 24
7 8 17 24 27
6 16 21 28 41

A B C D E –столбцы в екселе
Ввести условие: допустим в для столбца С
18
33
Строки:
7 16 18 26 31
14 23 33 38 40

Удалятся т.к. там есть такое сочетание
спасибо
Михаил2261 вне форума Ответить с цитированием
Старый 30.07.2010, 19:16   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Это можно сделать макросом.

Только поконкретнее, пожалуйста..
Какие строчки из вашего примера должны быть удалены?
прямо на примере красным выделите те, которые должны быть удалены. (и лучше, если вы пример вставите с кодом [сode]..[/code] (как в моём пример ниже)
Все, где есть дубликаты (повторы в столбце С) ?
Обе строки с дубликатами?
А строчки
Код:
14	16	17	38	41
...
7	8	17	24	27
тоже должны быть удалены?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.07.2010, 20:35   #3
Михаил2261
Пользователь
 
Регистрация: 03.05.2010
Сообщений: 37
По умолчанию

В моем примере должны быть удалены строчки
Строки:
7 16 18 26 31
14 23 33 38 40
т.к. в них есть два числа в одном столбце которые мы ввели в условиях
18
33
строки
14 16 17 38 41
...
7 8 17 24 27
останутся там нет такого сочетания чисел в одном столбце
спасибо
Михаил2261 вне форума Ответить с цитированием
Старый 30.07.2010, 21:17   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

хм, видимо задача слишком сложна для меня...

Вы вводите числа. Нужно удалить все строки, где есть введённые числа?!
Тогда почему не удаляется строчка:
Код:
7	9	18	28	38
ведь в третьем столбце есть введённое число 18 ?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.07.2010, 21:35   #5
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

удаляется пара соседних строк с вхождением 18, 33 (можно менять) в столбце "С" - так я понял...
но у тебя этого нет

Код:
Sub Макрос()
   Dim a1, a2
   Dim c As Range, r As Range

   a1 = Val(InputBox("1-ое число", , 18))
   a2 = Val(InputBox("2-ое число", , 33))

   For Each c In Range("C1:C31")
      If c = a1 And c.Offset(1, 0) = a2 Then
         If r Is Nothing Then
            Set r = Union(c, c.Offset(1, 0))
         Else
            Set r = Union(c, c.Offset(1, 0), r)
         End If
      End If
   Next c

   r.EntireRow.Delete
End Sub
аналитика вне форума Ответить с цитированием
Старый 30.07.2010, 22:05   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ага. Эврика!
аналитика, спасибо, Вы меня натолкнули на мысль.

мне кажется, я понял, что надо TC!!

ему нужно удалить пару строчек, где первое число совпадает с числом в столбце C и второе число, совпадает с числом в столбце C, расположенным ниже!

аналитика, Браво! Ваш код именно эту задачу и решает.
Единственное, я бы удаление переписал так:
Код:
   If r Is Nothing Then
     MsgBox "Таких строк не найдено!"
   Else
     r.EntireRow.Delete
   End If
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.07.2010, 22:14   #7
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

согласен
аналитика вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти совпадения данных в 2ух таблицах.?? fifty50 Microsoft Office Excel 14 24.02.2010 17:46
Номер совпадения V@mpir Помощь студентам 11 22.01.2010 18:44
stringgrid,сравнение двух столбцов на совпадения и не совпадения betirsolt БД в Delphi 7 19.01.2010 15:09
Совпадения shad0w Microsoft Office Excel 3 21.08.2009 12:42
как вывести факт совпадения? Dennikid Общие вопросы Delphi 0 29.10.2008 16:05