|
|||||||
'================= изменение границ печати
Время создания: 16.03.2019 23:43
Текстовые метки: границы печати, PrintArea, excel, sheet, переключение видов
Раздел: Разные закладки - VBA - Excel - Листы
Запись: xintrea/mytetra_db_adgaver_new/master/base/1516869482cm95ra8lxe/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
'===================================================================================== ActiveSheet.ResetAllPageBreaks Sub ssd() r = Int(Range(ActiveSheet.PageSetup.PrintArea).Rows.Count / 62) c = Int(Range(ActiveSheet.PageSetup.PrintArea).Columns.Count / 12) For i = 1 To r Set ActiveSheet.HPageBreaks(i).Location = Range("A" & i * 62 + 1) Next i For i = 1 To c Set ActiveSheet.VPageBreaks(i).Location = Cells(1, i * 12 + 1) Next i End Sub '===================================================================================== 'http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=94289&MID=s 'У меня так отработало. Пришлось переключение видов делать, иначе не обновлялось положение разбивки листа Sub PrintW() With ActiveSheet.PageSetup .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1000 End With 'переключение видов ActiveWindow.View = xlPageLayoutView ActiveWindow.View = xlPageBreakPreview End Sub http://www.sql.ru/forum/630682/razmetka-stranicy Set XL = CreateObject("Excel.Application") XL.Visible = True Set XLS = XL.Workbooks.Open("C:\BSPр.xls") Set mysheet = XLS.Worksheets("Sheet2") XL.ActiveWindow.view = 2 mysheet.VPageBreaks(1).DragOff Direction:=-4161, RegionIndex:=1 XL.ActiveWindow.view = 1 '===================================================================================== 'http://www.vbnet.ru/forum/show.aspx?id=131936 ____ Первое, что сразу приходит в голову — проверить номера строк. — ____ Номер строки, следующей за последним разрывом: ActiveSheet.HPageBreaks(ActiveSheet.HPageBreaks.Count).Location.EntireRow.Row ____ Номер последней строки диапазона данных: ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row Спасибо, такая лазейка проходит. Только номер строки, следующей за последним разрывом определяется: ActiveSheet.HPageBreaks(ActiveSheet.HPageBreaks.Count).Location.Row, а не: ActiveSheet.HPageBreaks(ActiveSheet.HPageBreaks.Count).Location.EntireRow.Row '===================================================================================== 'https://forum.msexcel.ru/index.php?topic=11214.0 Можно макросом Код: [Выделить] Sub PageBreak() r = Int(Range(ActiveSheet.PageSetup.PrintArea).Rows.Count / 62) For i = 1 To r Set ActiveSheet.HPageBreaks(i).Location = Range("A" & i * 62 + 1) Next i End Sub * qr.xls (150.5 КБ - загружено 7 раз.) Добавляем ещё цикл для столбцов Код: [Выделить] Sub PageBreak() r = Int(Range(ActiveSheet.PageSetup.PrintArea).Rows.Count / 62) c = Int(Range(ActiveSheet.PageSetup.PrintArea).Columns.Count / 12) For i = 1 To r Set ActiveSheet.HPageBreaks(i).Location = Range("A" & i * 62 + 1) Next i For i = 1 To c Set ActiveSheet.VPageBreaks(i).Location = Cells(1, i * 12 + 1) Next i End Sub |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|