
Tips.Net > ExcelTips Home > Data Entry > Moving Data > Pasting Without Updating References
Summary: Do you need to paste formulas without updating the references in whatever you are pasting? You can accomplish this, depending on what you are pasting and where you are pasting it. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)
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, of course, 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, when this macro is done, they will all be relative.
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.
Tip #2033 applies to Microsoft Excel versions: 97 2000 2002 2003 2007
Save Time! You can have this tip (and several hundred just like it) in the ExcelTips annual archives. Imagine having over 400 tips available at your fingertips, in each annual volume.
Have thousands of ExcelTips at your fingertips, on your own system. Answer your own questions or help support others. (more information...)
Ask an Excel Question
Make a Comment
ExcelTips FAQ
ExcelTips Premium
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Pet Tips
Word2007 Tips
WordTips
Advertise on the
ExcelTips Site