PrintArea:
Another recommendation before printing your data into paper or any digital format. If you set a print area in Excel, only that area will be printed. The print area is saved when you save the workbook. Followings are the steps that you need to perform to set print area before executing print else entire output would be messed.
- Select the area that you want to print
- Select Page Layout ribbon tab
- Click on Print Area dropdown button (please refer screen shot below)
- Choose Set Print Area
- The selection will tun withing dashed boundary

Let’s do some code around to set print area or clear print area in C#, VB.Net and VBA (Visual Basic for Applications)
Prerequisites:
- Visual Studio 2015 or above having Microsoft Office for Developer Tool installed
- Create Excel Addin in style (Visual Studio Tools for Office)
- Create a ribbon designer and put button
C# code example Set Print Area:
private void btnSetPrintArea_Click(object sender, RibbonControlEventArgs e) { //reference active sheet excel.Worksheet oWorksheet = Globals.ThisAddIn.Application.ActiveSheet; //retain user selection excel.Range oRange = Globals.ThisAddIn.Application.Selection; //get Page Setup object reference excel.PageSetup oPageSetup = oWorksheet.PageSetup; //Set print area oPageSetup.PrintArea = oRange.Address; }
C# code example Clear Print Area:
private void btnClearPrintArea_Click(object sender, RibbonControlEventArgs e) { //reference active sheet excel.Worksheet oWorksheet = Globals.ThisAddIn.Application.ActiveSheet; //retain user selection excel.Range oRange = Globals.ThisAddIn.Application.Selection; //get Page Setup object reference excel.PageSetup oPageSetup = oWorksheet.PageSetup; //Set print area oPageSetup.PrintArea = string.Empty; }
VB.Net code example Set Print Area:
Private Sub setPrintArea_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click 'Bind worksheet object reference Dim oWorkSheet as excel.Worksheet oWorkSheet = Globals.ThisAddIn.Application.ActiveSheet 'Bind Range object from selection Dim oRange As excel.Range oRange=Globals.ThisAddIn.Application.Selection 'Get pagesetup object Dim oPageSetup As excel.PageSetup oPageSetup=oWorkSheet.PageSetup 'set print area oPageSetup.PrintArea=oRange.Address() End Sub
VB.Net code example Clear Print Area:
Private Sub clearPrintArea_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click 'Bind worksheet object reference Dim oWorkSheet as excel.Worksheet oWorkSheet = Globals.ThisAddIn.Application.ActiveSheet 'Bind Range object from selection Dim oRange As excel.Range oRange=Globals.ThisAddIn.Application.Selection 'Get pagesetup object Dim oPageSetup As excel.PageSetup oPageSetup=oWorkSheet.PageSetup 'set print area oPageSetup.PrintArea=String.Empty End Sub
VBA code example Set Print Area:
Public Sub SetPrintArea() 'get active sheet reference Dim oWorkSheet As Worksheet Set oWorkSheet = ActiveWorkbook.ActiveSheet 'get PageSetup reference Dim oPageSetup As PageSetup Set oPageSetup = oWorkSheet.PageSetup 'Change paper size oPageSetup.PrintArea = Selection.Address End Sub
VBA code example Clear Print Area:
Public Sub ClearPrintArea() 'get active sheet reference Dim oWorkSheet As Worksheet Set oWorkSheet = ActiveWorkbook.ActiveSheet 'get PageSetup reference Dim oPageSetup As PageSetup Set oPageSetup = oWorkSheet.PageSetup 'Change paper size oPageSetup.PrintArea = "" End Sub