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

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.


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).

To move a single cell or row or column do the following:

  • Select the cell(s)
  • Type Ctrl+X
  • Move to the new location
  • Do one of the following:
    • Type Enter or Ctrl+V, or
    • Press the ≣ (Menu) key (which may be between the Windows and Ctrl keys on some keyboards, or press Shift+F10 if the key is not available), and select "Insert Cut Cells".

The cells will be inserted to the left or above the selection.