Sunday, May 29, 2016

Excel Macro : Excel VBA code to Print the Sheet

By Admin Unknown  |  5:22:00 PM No comments

Hope you are doing well !! Thought of sharing a small VBA code to help you writing a code to print the Workbook, Worksheet, Cell Range, Chart etc. .PrintOut () Method is used to print any Excel Object.

Syntax of .PrintOut Method

YourObj.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)

Where:

  • YourObj (Required): It is a variable which represents your Object which you want to print. For example: Workbook, Worksheet, Chart etc.
  • From (Optional): Starting page number from which printing has to start. If this argument is omitted, printing starts from page 1.
  • To (Optional): End page number till which printing has to be done. If omitted, printing will be done till the last page.
  • Copies (Optional): This is the number of copies to be printed. If omitted, only one copy will be printed.
  • Preview (Optional): If passed as TRUE then Excel will invoke the print preview before printing the Object. If omitted, FALSE will be passed and hence excel will invoke the printing directly without showing the preview.
  • ActivePrinter (Optional): This sets the name of the active printer
  • PrintToFile (Optional): True is passed to print to a file. If it is not specified then user is prompt to enter an output file.
  • Collate (Optional): This is a Boolean type argument. TRUE is to collate multiple copies.
  • PrToFileName (Optional): If the above parameter PrintToFile is set to TRUE then you need to specify the name of the file you want to print to
  • IgnorePrintAreas (Optional): This is a Boolean type argument. If this argument is set to true then this function print the entire object.

Examples:

Based on above explanation and Syntax we will see examples of printing the Workbook, sheets, charts etc.

Example 1: VBA Statements to Print Objects with Default Options

1. VBA code to print ActiveWorkbook
  1. Function PrintActiveWorkbook()  
  2.       ActiveWorkbook.PrintOut  
  3. End Function  
2. VBA code to print Active Sheet
  1. Function PrintActiveSheet()  
  2.       ActiveSheet.PrintOut  
  3. End Function  
3. VBA code to print all WorkSheets
  1. Function PrintAllWorkSheets()  
  2.       WorkSheets.PrintOut  
  3. End Function  
4. VBA code to print a Single Sheet
  1. Function PrintOneSheet()  
  2.       Sheets("Sheet1").PrintOut 'Sheet1 is the name of the Sheet which you want to Print  
  3. End Function  
5. VBA code to print more than one Sheet
  1. Function PrintMultipleSheets()  
  2.       Sheets(Array("Sheet1" , "Sheet2""Sheet3").PrintOut   
  3. End Function  
6. VBA code to print Selected area of a Sheet
  1. Function PrintSelectedArea()  
  2.       Selection.PrintOut   
  3. End Function  
7. VBA code to print Range of Worksheet
  1. Function PrintRange()  
  2.       Range("A1:D5").PrintOut   
  3. End Function  
8. VBA code to print Excel Chart
  1. Function PrintChart()  
  2.       Sheets("Sheet1").ChartObjects("Chart1").Chart.PrintOut 'Chart1 is name of the Chart  
  3. End Function  
9. VBA code to print All Charts in a WorkSheet
  1. Function PrintAllChart()  
  2. Dim ExcelCharts As Object  
  3. Set ExcelCharts = Sheets("Sheet1").ChartObjects  
  4. For Each Chart In ExcelCharts  
  5.     Chart.Chart.PrintOut  
  6. Next  
  7. End Function  
10. VBA code to print All Charts in a Workbook
  1. Function PrintAllChart()  
  2.     Dim ExcelCharts As Object  
  3.     For Each Sheet In Sheets  
  4.         Set ExcelCharts = Sheet.ChartObjects  
  5.         For Each Chart In ExcelCharts  
  6.             Chart.Chart.PrintOut  
  7.         Next  
  8.         Set ExcelCharts = Nothing  
  9.     Next  
  10. End Function  

Example 2: VBA Statements to Print Objects with different parameters passed

1. VBA code to print From Page Number X to Page Number Y
  1. 'Below statement will print from Page No:2 to Page No:3  
  2. Worksheets("Sheet1").PrintOut From:=2, To:=3  
2. VBA code to print more than 1 Copy
  1. 'Below statement will print 3 copy of the Sheet1 from Page 2 to Page no: 3  
  2. Worksheets("Sheet1").PrintOut From:=2, To:=3, Copies:=3  
3. VBA code to Show Print Preview before actual printing
  1. 'Below statement will print 3 copy of the Sheet1 from Page 2 to Page no: 3  
  2. Worksheets("Sheet1").PrintOut From:=2, To:=3, Copies:=3, Preview:=True  



» Thanks for reading: Excel Macro : Excel VBA code to Print the Sheet
Author: Unknown

Jangan pernah takut sebelum mencobanya dan jangan pernah berhenti sebelum berhasil (KEDIA SOFT).

0 comments: