Страницы: 1
RSS
Как автоматизировать (упростить) удаление пустых строк?, Прошу помощи/совета
 
Здравствуйте! Есть таблица, выгружаемая из программы.

Ручная обработка (удаление пустых строк) отнимает очень много времени.
Прошу помощи, как можно автоматизировать данный процесс?

Задача вот в чем:

1. В некоторых случаях, в таблице из примера это А4 и А5, отсутствует ФИО, в ячейке А5, но оно должно быть таким же как в А4, это самый геморройный случай, потому что приходится это выискивать, и было бы просто замечательно, если бы это было возможно автоматизировать. Ориентироваться можно лишь по отсутствию границы между ячейками (в примере это А4:А5), в выгружаемой таблице этой границы нет, есть только внешние.
2. Удалить пустые строки из таблицы, пустота строки определяется отсутствием данных в ячейках B* И С* (где * - номер строки (1...N)). Т.е. в данном случае если не указан "номер телефона" и "e-mail", то строка "пустая" и её надо удалить.
3. Данные из столбца A разбить на составляющие ("Данные по столбцам"), на выходе должно получиться Фамилия Имя и Отчество в столбцах D, E, F соответственно, столбец D, т.е. фамилию надо пропустить, то есть не выводить, соответственно в столбцах D и Е должны оказаться "Имя" и "Отчество".
4. Последний шаг: в столбце F* применить формулу "=СЦЕПИТЬ(C*;", ";D*;" ";E*)"; в столбце G - "=СЦЕПИТЬ(B*;", , , ";D*) (где * - номер строки (1...N)).

Пример таблицы прилагаю.

Сейчас делаю это вручную, тратя уйму времени на ручное удаление пустых строк, благо разбиение данных по  столбцам и применение формул "=СЦЕПИТЬ..." сильно облегчает задачу, хотелось бы автоматизировать данный процесс полностью, или хотя бы удаление пустых строк.  
 
drivert34, Автоматизация обработки - неудачное название: в такую тему можно вагон самых различных вопросов накидать. С чем конкретно у Вас проблема? Вот это и должно быть кратко отображено в названии. Предложите новое - модераторы поменяют.
 
Юрий М, "Удаление пустых строк" ?
 
А если заполнена только B, а  C пустая? Удалять или оставлять?
 
Ник Никитич, оставлять
 
Цитата
drivert34 написал:
хотя бы удаление пустых строк.
Ну так уберите свое ТЗ и оставьте только удаление строк. Тем более, что и Правилами это запрещено:
2.6. Один вопрос - одна тема. Не следует в открываемой теме обозначать и задавать сразу несколько вопросов.
Или на выбор:
2.7. Если вам нужен не совет по самостоятельному решению задачи, а чтобы все сделали за вас - добро пожаловать в ветку Работа. Там, скорее всего, найдутся специалисты, которые разберутся с вашей проблемой быстро, качественно и за разумную плату.
Я сам - дурнее всякого примера! ...
 
Код
Sub DelBlanksBandC()
  Intersect([b:b].SpecialCells(4).Offset(0, 1), [c:c].SpecialCells(4)).EntireRow.Delete
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх