
Excel利用VBA設(shè)置或取消打印區(qū)域
如果需要用VBA代碼在Excel工作表中設(shè)置打印區(qū)域,可以用下面的方法。
一、設(shè)置打印區(qū)域
方法一:
用PageSetup.PrintArea屬性。代碼如下:
Sub SetPrintArea()Sheet1.PageSetup.PrintArea = "A1:F15"End Sub
上述代碼將區(qū)域A1:F15設(shè)置為打印區(qū)域。如果要同時(shí)設(shè)置多個(gè)打印區(qū)域,可以將上述代碼改為:
Sub SetPrintArea()Sheet1.PageSetup.PrintArea = "A1:F15,A20:F45"End Sub
上述代碼將區(qū)域A1:F15及A20:F45設(shè)置為打印區(qū)域,可以分兩頁來打印。
還可以使用變量來設(shè)置一個(gè)動(dòng)態(tài)打印區(qū)域:
Sub SetPrintArea()PrintRow = 100Sheet1.PageSetup.PrintArea = "A1:G" & PrintRowEnd Sub
通過改變變量PrintRow的值來設(shè)置不同的打印區(qū)域。
方法二:
用Names.Add方法。當(dāng)在Excel中設(shè)置一個(gè)區(qū)域?yàn)榇蛴^(qū)域后,Excel自動(dòng)定義了一個(gè)名稱“Print_Area",因而可以通過定義名稱的方法來設(shè)置打印區(qū)域,代碼如下:
Sub SetPrintArea()Sheet1.Names.Add "Print_Area", Sheet1.Range("B2:G12")End Sub
設(shè)置動(dòng)態(tài)打印區(qū)域:
Sub SetPrintArea()Sheet1.Names.Add "Print_Area", Sheet1.Range("B2").Resize(12, 8)End Sub
上述代碼將B2:I13區(qū)域設(shè)置為打印區(qū)域,通過改變Resize(12, 8)的參數(shù)來調(diào)整打印區(qū)域的大小。
二、取消打印區(qū)域
將PageSetup.PrintArea屬性設(shè)置為空:
Sub ClearPrintArea()Sheet1.PageSetup.PrintArea = "" ‘空字符串End Sub
或刪除已定義的“Print_Area”名稱:
Sub ClearPrintArea()On Error Resume NextSheet1.Names("Print_Area").DeleteOn Error GoTo 0End Sub

