Random Excel Tip: Always Available Paste Special…Values
By Tim Wilson on in Excel with 6 Comments
For a variety of reasons, I find myself using Excel (2003) through remote desktop fairly regularly these days, and I just haven’t gotten around to setting up some of the basics that I’ve got set up on my main system. The big one is my setup of <Ctrl>-<Shift>-<V> as Paste Special»Values.There are scads of “Excel Tips”-type sites and blogs, and I’m not putting myself out there as an expert. Really, just looking to share one of my handy favorites with my readers, who are mostly somewhere within a standard deviation or two of my Excel skill level and might find this useful.
Backing up just a little bit. Paste Special is really, really nice to have when you need it. Specifically, pasting values, formats, formulas…and occasionally Transpose. But…mostly (for me) pasting values. When I’ve got a well-formatted table of data and need to move some data around, it’s just annoying to need to then go and fix the formatting. So, pasting formulas only or values only avoids all that. The problem is that the fastest way to do this is:
- Copy the cell(s) you want to relocate (<Ctrl>-<C>)
- Right-click anon the cell in the new location
- Select Paste Special
- Select Values
- Click OK
All in all, not too painful…unless you find yourself needing to do it two or three times in a row (between separate workbooks, for instance).
This got annoying enough to me a several years ago that I recorded a macro and dropped it in Personal.xls so that I’d have a faster way to do this. It’s now the first thing I set up on any new computer I get.
The Result: After copying cells (this doesn’t work with cutting data), simply click on the cell where you want the values pasted and press <Ctrl>-<Shift>-<V>. That’s it.
How to Set It Up
This may look like a real hassle. It really isn’t (those four years as a technical writer tend to make my procedure writing a bit…er…detailed). But, it’s a one-time setup, and it really isn’t that bad.
If you’ve read this far and aren’t thinking, “MAN! That would be HANDY!” then just bail now. Otherwise, read on:
- Launch Excel 2003
- Select Window»Unhide
- Select Personal.xls
- Select Tools»Macros»Visual Basic Editor. This should bring up the VBA editor
- Select Insert»Module
- Copy and paste the following into the window:
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
- Click on the X to close the Visual Basic Editor (you don’t need to save anything yet). You should be back on the Personal.xls workbook
- Select Tools»Macro»Macros
- Select PasteSpecial_Values
- Click Options
- Click in the Shortcut key box
- Press <Shift>-<V>
- Click OK
- Click the X to close the Macros window
- Press <Ctrl>-<S> to save Personal.xls
- Select Window»Hide to hide Personal.xls
- Close Excel. If you are prompted to save Personal.xls, do so.
You should be set. Let me know if you give it a shot and find it useful (and if you hit any bumps in implementing it).