EXL скопировать данные в заданном количестве раз

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
MaksIvanov
Сообщения: 2
Зарегистрирован: 09 фев 2014, 18:12

Добрый день!
Подскажите плиз
есть данные для печати стикеров
размер детали - количество деталей, т.е. на каждую деталь нужно распечатать стикер с её размером.

Как можно скопировать данные о размере на новый лист заданное количество раз?
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

На новом листе оформить стикер, нужных местах расставить формулы, в фомулах воспользоваться функциями типа ЯЧЕЙКА и ДВССЫЛ так, чтобы при копировании стикера сам собою получался корректный стикер для слдующей записи. Раскопировать стикеры до нужного количества.

Если удастся сделать стикер в 1 ячейке — получить его с помощью формулы как многострочный текст со всеми нужными полями — то вообще никаких выкрутасов с формулами не потребутся: 1 трока данных — 1 стикер
MaksIvanov
Сообщения: 2
Зарегистрирован: 09 фев 2014, 18:12

Копирование и ДВС ссылка - это понятно.
Суть в другом, одних стикеров нужно 200 других 150, третьих 15 а четвертых 350
И таких позиций штук 20.
Если копировать все данные в ручную то будет довольно проблематично высчитывать сколько на листе помещается сколько ты уже вставил и прочее.

В общем проблема в том, что нужно скопировать заданные данные заданное количество раз, формотирование и прочее это я уже разберусь (если не разберусь то спрошу)))

Спасибо.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

А, извиняюсь, не вник внимательно в задачу.
Ну, так, и это делается формулами.

К таблице с исходными данными надо добавить вначале ключевой столбец, где бы вычислялся номер строки, начиная с которого начинался бы очередной стикер

1 Стикер1 5
6 Стикер2 2
8 Стикер3 1
9 ...

Простая формула: предыдущий номер строки (принудительно 1 для первой строки) плюс предыдущее количество. 6=1+5, 8=6+2... Формула просто копируется.

Теперь с помощью функции ВПР с включенным интервальным просмотром можно построить отчёт со стикерами. Искомое значение вычисляется как ЯЧЕЙКА("строка";<ссылка>)

Т.е. например, там где ЯЧЕЙКА("строка";<ссылка>) = от 1 до 5 включительно, ВПР даст текст "Стикер1". Если каждый стикер многострочный, то можно либо вычисляемый индекс умножать на высоту стиера в строках, либо
ЯЧЕЙКА("строка";<ссылка>) делить.
Ответить