Excel: keyboard shortcut to move (swap) column left or right?

Is there a way to move a column (or row) to the left using only the keyboard? I known I can use ctrl-space (shift-space) to select a column (row), but how to move it to the left or right, actually swapping position with the column to its left or right?

(I am using Excel 2007)


Solution 1:

If you're not set on using the keyboard only, highlight the column, either by Ctrl+Space or clicking on the column header. Then press and hold down the Shift key. In some environments you may see the selection box (border) around the column change to an I-bar. Then you can drag the column to the left or right (using the mouse) and it will move the column there without overwriting data or leaving a blank column.

This also works with rows, and with ranges of columns or rows. The I-bar changes to horizontal or vertical as you move the range, and separates the columns or rows where it will move the range to.

To summarize:

  • Ctrl+Space to select the source column(s).
  • Hold down Shift while you drag the column(s).

Solution 2:

Best I can come up with is something like this (note, this works in Excel 2003 - might not work in 07/10, but you've haven't indicated which version you are using):

Ctrl + Space to select the source col.

Ctrl + X to cut the col.

Left Arrow or Right Arrow to move to the column you want to move the selected column to the left of.

Crtl + Space to select the target col.

Crtl + + to insert the cut cells (with thanks to variant for that useful comment!).

I'm thinking that AutoHotkey or a short macro might be a good way to achieve this.
It should be easy to record a quick Excel macro using the above set of commands, just make sure "Relative Reference" is on.