I use Excel to crunch numbers, so I usually don't want to copy the formatting along with the text. But this is the default. Is there a way to default to always match destination formatting when pasting into Excel?
Can't set the default, but more convenient than fiddling with the paste options after each paste:
If you press the Backspace or F2 key before pasting text it will paste the text only, retaining the existing formatting.
I wonder why this works?
I don't believe there is a way to change the default. However, what I've found very convenient is to add the "Paste Formulas" button (which will automatically keep the destination formatting) to the Quick Access Toolbar. To do this:
- right click on the Quick Access Toolbar (the area in the top left with the Save, Undo and Redo buttons)
- click "Customize Quick Access Toolbar..."
- in the "Choose commands from:" dropdown menu, select "All Commands"
- scroll down to "Paste Formulas" and double click on it
- click OK
Now when you copy a cell or range, you can just use Alt+4 (assuming the new button is the fourth in the Quick Access Toolbar) to paste wherever you want and keep the destination formatting.
Paste with ctrl+V then hit ctrl to open a one key menu with formatting options. By default the letter is V to set the pasted information to the destination cell's former/proper formatting.
A little weird that the ctrl+V and ctrl, then V have such disparate effects, but nonetheless to past and keep the destination formatting:
Copy cell or range of cells, paste to new locations using ctrl+V like you would to move the source formatting, then hit ctrl then V to select a change from the current source formatting into the destination formatting.
ctrl+V, then ctrl, then V. a much quicker method than point and click.
In addition to my answer above, there is one more way to achieve this.
Go to File > Options > Quick Access Toolbar.
Select "Paste and keep source formatting", then "Add" the same. You can also use the positioning arrows to position this option to the top. Advantage of this is, you can use the shortcut ALT+1 shortcut:
According to the MSDN Excel PasteType reference, there is no "paste-matching-destination-theme", although you could paste just the values or formulas.
Similar to the instructions found here, you could add a macro to override the CTRL+V behaviour.
The steps are as follows (embellished slightly from the source page):
- press ALT+F11 to open the Microsoft Visual Basic for Applications window
select Insert > Module from the menu, and paste the following code in the Module Window:
Sub PasteAsValue() Selection.PasteSpecial Paste:=xlPasteValues End Sub
- (optional) rename the module (in the lower left Properties pane)
- close the window (click the "X" button at top right)
- press ALT+F8 to open the Macro dialog box
- select the "PasteAsValue" macro (or whatever name the macro created in step #2 has) and click the "Options..." button
- in the Macro Options dialog box, type "v" in the box, and (optionally) any description
- click the "OK" button to commit the changes and exit the Macro Options dialog box
- click the "Cancel" button to exit the Macro dialog box (and avoid running and any macros)
- save the Excel spreadsheet (Excel will throw a warning if the spreadsheet is not already an
.xlsm"Macro-enabled spreadsheet" - click "No" to have Excel prompt for a different file name and file type to save as)
This is another work-around I have found, if you can switch from Excel to Google Sheets:
- Ctrl-Shift-V: Paste values only
I just double-checked, and Excel 2016 doesn't have this shortcut yet (by default).