office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

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

微信交流群(請(qǐng)用微信掃碼)

        

Excel VBA 代碼動(dòng)態(tài)設(shè)置打印區(qū)域

2017-07-11 18:01:00
zstmtony
原創(chuàng)
16526

在Excel中設(shè)置打印區(qū)域,相信很多網(wǎng)友都會(huì),按下圖所示操作即可:


  VBA設(shè)置打印區(qū)域.jpg 


但如何用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 = 100
      Sheet1.PageSetup.PrintArea = "A1:G" & PrintRow
    End 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 Next
      Sheet1.Names("Print_Area").Delete
      On Error GoTo 0
    End Sub


摘自:Excel技巧

分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問