所有
我有以下代码:
Sub PrintFinalMTO()
Dim lastrow As Long
lastrow = Range("J" & Rows.count).End(xlUp).Row
With ActiveSheet.PageSetup
.PrintArea = Range("$B$5:$M" & lastrow)
.Orientation = xlLandscape
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
ActiveSheet.PrintPreview
End With
End Sub
运行宏时,打印预览包含范围(A1:M),而不是从B5开始。该表扩展到M列,但最后一行在J列中有一个值。除了B5以外的行,打印范围是正确的。
非常感谢您对此问题的任何帮助。谢谢
答案 0 :(得分:1)
我认为.PrintArea
期待一个范围地址。我刚检查了PageSetup.PrintArea Property (Excel):这似乎证实了我的信念。
你能放:
.PrintArea = ActiveSheet.Range("$B$5:$M" & lastrow).Address
从我给出的链接:
此示例将打印区域设置为Sheet1上的当前区域。注意 您使用Address属性返回A1样式的地址。
Worksheets("Sheet1").Activate
ActiveSheet.PageSetup.PrintArea = ActiveCell.CurrentRegion.Address