Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Non-Printing Controls.

Non-Printing Controls

by Allen Wyatt
(last updated April 27, 2018)


Excel allows you to place some special controls in your worksheet which can make it easier to input information. For instance, you can add a drop-down control that allows your user to select data from a given set that you have defined.

While these controls are handy, they can be distracting when it comes time to print your worksheet. They will print, but they take away from the other data you want people to focus upon in the printout.

As a solution, many people simply define print areas that don't include the cells over which the controls appear. For example, if the controls are placed over some cells in column B, you can define a print area that begins with column C. (Remember that the selections in a control can be assigned to any cell in the worksheet through the use of the Linked Cell property of the control. Thus, a change in the control results in a change in some value in a cell in the worksheet. This means that the appearance of the control is independent from the appearance of the data selected in the control.)

Another solution is to simply turn off the printing of the control. For instance, you could have the control appear over the top of cell C3, and the value of C3 is linked to the control. You can then follow these steps to turn off printing of the control:

  1. Right-click on the control. Excel displays a Context menu.
  2. Choose Format Control from the Context menu. Excel displays the Control tab of the Format Control dialog box.
  3. Make sure the Properties tab is selected.
  4. Clear the Print Object check box.
  5. Click on OK.

If you prefer to work directly with the control's properties, you can follow these steps instead:

  1. Right-click on the control. Excel displays a Context menu.
  2. Choose Properties from the Context menu. Excel displays the Properties dialog box for the control.
  3. Change the PrintObject property to False.
  4. Click on OK.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3081) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Non-Printing Controls.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...


Double Indenting

Indenting a paragraph is easy in Word. In fact, the program provides shortcut keys that make it a snap. Indenting from ...

Discover More

Excel Conditional Formatting (Special Offer)

Excel Conditional Formatting can show you how to format your worksheet data for maximum impact. Another way to ...

Discover More

Preventing Someone from Recreating a Protected Worksheet

When you share a protected workbook with other people, you may not want them to get around the protection by creating a ...

Discover More

Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!

More ExcelTips (menu)

Hiding Errors on Printouts

If there are error values in a worksheet, you may not want those error values to appear on a printout. Excel actually ...

Discover More

Speeding Up Printing

Changing a couple of the print settings in Excel can speed up the printing of your worksheets. This tip examines those ...

Discover More

Printing Only Selected Pages

When you print a worksheet, you don't need to print the whole thing. You can print only the pages you want. Here's how to ...

Discover More

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.


If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is five minus 0?

2017-06-22 17:03:26

David Warren

I am trying to insert an form control check box to have it print on a spreadsheet, but in printing the document the check box is not where I show it on the sheet... it's like a couple of rows down and to the right. .....?

2014-10-11 05:57:36


I had a similar situation regarding the sending out of Invoices. I wrote a macro to convert the relevant worksheet to a PDF (this is in-built in Excel 2007 onwards) then send it as an email attachment to the specified Client with pre-defined Subject, & Body Text.
[The macro also saves a copy of the invoice to the Customer file and makes an entry into the Sales Ledger].

This code snippet creates the PDF file:

shtInvoiceTemplate.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=fPath & fNewName & ".pdf", _
quality:=xlQualityStandard, _
includedocproperties:=False, _
ignoreprintareas:=False, _
To:=2, _

NB: shtInvoiceTemplate, fPAth, fNewName have been previously defined ShtINvoiceTemplate is as the name implies the worksheet which I as as the Invoice template, fPAth and FNewName are the path and filename of the PDF file to be created.

I then invoke the following sub routine to send the email. Note this expects that you are using Microsoft Outlook as your email Client.

Sub SendeMail(strTo As String, strSubject As String, strBody As String, Optional strCC As String, Optional strBCC As String, Optional strAttachment As String)
'Working in Excel 2003-2013
'strAttachment is the full filepath and filename as a string

Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
With OutMail
.To = strTo
.CC = strCC
.BCC = strBCC
.Subject = strSubject
.Body = strBody & BCSSig
.Attachments.Add (strAttachment)
.Send 'or use .Display
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub

2014-10-10 23:58:46


I have excel 2003. I know its old.
I need to email receipts to customer from a custom excel form. The Receipt is one tab or sheet of a multi-tab/sheet excel service file. I do not want to to email the whole file. Only one sheet of the file.
That sheet (only) also needs to be non-printable and locked read only. But the file is not read only and not locked.
I am not talking about "set print area".
So I got these tasks
1. Lock a single sheet in a file and/or set it to read only
2 Email it.

I am guessing I will have to copy/Paste the info into a separate file. then email it unless you have a better method.
I do have office 2010 if that helps. But i dislike it.
Let me know if you can help.

This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.

Newest Tips

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.