Страницы: 1
RSS
Вставка на лист данных по шаблону
 
Добрый вечер, Уважаемые Гуру. У меня к Вам вопрос, как с помощью макроса вставлять данные в результирующий лист по шаблону (сохраняя форматирование шаблона и объединенные ячейки), пример прилагаю, если что не понятно объяснил пишите постараюсь описать подробнее. Если такая тема уже есть ткните меня в нее (сам найти не смог)
 
У меня есть готовая программа, как раз для таких целей:
http://excelvba.ru/programmes/Labels

Одно нажатие кнопки - и лист заполнен
Можно задать количество блоков на листе (по горизонтали и по вертикали)
 
Спасибо большое, за ответ, и Вашу программу. Но мне нужно что-то более скромное, да и самому охота разобраться что к чему, как говориться "КАК ЭТО РАБОТАЕТ"  макрос, и может кто подскажет где взять книгу справку типа такая-то процедура - делает это.
 
Ни у кого нет ни каких мыслей по этому поводу, подскажите,хоть как можно сохранить, формат шаблона при переносе данных, у меня получается взять данные расположить по шаблону перенести на результирующий лист, только объединение ячеек пропадает. Заранее спасибо.
 
наверное, можно отказаться от листа "Шаблон", и вот как-то так:
Код
Sub ertert()
Dim x, y(), i&, j&, k&
x = Sheets("Данные").Range("A1").CurrentRegion.Value
ReDim y(1 To (UBound(x) / 3 + 1) * 9, 1 To 30)
j = 1: k = 1    ' column & row
For i = 2 To UBound(x)
    y(k, j) = x(i, 1)
    y(k + 2, j) = x(i, 2)
    y(k + 4, j + 2) = x(i, 3)
    y(k + 5, j + 2) = x(i, 4)
    y(k + 6, j + 2) = x(i, 5)
    y(k + 4, j) = "с": y(k + 5, j) = "до": y(k + 6, j) = "№"
    j = j + 13
    If j > 28 Then k = k + 9: j = 1
Next i
With Sheets("Результат")
    .Columns("A:AL").ClearContents
    .Range("A1:AC1").Resize(UBound(y)).Value = y()
End With
End Sub
 
nilem Спасибо за ответ, и помощь у меня нечто подобное получается, только несколько по другому реализовал, но Ваша мысль интереснее будет, ПРОБЛЕМА в следующем если заранее не подготовить лист Результат (то есть отформатировать определенным образом (объединить некоторые ячейки)) то получается следующее. При увеличении базы данных данные вносятся без форматирования. пример прилагаю.
 
Цитата
ПРОБЛЕМА в следующем если заранее не подготовить лист Результат

неудивительно
там ещё много чего делать надо - например, разбивку по страницам (программно проставлять горизонтальные разрывы страниц, чтобы при печати блоки не разрывались посередине)

описанная вами проблема решается предварительным копированием блока шаблона (со второго листа),
и уже после копирования в очередной блок подставляются данные
 
По простому. Разбирайтесь. Лист Шаблон просто скрыт.
 
EducatedFool, спасибо за ответ. Разбивка по страницам это не проблема.
Цитата
EducatedFool пишет:
описанная вами проблема решается предварительным копированием блока шаблона (со второго листа),
и уже после копирования в очередной блок подставляются данные
вот это мне и надо, у меня проблема с копированием блока. Не знаю как реализовать. Спасибо.
 
Цитата
Sergei_A пишет:
По простому. Разбирайтесь. Лист Шаблон просто скрыт.

ЭТО ТО ЧТО НУЖНО, А ДАЛЬШЕ Я УЖ КАК НИБУДЬ СЛЕПЛЮ. ОГРОМНОЕ СПАСИБО.
 
Sergei_A, nilem, EducatedFool, Спасибо за Ваше участие, и помощь.
Страницы: 1
Читают тему
Наверх