2013/11/23

【VBA】印刷範囲の開始行(列)と最終行(列)を取得する

   Excelの印刷範囲を取得するためには「WorkSheet.PageSetup.PrintArea」を使用する。


印刷範囲の取得



 下図のような印刷設定のとき、「ActiceSheet.PageSetup.PrintArea」を使うと、
$C$4:$H$10」という値が返ってくる。


 
 このPrintAreaを使用すれば印刷範囲が設定されているかがわかる。
If ActiveSheet.PageSetup.PrintArea = vbNullString Then
    MsgBox "印刷設定がされていません。"
End If



印刷範囲の開始行(列)と最終行(列)を取得する




 開始行(列)と最終行(列)は、PrintAreaをセルの範囲としRange()の引数に渡すことで取得することができる。

開始行、最終行の取得


Dim startRow As Long
Dim lastRow As Long

With Range(ActiveSheet.PageSetup.PrintArea)
    startRow = .Rows.Row
    lastRow = startRow + .Rows.Count - 1
End With


開始列、最終列の取得


Dim startCol As Long
Dim lastCol As Long

With Range(ActiveSheet.PageSetup.PrintArea)
    startCol = .Columns.Column
    lastCol = startCol + .Columns.Count - 1
End With




以上

0 件のコメント :

コメントを投稿