当前位置: 主页 > Office办公 > Excel专区 > Excel函数 > excel利用VBA设置或取消打印区域

excel利用VBA设置或取消打印区域

  • 2023-02-25
  • 来源/作者: Wps Office教程网/ 菜鸟图库
  • 275 次浏览

如果需要用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