excel利用VBA设置或取消打印区域
时间:2023-08-03 16:21:58
如果需要用VBA代码在Excel工作表中设置打印区域,可以用下面的方法。
一、设置打印区域
方法一:
用PageSetup.PrintArea属性。代码如下:
Sub SetPrintArea()
Sheet1.PageSetup.PrintArea = "A1:F15"
End Sub
上述代码将区域A1:F15设置为打印区域。如果要同时设置多个打印区域,可以将上述代码改为:
Sub SetPrintArea()
Sheet1.PageSetup.PrintArea = "A1:F15,A20:F45"
End Sub
上述代码将区域A1:F15及A20:F45设置为打印区域,可以分两页来打印。
还可以使用变量来设置一个动态打印区域:
Sub SetPrintArea()
PrintRow = 100
Sheet1.PageSetup.PrintArea = "A1:G" & PrintRow
End Sub
通过改变变量PrintRow的值来设置不同的打印区域。
方法二:
用Names.Add方法。当在Excel中设置一个区域为打印区域后,Excel自动定义了一个名称“Print_Area",因而可以通过定义名称的方法来设置打印区域,代码如下:
Sub SetPrintArea()
Sheet1.Names.Add "Print_Area", Sheet1.Range("B2:G12")
End Sub
设置动态打印区域:
Sub SetPrintArea()
Sheet1.Names.Add "Print_Area", Sheet1.Range("B2").Resize(12, 8)
End Sub
上述代码将B2:I13区域设置为打印区域,通过改变Resize(12, 8)的参数来调整打印区域的大小。
二、取消打印区域
将PageSetup.PrintArea属性设置为空:
Sub ClearPrintArea()
Sheet1.PageSetup.PrintArea = "" '空字符串
End Sub
或删除已定义的“Print_Area”名称:
Sub ClearPrintArea()
On Error Resume Next
Sheet1.Names("Print_Area").Delete
On Error GoTo 0
End Sub