Written by Allen Wyatt (last updated December 18, 2021)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021
Henri would like to copy the data contained in a source cell to a destination cell without leaving the current position on the worksheet. In other words, he would like to copy from cell A1 to cell AE459 without leaving his current position at V104. He wonders if such an edit is even possible.
Of course, the obvious approach to this is to simply put the formula =A1 into cell AE459. Then, Excel takes care of making sure that the two cells are equal. You could also open a second window on the worksheet and take care of the copying within that window; the cell selected in the original window (cell V104) would remain unchanged.
If you actually want to do a "copy" operation, though, without opening a second window, then you'll need to resort to a macro.
Copying from one cell to another within a macro is rather easy. For instance, the following example will copy the contents of cell A1 to AE459 without affecting whatever cell you currently have selected:
Sub CopyCell1()
' Copy the cell value to destination cell
Range("AE459") = Range("A1")
End Sub
If you want to copy a formula that is in cell A1 to the destination, then you need to modify how the copy is done. Specifically, you need to use the Copy method using the destination range as a parameter.
Sub CopyCell2()
' Copy the relative formula to destination
Range("A1").Copy Range("AE459")
End Sub
Of course, a drawback of these macros is that they are static—they only copy from cell A1 to cell AE459. If your copying needs can vary, you may want to consider performing the task in the VB Editor's Immediate window. Just pop open the editor and type the single line from the appropriate macro into the window. The copying is then done and you can close the editor, all without affecting whatever cell you had selected.
Another way to provide a bit of flexibility into the source and destination for the macro is to have it (the macro) prompt the user for the source and destination. The following macro takes this approach.
Sub CopyCell3()
Dim SrceCell As String
Dim DestCell As String
SrceCell = InputBox("Copy From Cell ...")
DestCell = InputBox("Copy To Cell ...")
Range(DestCell) = Range(SrceCell)
End Sub
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9949) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and 2021.
Best-Selling VBA Tutorial for Beginners Take your Excel knowledge to the next level. With a little background in VBA programming, you can go well beyond basic spreadsheets and functions. Use macros to reduce errors, save time, and integrate with other Microsoft applications. Fully updated for the latest version of Office 365. Check out Microsoft 365 Excel VBA Programming For Dummies today!
There are many different ways you may need to enter data in a worksheet. For instance, you might want to enter data in ...
Discover MoreNeed to limit the number of characters that can be entered into a cell? One easy way to do it is through the use of Data ...
Discover MoreImporting data into Excel that was generated in other programs can have some interesting side effects. For instance, you ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
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 © 2025 Sharon Parq Associates, Inc.
Comments