Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Нужна функция для вывода номеров и категорий в таблице

Автор alexp21, 25.09.2011, 23:47

« назад - далее »

alexp21

Добрый день.
Нужна функция(Макрос) для вывода номеров и категорий в таблице
В документе Две таблицы, Лист2 и Лист3.
В первой таблице (Лист2) отображаются наименования товаров, также им присваиваются номера и категории.
Во второй таблице (Лист3) вставляется текст с описаниями. Им необходимо присвоить номера и категории из первой таблицы. Описания имеют заголовки(Аналогичные наименованиям в первой таблице с добавлением 1 для придания уникальности), разграничивающие различные номера и категории товаров, После проставления номеров и категорий строки с заголовками необходимо удалить.
На (Листе 4) показано что должно получиться в итоге в третьем листе.

IKor

Вашу задачу проще всего решить при помощи VBA (макросами)

Цитата: alexp21 от 25.09.2011, 23:47
Описания имеют заголовки(Аналогичные наименованиям в первой таблице с добавлением 1 для придания уникальности)
Но возможны и другие варианты:

Если для Вас некритичен способ придания уникальности строкам, которые подлежат переносу, то имеет смысл выделять именно их. Для этого можно в дополнительном столбце (пусть это будет Лист3!C:C) записать формулу =СТРОКА() - без аргументов. А затем стереть значения напротив заголовков и пустых строк. В зависимости от условий Вашей задачи эту формулу можно усложнить для того, чтобы минимизировать ручной труд.

Затем на нужном листе можно записать формулу, возвращающую только помеченные строки на новый лист:
=ЕСЛИ(СТРОКА()-СТРОКА(Лист4!$D$20)>СЧЁТ(Лист3!$C:$C);"";ИНДЕКС(Лист3!$D:$H;НАИМЕНЬШИЙ(Лист3!$C:$C;СТРОКА()-СТРОКА(Лист4!$D$20));1+СТОЛБЕЦ()-СТОЛБЕЦ(Лист4!$D$20)))
здесь:
Лист4!$D$20 - ячейка, расположенная на одну строку выше левого верхнего угла новой таблицы
Лист3!$C:$C - столбец, содержащий номера помеченных строк базовой таблицы
Лист3!$D:$H - собственно массив данных

Скопировав эту формулу на новом листе в достаточное количество строк и столбцов, можно получить базовую таьлицу без заголовков и пустых строк. При необходимости избавиться от формул, можно ПОТОМ выделить ячейки с формулами и, вставить_только_значения на в нужном месте.

alexp21

Здравствуйте уважаемые форумчане!

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

В прикреплении рабочий макрос, он автоматом выполняет все указанные выше действия, единственное имеет ограничения на кол-во вводимых символов в поле описания(Лист3 "D") мах длинна составляет 255 символов, в реале же требуется расширение до 20000, если кто знает как, буду очень благодарен!