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: Pasting without Updating References.
As you are working on a worksheet, copying and moving information from one place to another, you may wonder if there is a way to copy or move a selection without Excel changing all the references within the selection. The answer, of course, is that it depends. (Don't you just love that about Excel?) Let's take a look at how you can both copy and move selections in Excel.
If you are copying a selection, then Excel will update all relative references within the selection when you paste it. The solution is to make sure that all the references within the selection are absolute before doing the copy and paste. Making the changes to the formulas by hand is tedious. You can use the following macro to convert all the formulas in the selection to their absolute equivalent:
Sub ConvertToAbsolute()
Dim c As Variant
Application.ScreenUpdating = False
For Each c In Selection
c.Value = Application.ConvertFormula(c.Formula, _
xlA1, , xlAbsolute)
Next c
Application.ScreenUpdating = True
End Sub
Once this macro is run, you can copy and paste the selection without Excel doing any updating to references. Once the pasting is done, you can change the references in the selection (and in the original range, if it still exists) by selecting the range and applying this macro:
Sub ConvertToRelative()
Dim c As Variant
Application.ScreenUpdating = False
For Each c In Selection
c.Value = Application.ConvertFormula(c.Formula, _
xlA1, , xlRelative, c)
Next c
Application.ScreenUpdating = True
End Sub
This macro will change all formulas in the selected range to their relative equivalent. Remember that this will affect all formulas—which means that if the formulas in the range contained both relative and absolute references, then they will all be relative when this macro is done.
If you are moving a selection, then Excel does not update cell references in the move. You can move either by selecting the range and using the keyboard (pressing Ctrl+X to cut and then Ctrl+V to paste the selection) or the mouse (dragging the selection to a new location). In either case, Excel leaves the references in the selection exactly the same—relative or not—without updating.
So far I have discussed what Excel does with the references in the selection being copied or moved. What about references to the information in the selection? If you are copying, then Excel leaves references pointing to the original range. If you are moving a selection, then Excel updates references to that selection, regardless of whether they are relative or absolute. If you don't want the information updated during a move, then the solution is to make a copy of the range and then delete the original.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (11804) 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: Pasting without Updating References.
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!
AutoComplete can help you to more quickly enter information in a worksheet. How it works, behind the scenes, can affect ...
Discover MoreTo reduce the chances of confusion in presenting data, some people like to use zeroes with slashes through them. If you ...
Discover MoreSelect a range of cells, and one of those cells will always be the starting point for the range. This tip explains how to ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2016-04-05 04:36:25
Gerhard
What about using ASAP Utilities? Works for me (here too)
2016-04-05 03:38:14
Henri
I often use "replace"(Ctrl-H) for this.
Just replace the "="-character in the formulas to be copied by an unused string (zzz or something). All formulas are converted into text.
Copy the text-formulas to the desired destination and replace the "zzz" by an "="
2016-04-02 12:50:01
Mike
If you copy the formula while in edit mode, press enter, then paste the results to the desired destination; it will be exactly like the original, including relative and absolute references.
Of course this only works for one cell at a time.
2016-04-02 10:39:49
I had occasion to make several copies of a 9 x 9 cell block when devising a spread-sheet to do the 'drudge' bit of Sudoku. I needed the cell references to be unchanged in the copies, but other parts of the formulae were to be amended.
I found a simple way: I Copied the block around 20 columns across. (This of course amended the cell references, but see later). I then Moved the result down by a suitable number of rows. (Moving does not alter the cell references, as we know).
Finally I 'Copied back' the moved block of cells the same number of Columns as at first had been copied across, which restored the cell references to match the originals.
Obviously the rows and the columns in the above description can be interchanged.
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.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2020 Sharon Parq Associates, Inc.
Comments