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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.12.2007, 15:11   #1
ret83
 
Регистрация: 24.12.2007
Сообщений: 4
Печаль Помогите отсортировать список

Я новичек в общении с Exel и столкнулся с такой проблемой:
Есть список компаний представленный в виде :
Название компании Альпин пром ТОО
E-mail alpщ_p@mail.ru
Руководитель Ю.В.Евсюков
Название компании Аль-Рами ТОО
E-mail
Руководитель Е.Н.Редутко

Так вот мне нужно удалить все компании поле "E-mail" которых пусто.
Перечитал все доступные справочники но так ничего толкового и не нашел.
Буду очень благодарен за помощь.
ret83 вне форума
Старый 24.12.2007, 17:03   #2
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

Выложите сюда пример файла. Так будет понятнее нам
Pavel55 вне форума
Старый 24.12.2007, 17:51   #3
Alkaline
Пользователь
 
Регистрация: 22.11.2007
Сообщений: 79
По умолчанию

ret83, а насколько часто нужно решать подобную задачу? Если 1 раз, то, может быть, проще воспользоваться автофильтром?

Например, так:

1. Будем рассматривать тройки строк, типа:

A2: Название
A3: E-mail
A4: Руководитель
A5: Название - и т.д.

2. Поместим в ячейку B3 формулу:
=ЕСЛИ(A2="E-mail";1;0)

3. В ячейки B2 и B4 формулу:
=B3

Таким образом, если E-mail не заполнен (т.е. есть только запись "E-mail" без адреса), то эту строчку, вышестоящую и нижестоящую отмечаем единичками.

4. Эти три ячейки выделяем и копируем в нижестоящие ячейки столбца B.

5. Потом ставим автофильтр в 1-й строке, выбираем в столбце B единицы и, выделив мышью все эти строки, удаляем их (промежуточные строки, содержащие нули, не удалятся). Потом выбираем в фильтре (Все) - и готово.
Alkaline вне форума
Старый 24.12.2007, 17:55   #4
ret83
 
Регистрация: 24.12.2007
Сообщений: 4
По умолчанию

пожалуйста файл:
Вложения
Тип файла: rar partners.rar (11.1 Кб, 16 просмотров)
ret83 вне форума
Старый 25.12.2007, 06:47   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Проще всего это сделать средствами VBA.
В прикрепленном файле войти: Сервис/Макрос/Макросы, выбрать макрос "Udalenie", нажать Выполнить.
Вложения
Тип файла: rar partners_1.rar (14.8 Кб, 33 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 25.12.2007, 15:10   #6
ret83
 
Регистрация: 24.12.2007
Сообщений: 4
Хорошо

Спасибо огромное!
Все работает, просто супер!

Но есть один вопрос если я хочу применить данный макрос к списку более внушительных размеров например строк в 30000 нужно что-либо менять?
Когда я применяю макрос в файле с большим списком, то он удаляет все записи.
ret83 вне форума
Старый 26.12.2007, 05:21   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Работа макроса построена следующим образом:
Просматриваются строки с начала до последней записи в столбце "A" (в обратном порядке). Контролируется столбец "B". Если встречается пустая ячейка, например "B26", то удаляются строки с 25 по 27, т. е. одна - выше и одна - ниже пустой ячейки в "B". Если весь лист построен именно по такой структуре как Ваш вложенный файл, то макрос будет корректно работать вплоть до строки 65535. Если что-то не получается, или необходимо изменить (дополнить) условия сортировки - прикрепите Ваш "большой" файл и объясните что нужно.
И еще вопрос. Может лучше скрывать ненужные записи, или все же удалять?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 26.12.2007, 11:16   #8
Alkaline
Пользователь
 
Регистрация: 22.11.2007
Сообщений: 79
По умолчанию

ret83, ну, ты все-таки поостерегся бы целиком базу е-мейлов выкладывать, тебя и за первый файл начальство по голове не погладило бы... ";-)
Alkaline вне форума
Старый 29.12.2007, 13:41   #9
ret83
 
Регистрация: 24.12.2007
Сообщений: 4
По умолчанию

Спасибо всем, ту базу уже отсортировал.

А именно начальство мне этот сайт и подсказало, если вы имели ввиду, что этими адресами могут воспользоваться спамеры, ну это плата за скорость моей работы.
ret83 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Данные-проверка-список (список на другом листе) Inbox Microsoft Office Excel 7 26.12.2008 01:43
Отсортировать по алфавиту Rio309 Помощь студентам 2 09.03.2008 22:52
Отсортировать по алфавиту asale Microsoft Office Excel 5 19.11.2007 22:01
Как отсортировать НД по Lookup-полю? Schumacher БД в Delphi 4 21.06.2007 14:07
Как отсортировать Uhryap Microsoft Office Word 2 24.02.2007 16:58