工作表有100行,约150列。
在任何给定的时间,只有20/40是可见的。
CTRL+ UP for rows = 100 (row)
Ctrl+LEFT = CS (column)
是否有一种方法VBA设置打印区域只为可见的行。列?
我不能算出动态名称范围打印区域功能,但提前谢谢你。
Worksheets("Sheet1").PageSetup.PrintArea = Range("B:H").Address
这是一个相邻的集合打印区域,范围是A1:到最后一个有可见数据的行/列
提前谢谢你。
试试这个:
看看我如何找到最后一列和行,然后构建范围
Public Sub PrintRange()
Dim targetSheet As Worksheet
Set targetSheet = ThisWorkbook.Worksheets("Sheet1")
Dim lastRow As Long
lastRow = targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row
Dim lastColumn As Long
lastColumn = targetSheet.Cells(1, targetSheet.Columns.Count).End(xlToLeft).Column
Dim printRange As Range
Set printRange = targetSheet.Range("A1", targetSheet.Cells(lastRow, lastColumn))
targetSheet.PageSetup.PrintArea = printRange.Address
End Sub