| 
    
     |  | またしても質問なのですが・・。 
 Excelのシートを一つの印刷ページに入れようとすると、
 シートに書き込まれているデータが多い場合は、
 データが縮小されて、印刷紙の左上に小さく印刷されます。
 
 これでは見にくいので改ページさせたいセル位置をきめて
 (例えば50,80,130など)
 そこに改ページをいれようとしました。
 データをシートにコピーすると自動的に改ページが書き込まれますので
 まず、その改ページを解除して、手動改ページを挿入しようとしているのですが
 やはり 印刷した場合に縮小され、印刷紙の左上に小さく印刷されて
 具合が悪いです。
 余白の設定を行えばよいのでしょうか??
 
 自分が作成したコードは冗長で、あまり良いコードだと思えません。
 上記のことをうまく実現するロジック等、教えていただけませんでしょうか。
 
 
 Private Sub setpgBreak()
 
 Set Ex = CreateObject("Excel.Application")
 Set exNWBOOK = Ex.WorkBook.Open "D:\test.xls"
 
 With exNWBOOK.Worksheets(1)
 '改ページプレビュー表示
 Ex.Windows(1).View = xlPageBreakPreview
 'シートのすべてを印刷範囲に設定する
 .PageSetup.PrintArea = ""
 
 'すべての改ページを解除
 .ResetAllPageBreaks
 
 'シートの垂直な改ページを解除
 For Each vPgBreak In .VPageBreaks
 vPgBreak.DragOff Direction:=xlToRight, RegionIndex:=1
 Next
 
 On Error Resume Next
 'シートの水平な改ページを解除
 For Each hPgBreak In .HPageBreaks
 hPgBreak.DragOff Direction:=xlDown, RegionIndex:=1
 
 If Err Then
 '↓ココで、「アプリケーション定義エラー」が発生する
 Debug.Print Err.Description
 End If
 Next
 
 '改ページ設定
 arrPgBreakRow = Array(50,80,120,155)
 For i = 0 To UBound(arrPgBreakRow)
 .HPageBreaks.Add Before:=Cells(arrPgBreakRow(i), 1)
 Next
 End With
 
 Set exNWBOOK = Nothing
 Set Ex = Nothing
 
 End Sub
 
 |  |