If I want to paste without any formatting, I have to go to the "Paste" button on the ribbon and click "Paste Special" and then "unformatted text".
Is there a shortcut like Ctrl+V that'll automatically do that for me?
I don't think there is, but the good news is that you can make one by creating a macro.
Either record the macro, doing the paste the way you want to, then assign it to a keyboard shortcut, or put the following into a new macro (assuming you want to paste without formatting):
For MS Word 2010:
For MS Excel 2010:
ActiveSheet.PasteSpecial Format:="Unicode Text", Link:=False, _ DisplayAsIcon:=False, NoHTMLFormatting:=True
Again, once you've saved the Macro, you'll need to assign it to a keyboard shortcut (eg ctrl + m).
Addition: MS Word 2002:
Sub PastePlaintext() Selection.PasteSpecial Link:=False, DataType:=wdPasteText End Sub
On Word 2007 to 2013 on Windows, you can use Ctrl+Alt+V.
On Word 2011 for Mac, you can use Control+Command+V.
Both of these will bring up the "Paste Special" dialog. There's no shortcut directly for "Unformatted Text", but since you can use arrows to go to "Unformatted Text" and Enter to confirm, this is probably the fastest way without a macro.
I've just found out that in Word 2013 and Excel 2013 there is a quick way to access, from keyboard, all the "Paste Special" options. In the following examples it is just shown how to paste as text (without pasting the formats).
After having copied something go where you want to paste it (without pasting the format). CTRL+V (it will temporarily paste the format too) then CTRL (push and release the control key) then T (the last T means "keep text only").
After having copied something go where you want to paste it (without pasting the format). CTRL+V (it will temporarily paste the format too) then CTRL (push and release the control key) then V (the last V means "paste Values").
It's important that the second CTRL key is released before typing the last letter.
This method requires just 4 keyboard hits, no macros and no use of the mouse in a dialog window.
For Word, changing the default settings (as shown above) seems like a good option if the settings match what you want. For Excel, however, I would suggest using a right click instead.
There's a couple of significant problems with adding a macro.
1) It will be lost in new documents unless you modify the default template.
2) If you modify the default template and need to share your workbook, then the person getting the file will get a security warning.... which will likely freak them out.
The other keyboard options require a lot of keystrokes. In addition, if you're pasting from a web page, then Excel and Word will take a long time converting the HTML.
A right click will show the paste options, where you can select the plain text option.
I wish there was a keyboard shortcut built in, but right click seems the best alternative to me.
The function already exists, it just doesn't have a shortcut out of the box, but you can give it one.
In Word 2007-2013 (maybe earlier, don't remember), you can bind the keyboard shortcut of your choice to commands. In Word 2013 this is in
If the key combo is in use, underneath the "current keys" box, it tells you "Currently assigned to: xyz", where xyz is the command that already uses this shortcut. Then you can decide whether or not you want to stick w/your first choice (the shortcut will now invoke PasteTextOnly and no longer invoke xyz) or try to come up with another key combo.
To paste both objects and text in Excel, with an option for undo, use
' Custom data type for undoing Type SaveRange Val As Variant Addr As String End Type ' Stores info about current selection Public OldWorkbook As Workbook Public OldSheet As Worksheet Public OldSelection() As SaveRange '---------------------------------------------------------- Sub PasteValues() ' Set shortcut to Cntl+Shift+V, for example ' Works for Outlook and Chrome AND Excel ' Abort if a range isn't selected If TypeName(Selection) <> "Range" Then Exit Sub ' The next block of statements ' save the current values for undoing ReDim OldSelection(Selection.Count) Set OldWorkbook = ActiveWorkbook Set OldSheet = ActiveSheet i = 0 For Each cell In Selection i = i + 1 OldSelection(i).Addr = cell.Address OldSelection(i).Val = cell.Formula Next cell ' Start paste function On Error GoTo ValuesFail ' Works for Excel and Outlook, but not Chrome Selection.PasteSpecial Paste:=xlValues ' Specify the Undo Sub Application.OnUndo "Undo the macro", "UndoMacro" Exit Sub ValuesFail: On Error GoTo TextFail ' Works for Outlook and Chrome, but not Excel ActiveSheet.PasteSpecial Format:="Text" ' Specify the Undo Sub Application.OnUndo "Undo the macro", "UndoMacro" Exit Sub TextFail: On Error GoTo PasteFail ActiveSheet.Paste ' Specify the Undo Sub Application.OnUndo "Undo the macro", "UndoMacro" Exit Sub PasteFail: MsgBox "Complete Failure" End Sub '---------------------------------------------------------- Sub UndoMacro() ' Reinstates data in the selected range ' Tell user if a problem occurs On Error GoTo Problem Application.ScreenUpdating = False ' Make sure the correct workbook and sheet are active OldWorkbook.Activate OldSheet.Activate ' Restore the saved information For i = 1 To UBound(OldSelection) Range(OldSelection(i).Addr).Formula = OldSelection(i).Val Next i Exit Sub ' Error handler Problem: MsgBox "Can't undo macro" End Sub '---------------------------------------------------------- Sub RevertFile() ' From http://www.excelforum.com/showthread.php?t=491103 wkname = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name ActiveWorkbook.Close Savechanges:=False Workbooks.Open Filename:=wkname End Sub