Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, and 2016. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Creating a Copy without Formulas.

Creating a Copy without Formulas

by Allen Wyatt
(last updated September 17, 2016)

5

John knows how to create a copy of a worksheet, but he needs to create a copy that uses only static values, not values based on formulas. He wonders if there is a quick way to make a copy (perhaps with a macro) that maintains all formatting and column widths, but has all formulas replaced with their results. For the work John does this would be very helpful in sending out worksheets to individuals outside his organization.

This task is rather easy to accomplish, with or without a macro. If you want to do it without a macro, follow these steps:

  1. Right-click on the worksheet tab of the worksheet you want to copy. Excel displays a Context menu.
  2. Choose Move or Copy Sheet from the Context menu. Excel displays the Move or Copy dialog box. (See Figure 1.)
  3. Figure 1. The Move or Copy dialog box.

  4. Check the Create a Copy check box.
  5. Using the To Book pull-down list, choose New Book.
  6. Click OK. Excel copies the worksheet to a new workbook.
  7. Make sure the newly created workbook is the one displayed.
  8. Select all the cells in the worksheet by pressing Ctrl+A.
  9. Copy all the cells to the Clipboard by pressing Ctrl+C.
  10. Display the Home tab of the ribbon.
  11. Click the down-arrow under the Paste tool. Excel displays some different ways you can paste information.
  12. Choose the Values option; it looks like an icon that has 123 on it.

That's it. Your newly created worksheet doesn't contain any formulas, only the results of the formulas in the original worksheet. If you prefer to use a macro-based approach, it only takes a few lines of code:

Sub CopyWorksheetValues()
    ActiveSheet.Copy
    Cells.Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End Sub

Of course, if you want to distribute only the results of your worksheet, you might consider simply printing a PDF file and then distributing it. The added benefit is that your recipients don't need to have Excel to view it. The downside is that if your worksheet is very large, a PDF file can be rather unwieldy.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12382) applies to Microsoft Excel 2007, 2010, 2013, and 2016. You can find a version of this tip for the older menu interface of Excel here: Creating a Copy without Formulas.

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. ...

MORE FROM ALLEN

Jumping To a Specific Page

Want to jump to a specific printed page within a worksheet? It's not as easy as you might think, but here's some techniques ...

Discover More

Protect Your Document Templates

If you want to protect your templates from accidental changes, the best way to do so is by using Windows instead of Word. ...

Discover More

Editing Word's Built-in Commands

Want to configure Word to do just what you want it to? You can even go so far as to change the actual way in which Word ...

Discover More

Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!

More ExcelTips (ribbon)

Referencing a Worksheet Name

Excel provides ways to reference the column or row number of a cell, but it doesn't provide a built-in way to reference a ...

Discover More

Testing for an Empty Worksheet

If you are using a macro to process a number of worksheets, you may have a need to know if the worksheet is empty or not. ...

Discover More

Selecting All Visible Worksheets in a Macro

Do you need your macro to select all the visible worksheets (and just the visible ones)? It's not as easy as it sounds, but ...

Discover More
Subscribe

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

View most recent newsletter.

Comments

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 7 - 0?

2017-09-13 11:33:05

Eva

I have Excel 2016 I have done the move copy past values and all the formatting goes away. I have tried copying to clipboard but it gives an error message that states "We can't make this change for the selected cells because it will affect a PivotTable. I am trying to replace the pivot table in the new workbook so as to remove the link to the original file. I want a version that I can email out without the links. Can anyone assist me with this issue?


2017-07-10 10:39:06

Dennis Costello

In response to the concerns raised by both Bob and Steve Clark, a different approach may be in order. While I use the "Create a copy <of this tab into a New Book>" facility all the time, in this case I would instead follow these steps:

Create a new workbook (Ctrl-N, for instance, will create a new workbook Book1.xls in my version of Excel). If you need it to be .xlsx - notably because you anticipate having more than 256 columns and/or 65,526 rows - create a new Book1.xlsx.

In the source workbook and worksheet, use Ctrl-A to select All the data. Ctrl-C copies it to the clipboard.

Shift to the new, destination workbook and worksheet, position at cell A1. Paste-Special-Values, either via the mechanism that Allen specified, or by Alt-E-S-V (I do this a lot, so I've memorized the Paste-Special shortcuts).

What you'll be missing in this approach is the formatting that was present in the source range, including row heights and column widths, and Defined Names, all of which Allen's approach would have implicitly copied over. If you need the formatting you can do a second Paste-Special - this time with Formatting (Alt-E-S-T - it's not Alt-E-S-F because that copies over the formulae, which of course you don't want). If you need to copy over the Column Widths, that's yet another Paste Special (Alt-E-S-W). I'm not aware that there's a way to carry over the row heights - oddly that isn't a Paste Special option, at least not in the versions of Excel I've used. But Autofit Row Height (Alt-O-R-A) will set all the rows to the minimum height to fit their contents properly - leaving empty rows unchanged.

Clearly if you need all the formatting, Allen's approach is better than mine - but if like Steve the target worksheet doesn't have the data you need, then my approach will win out.


2017-03-07 17:36:38

Steve Clark

Allen...Works well except for one thing...if the formulas make use of VB macros (functions), they come over to the new workbook with #NAME? errors. Is there any way to bring these cells over as values also?

Thank You,
Steve C.


2016-11-17 11:50:26

Bob

I did all of the above and it didn't work. :-(. My Excel worksheet was exported from MS Dynamics as a static worksheet as I want to be able to edit the data but I still can't seem to be able to edit it despite trying many different types of copy and pastes.


2016-11-01 02:41:24

bobby

I have a work book in which user enter data in one sheet and extracted (after formatting, and parsing -- a report if you will) in another sheet.
The extraction is done via a Macro, so the user only clicks a button after data entry and gets the report in a second workbook named by date.
My problem. I want to protect the extraction sheet (report) so that a user can't inadvertently or intentionally change the formulas that build the report. But when the Macro runs it hangs up on the protected sheet, spinning or crashes. When I use the Unprotect.Sheet command it requires the password (which I'd like to insert automatically) and after the extraction it doesn't re-protect the sheet again -- at least not the way I tried to do it (via Macros).
So what am I missing?

And yes I realize I may be taking advantage here, but I'm getting desperate.

Thank you for your time.


This Site

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

Newest Tips
Subscribe

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.