Вечер добрый товарищи. Суть проблемы такова: есть таблица с данными, данные отмеченные "+", копируются в шаблон для дальнейшей печати. Если шаблон заполнен, то он копируется с данными и вставляется ниже, а первый очищается. Но когда шаблон дублируется и вставляется в низ, то не копируется информация из таблицы(в количестве 2х строк). Помогите избавиться от этого недуга, да и если можно (вдруг решите написать все правильно) то пояснения оставьте пожалуйста.
Вечер добрый товарищи. Суть проблемы такова: есть таблица с данными, данные отмеченные "+", копируются в шаблон для дальнейшей печати. Если шаблон заполнен, то он копируется с данными и вставляется ниже, а первый очищается. Но когда шаблон дублируется и вставляется в низ, то не копируется информация из таблицы(в количестве 2х строк). Помогите избавиться от этого недуга, да и если можно (вдруг решите написать все правильно) то пояснения оставьте пожалуйста.Gp
Если в таблице данных строки отмечены "+", тогда они копируются в шаблон. но так как шаблон состоит из двух листов, то если он заполняется нужно автоматом добавлять следующий (на том же листе, только ниже). Как-то так должно работать в теории.
Если в таблице данных строки отмечены "+", тогда они копируются в шаблон. но так как шаблон состоит из двух листов, то если он заполняется нужно автоматом добавлять следующий (на том же листе, только ниже). Как-то так должно работать в теории.Gp
Sub В_ТН() Dim r, i r = 18 Sheets("Шаблон").Range("C18:H30").ClearContents Sheets("Шаблон").Range("C35:H53").ClearContents For i = 2 To Range("F" & Rows.Count).End(xlUp).Row If Cells(i, 6) = "+" Then With Sheets("Шаблон") .Cells(r, 3) = Cells(i, 1) .Cells(r, 4) = Cells(i, 2) .Cells(r, 6) = Cells(i, 3) .Cells(r, 7) = Cells(i, 4) .Cells(r, 8) = Cells(i, 5) End With r = r + 1 If r = 31 Then r = 35 If r = 54 Then MsgBox "Больше не влазит!": Exit Sub End If Next End Sub
[/vba]
Так пойдет? [vba]
Код
Sub В_ТН() Dim r, i r = 18 Sheets("Шаблон").Range("C18:H30").ClearContents Sheets("Шаблон").Range("C35:H53").ClearContents For i = 2 To Range("F" & Rows.Count).End(xlUp).Row If Cells(i, 6) = "+" Then With Sheets("Шаблон") .Cells(r, 3) = Cells(i, 1) .Cells(r, 4) = Cells(i, 2) .Cells(r, 6) = Cells(i, 3) .Cells(r, 7) = Cells(i, 4) .Cells(r, 8) = Cells(i, 5) End With r = r + 1 If r = 31 Then r = 35 If r = 54 Then MsgBox "Больше не влазит!": Exit Sub End If Next End Sub