私が持っているもの
Excel 2007 ワークシート。同じブック内の複数のシートの範囲 A1:C48 (固定) の情報。
必要なもの
この選択範囲をレター サイズの用紙に通常の余白で印刷する必要があります。しかし、条件は、選択範囲の幅、つまり 3 列を 1 ページに合わせる必要があるということです。一定のフォント サイズを維持するには、列の幅を一定に保つ必要があります。これをVBAで実現したいと考えています。
これが私が試したコードです:
Sub printing()
Dim w1 As Single, w2 As Single, w3 As Single
Application.ScreenUpdating = False
w1 = 62
w2 = 24.71
w3 = 22.14
For i = 1 To ActiveWorkbook.Worksheets.Count
Worksheets(i).Activate
ActiveSheet.Columns(1).ColumnWidth = w1
ActiveSheet.Columns(2).ColumnWidth = w2
ActiveSheet.Columns(3).ColumnWidth = w3
ActiveSheet.Range("A1:C48").Select
With Worksheets(i).PageSetup
.PaperSize = xlPaperLetter
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.75)
.TopMargin = Application.InchesToPoints(1.5)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
End With
Next i
Application.ScreenUpdating = True
End Sub
これにより列のサイズが変更され、他のプロパティが設定されますが、改ページはそのままで、印刷しようとすると列4も含まれます。文字のサイズが変更されるため、改ページを手動でドラッグしたくありません。通常の余白のある便箋に収まるように列幅を設定したいと思います。
提案があれば本当に感謝します。