如何将打印区域设置为行和列中最后可见的文本?



工作表有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

最新更新