Здравствуйте! Огромное Вам спасибо, теперь все работает. Кстати, макрос, который не выполнялся на моем компьютере заработал после переустановки Касперского. Прикрепляю файл с решением.
Здравствуйте! Огромное Вам спасибо, теперь все работает. Кстати, макрос, который не выполнялся на моем компьютере заработал после переустановки Касперского. Прикрепляю файл с решением.Альбина
KuklP, Здравствуйте, еще один вопрос. Можно ли в заголовке сделать не одну строчку а три. Попробовала еще раз вставить строку: ActiveSheet.PageSetup.RightHeader = i & " стр.___Приложения___" все равно вывелось один раз.
И еще вопрос, можно ли сделать так, чтобы номер страницы был внутри текста: не 2стр.__Приложения, а стр.2 Приложения. У меня к сожалению не получилось.
KuklP, Здравствуйте, еще один вопрос. Можно ли в заголовке сделать не одну строчку а три. Попробовала еще раз вставить строку: ActiveSheet.PageSetup.RightHeader = i & " стр.___Приложения___" все равно вывелось один раз.
И еще вопрос, можно ли сделать так, чтобы номер страницы был внутри текста: не 2стр.__Приложения, а стр.2 Приложения. У меня к сожалению не получилось.Альбина
Здравствуйте, уважаемые мастера и профессионалы! Excel 2003
Сразу хочу попросить прощения, что пишу в чужом топике.
Использовал код Сергея, но не могу разобраться. У меня итоги по странице добавляются, но со второй и далее страниц добавляется еще и пустая верхняя строка. Подскажите, как убрать эту пустую строку?
[vba]
Код
Sub Print_Title() ' Макрос записан 22.09.2010 (Sergey) Dim a%, b&, d&, e, n&, i& Application.ScreenUpdating = False e = ActiveSheet.PageSetup.PrintTitleRows e = Range(e).Rows.Count ' On Error Resume Next ActiveSheet.Copy Before:=Sheets(2) ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value ActiveSheet.DrawingObjects(1).Text = "Печать" ActiveSheet.DrawingObjects(1).OnAction = "Print_INV16" a = ActiveSheet.HPageBreaks(1).Location.Row b = Cells(Rows.Count, 1).End(xlUp).Row d = a: n = 5: i = 1 While d < b Rows(d - 1).Insert Rows(d - 1).Insert Cells(d - 1, 2).Value = "ИТОГО ПО СТРАНИЦЕ:" ActiveWindow.View = xlNormalView ActiveWindow.View = xlPageBreakPreview Set ActiveSheet.HPageBreaks(i).Location = Rows(d) Cells(d - 1, 17).Formula = "=SUM(" & Range(Cells(n, 17), Cells(d - 2, 17)).Address(0, 0) & ")" Cells(d - 1, 18).Formula = "=SUM(" & Range(Cells(n, 18), Cells(d - 2, 18)).Address(0, 0) & ")" Cells(d - 1, 17).AutoFill Range(Cells(d - 1, 17), Cells(d - 1, 18)), 0 n = d: i = i + 1 d = a + d - e - 1 b = Cells(Rows.Count, 1).End(xlUp).Row + 1 Wend Cells(b, 2).Value = "ИТОГО ПО СТРАНИЦЕ:" Cells(b, 17).Formula = "=SUM(" & Range(Cells(n, 17), Cells(b - 2, 17)).Address(0, 0) & ")" Cells(b, 18).Formula = "=SUM(" & Range(Cells(n, 18), Cells(b - 2, 18)).Address(0, 0) & ")" Cells(b, 17).AutoFill Range(Cells(b, 17), Cells(b, 18)), 0 Application.ScreenUpdating = True End Sub
[/vba]
Заранее спасибо. С уважением, Андрей. P.S. Не судите строго.
Здравствуйте, уважаемые мастера и профессионалы! Excel 2003
Сразу хочу попросить прощения, что пишу в чужом топике.
Использовал код Сергея, но не могу разобраться. У меня итоги по странице добавляются, но со второй и далее страниц добавляется еще и пустая верхняя строка. Подскажите, как убрать эту пустую строку?
[vba]
Код
Sub Print_Title() ' Макрос записан 22.09.2010 (Sergey) Dim a%, b&, d&, e, n&, i& Application.ScreenUpdating = False e = ActiveSheet.PageSetup.PrintTitleRows e = Range(e).Rows.Count ' On Error Resume Next ActiveSheet.Copy Before:=Sheets(2) ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value ActiveSheet.DrawingObjects(1).Text = "Печать" ActiveSheet.DrawingObjects(1).OnAction = "Print_INV16" a = ActiveSheet.HPageBreaks(1).Location.Row b = Cells(Rows.Count, 1).End(xlUp).Row d = a: n = 5: i = 1 While d < b Rows(d - 1).Insert Rows(d - 1).Insert Cells(d - 1, 2).Value = "ИТОГО ПО СТРАНИЦЕ:" ActiveWindow.View = xlNormalView ActiveWindow.View = xlPageBreakPreview Set ActiveSheet.HPageBreaks(i).Location = Rows(d) Cells(d - 1, 17).Formula = "=SUM(" & Range(Cells(n, 17), Cells(d - 2, 17)).Address(0, 0) & ")" Cells(d - 1, 18).Formula = "=SUM(" & Range(Cells(n, 18), Cells(d - 2, 18)).Address(0, 0) & ")" Cells(d - 1, 17).AutoFill Range(Cells(d - 1, 17), Cells(d - 1, 18)), 0 n = d: i = i + 1 d = a + d - e - 1 b = Cells(Rows.Count, 1).End(xlUp).Row + 1 Wend Cells(b, 2).Value = "ИТОГО ПО СТРАНИЦЕ:" Cells(b, 17).Formula = "=SUM(" & Range(Cells(n, 17), Cells(b - 2, 17)).Address(0, 0) & ")" Cells(b, 18).Formula = "=SUM(" & Range(Cells(n, 18), Cells(b - 2, 18)).Address(0, 0) & ")" Cells(b, 17).AutoFill Range(Cells(b, 17), Cells(b, 18)), 0 Application.ScreenUpdating = True End Sub
[/vba]
Заранее спасибо. С уважением, Андрей. P.S. Не судите строго.4132
Воспользовался всем вышеописаным - очень помогло. Спасибо большое!
Однако возникла небольшая проблема: в моей таблице строки имеют различную ширину, поэтому на каких-то страницах таблица занимает весь лист (при печати), а на каких-то только верхушку. Возможно ли переписать макрос так, чтобы Строка с "Подитогом" ставилась в конце намеченной печатной страницы, а не каждый раз после определённого кол-ва строк таблицы?
День добрый!
Воспользовался всем вышеописаным - очень помогло. Спасибо большое!
Однако возникла небольшая проблема: в моей таблице строки имеют различную ширину, поэтому на каких-то страницах таблица занимает весь лист (при печати), а на каких-то только верхушку. Возможно ли переписать макрос так, чтобы Строка с "Подитогом" ставилась в конце намеченной печатной страницы, а не каждый раз после определённого кол-ва строк таблицы?