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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.12.2007, 20:46   #1
Gennady
 
Регистрация: 15.12.2007
Сообщений: 8
Вопрос Удалить строку листа Excel при выполнении условия

Здравствуйте!

Вроде бы и несложная задача, а как сделать не знаю...

Дано: Документ Excel, 2 листа.
Лист 1-й: 1 столбик с номерами телефонов.
Лист 2-й: таблица формата "имя, телефон(ы), описание" (3 столбика).

Задача: получить таблицу с листа 2 без строк с телефоном, который есть в листе 1.

Будет ли это новый лист, или просто удалятся строки с исходного - неважно. Еще нюанс в том, что в листе 2 телефоны в основном написаны по 2 в одной ячейке (дом. и моб.), надо удалять по-любому, даже если хоть один из них есть в листе 1.

Буду очень благодарен за помощь!
Gennady вне форума
Старый 15.12.2007, 22:02   #2
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

Вы ничего не сказали о форме написания телефонов, а как вы знаете, все поразному записыванют телефонные номера, для примера,
1111111
111-11-11
111-1-111
(495) 111-11-11
и т.д.

Посмотрите пример с макросом.
Вложения
Тип файла: rar DelTel.rar (8.1 Кб, 60 просмотров)

Последний раз редактировалось Pavel55; 15.12.2007 в 22:04.
Pavel55 вне форума
Старый 15.12.2007, 22:06   #3
Gennady
 
Регистрация: 15.12.2007
Сообщений: 8
По умолчанию

Формат номеров одинаков в обоих листах, и выглядит ХХ-ХХ-ХХ или 8 (ХХХ) ХХХ-ХХ-ХХ.
Gennady вне форума
Старый 15.12.2007, 23:16   #4
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

Посмотрели пример, приложенный к моему первому сообщению?
Pavel55 вне форума
Старый 16.12.2007, 11:10   #5
Gennady
 
Регистрация: 15.12.2007
Сообщений: 8
По умолчанию

Посмотрел. Оно! Спасибо огромное! А можно теперь как-то сделать, чтоб оно еще и строку удяляло если в Листе 1 есть запись к примеру "111-11-11" а в Листе 2 запись "111-11-11, 111-11-77" (в одной ячейке, 2 номера)?
Gennady вне форума
Старый 16.12.2007, 12:09   #6
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

По-идее, мой код должен удалять эти ячейки, т.к. в методе Find стоит аргумент LookAt:=xlPart, т.е. искать по совпадению с частью ячейки. Я сейчас это проверил. Добавил в первую строку на втором листе телефон 111-11-11, 111-11-77, запустил макрос и эта строка была удалена, т.е. есть совпадение с первым телефоном (111-11-11). Странно, что у вас это не получилось. Возможно, первый телефон записан неправильно (не совпадает по написанию с телефоном на листе 1). Посмотрите приложенный пример. Тут я включил 2 телефона в некоторые ячейки. У меня они удаляются!
Вложения
Тип файла: rar DelTel2.rar (8.3 Кб, 21 просмотров)

Последний раз редактировалось Pavel55; 16.12.2007 в 12:17.
Pavel55 вне форума
Старый 16.12.2007, 12:25   #7
Gennady
 
Регистрация: 15.12.2007
Сообщений: 8
По умолчанию

Да, точно, "111-11-11, 111-11-77" удаляется, а "111-11-77, 111-11-11" нет...
Gennady вне форума
Старый 16.12.2007, 13:58   #8
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

У меня удаляется.
Вложения
Тип файла: rar DelTel3.rar (8.3 Кб, 30 просмотров)
Pavel55 вне форума
Старый 16.12.2007, 14:17   #9
Gennady
 
Регистрация: 15.12.2007
Сообщений: 8
По умолчанию

Ага, 3-й работает! Большое Вам спасибо!
Gennady вне форума
Старый 16.12.2007, 17:05   #10
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

)) Код в первом, втором и третьем варианте один и тот же. Никаких изменений в коде не было. Были изменения просто в таблице с телефонами, в которую я подставлял ваши примеры и выкладывал вам на обозрение )

Но в том коде есть недочёт. Если один и тот же телефон будет в разных строках, то макрос удалит только первый попавшийся телефон, а второй оставит. Вот более улучшенная версия. Тут макрос удалит телефон столько раз, сколько он встречается в таблице.
Вложения
Тип файла: rar DelTel4.rar (8.4 Кб, 62 просмотров)

Последний раз редактировалось Pavel55; 16.12.2007 в 17:39.
Pavel55 вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel: Удаление графиков и картинок с листа treiber Microsoft Office Excel 5 04.09.2008 13:22
Ошибка и падение (выход) Excel при выполнении сложной программы на VBA Serge_Bliznykov Microsoft Office Excel 6 13.08.2008 16:50
Excel-перенос иформации с одного листа в другой согласно условия ЛюдмилаЗ Microsoft Office Excel 2 28.05.2008 12:38