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

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

在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技巧

分享