MyTetra Share
Делитесь знаниями!
'================= изменение границ печати
Время создания: 16.03.2019 23:43
Текстовые метки: границы печати, PrintArea, excel, sheet, переключение видов
Раздел: !Закладки - VBA - Excel - Листы

'=====================================================================================

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




Так же в этом разделе:
 
MyTetra Share v.0.53
Яндекс индекс цитирования