엑셀에서 허용하는 거의 끝까지 데이터가 있습니다... 아주 방대해요.. 근데 이걸 100열씩 끊어서 인쇄해야합니다. 페이지 나누기 미리보기로 하면 100열보다 넘쳐서 매100열마다 패이지 나누기를 해줘야 합니다. 옵션으로 한번에 100열씩 페이지를 나누는 방법은 없을까요?
저는 저 쓰는 소수의 기능밖에는 모릅니다만.
각 항목의 이름이 있겠죠?
셀의 높이가 같으면, 반복되는 행을 지정하는 옵션이 있습니다.
그게 페이지 맨 윗주에 자동으로 인쇄가 되구요.
미리보기에서 페이지 설정하는 것을 보면,
페이지 높이랑 여백을 조정해서 100열에 맞추면 원하시는 대로 출력이 될 겁니다.
축소/확대 비율로 조절을 하셔도 되구요.
Sub PrintAreaWithpageBreaks()
Dim pages As Integer
Dim pageBegin As String
Dim PrArea As String
Dim i As Integer
Dim q As Integer
Dim nRows As Integer, nPagebreaks As Integer
Dim R As Range
Set R = ActiveSheet.UsedRange
\'add pagebreak every 40 rows
nRows = R.Rows.Count
If nRows > 40 Then
nPagebreaks = Int(nRows / 40)
For i = 1 To nPagebreaks
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=R.Cells(40 * i + 1, 1)
Next i
End If
\'can be used in a separate macro, as I Start counting the number of pagebreaks
\' pages = ActiveSheet.HPageBreaks.Count
\' pageBegin = \"$A$1\"
\' For i = 1 To pages
\' If i > 1 Then pageBegin = ActiveSheet.HPageBreaks(i - 1).Location.Address
\' q = ActiveSheet.HPageBreaks(i).Location.Row - 1
\' PrArea = pageBegin & \":\" & \"$H$\" & Trim$(Str$(q))
\' ActiveSheet.PageSetup.PrintArea = PrArea
\' \' the cell in column 1 and in the row immediately below the pagebreak
\' \' contains text for the footer
\' ActiveSheet.PageSetup.CenterFooter = Cells(q, 1)
\' \' ActiveSheet.PrintOut copies:=1
\' Next i
End Sub
각 항목의 이름이 있겠죠?
셀의 높이가 같으면, 반복되는 행을 지정하는 옵션이 있습니다.
그게 페이지 맨 윗주에 자동으로 인쇄가 되구요.
미리보기에서 페이지 설정하는 것을 보면,
페이지 높이랑 여백을 조정해서 100열에 맞추면 원하시는 대로 출력이 될 겁니다.
축소/확대 비율로 조절을 하셔도 되구요.
말씀해주신대로 해봤는데 디테일한 부분에서는 한줄씩 밀리네요 ㅠㅠ
결국 한페이지씩 하기로 했습니다 흑..
한번 해보세요.
파일-인쇄영역-인쇄영역설정
Dim pages As Integer
Dim pageBegin As String
Dim PrArea As String
Dim i As Integer
Dim q As Integer
Dim nRows As Integer, nPagebreaks As Integer
Dim R As Range
Set R = ActiveSheet.UsedRange
\'add pagebreak every 40 rows
nRows = R.Rows.Count
If nRows > 40 Then
nPagebreaks = Int(nRows / 40)
For i = 1 To nPagebreaks
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=R.Cells(40 * i + 1, 1)
Next i
End If
\'can be used in a separate macro, as I Start counting the number of pagebreaks
\' pages = ActiveSheet.HPageBreaks.Count
\' pageBegin = \"$A$1\"
\' For i = 1 To pages
\' If i > 1 Then pageBegin = ActiveSheet.HPageBreaks(i - 1).Location.Address
\' q = ActiveSheet.HPageBreaks(i).Location.Row - 1
\' PrArea = pageBegin & \":\" & \"$H$\" & Trim$(Str$(q))
\' ActiveSheet.PageSetup.PrintArea = PrArea
\' \' the cell in column 1 and in the row immediately below the pagebreak
\' \' contains text for the footer
\' ActiveSheet.PageSetup.CenterFooter = Cells(q, 1)
\' \' ActiveSheet.PrintOut copies:=1
\' Next i
End Sub
#########################
http://www.ozgrid.com/Excel/excel-page-breaks.htm target=_blank>http://www.ozgrid.com/Excel/excel-page-breaks.htm
#########################
원하시는게 이게 맞는지..