office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

Excel VBA 代碼動態設置打印區域

2017-07-11 18:01:00
zstmtony
原創
2918

在Excel中設置打印區域,相信很多網友都會,按下圖所示操作即可:


  VBA設置打印區域.jpg 


但如何用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


摘自:Excel技巧

分享
北京十一选五基本走势