>>746
印刷範囲(ActiveSheet.PageSetup.PrintArea)が設定されている前提で
dim printrange, lastRow

' 現在の印刷範囲のRangeオブジェクトを得る
set printrange = ActiveSheet.Range(ActiveSheet.PageSetup.PrintArea)
' 実際の最終行を得る
lastRow = ActiveSheet.Cells(printrange.Row, printrange.Column).SpecialCells(xlLastCell).Row
'最終行を変更したRangeオブジェクトのAddressを印刷範囲に設定する
ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range(ActiveSheet.Cells(printrange.Row, printrange.Column), ActiveSheet.Cells(lastRow, printrange.Column + printrange.Columns.Count - 1)).Address