Log in
x
or
x
x
Register
x

or
0
0
0
s2sdefault

How to swap rows or columns in Excel?

Sometimes, when we use a worksheet, we need to swap the rows or the columns. For example, I want to exchange column A with column D, the first thing that came to my mind is to use copy and paste command. In fact, except the copy and paste, there are some other methods to solve this problem.

Swap rows or columns with VBA code

swap rows or columns quickly and conveniently with Kutools for Excel


Swap rows / columns / cell contents of two ranges without losing cell formatting:

With Kutools for Excel’s Swap Ranges feature, you can swap two selected cell ranges as quickly as you can.

doc swap rows columns 02 02

Kutools for Excel: with more than 200 handy Excel add-ins, free to try with no limitation in 60 days. Download and free trial Now!


1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module Window.

Sub SwapTwoRange()
'Updateby20131113
Dim Rng1 As Range, Rng2 As Range
Dim arr1 As Variant, arr2 As Variant
xTitleId = "KutoolsforExcel"
Set Rng1 = Application.Selection
Set Rng1 = Application.InputBox("Range1:", xTitleId, Rng1.Address, Type:=8)
Set Rng2 = Application.InputBox("Range2:", xTitleId, Type:=8)
Application.ScreenUpdating = False
arr1 = Rng1.Value
arr2 = Rng2.Value
Rng1.Value = arr2
Rng2.Value = arr1
Application.ScreenUpdating = True
End Sub

3. Then click button to run the code, a dialog is popped out for you to select the two ranges you want to swap with, see screenshots:

doc swap rows columns 01 01
 1
doc swap rows columns 02 02

4. After clicking Ok, the two ranges are swapped. See screenshots:

doc swap rows columns 01 01  2 doc swap rows columns 02 02

The code may be are difficult for starters of Excel, is there a simple way to do it quickly and time-saving. Of course, Kutools for Excel can help you swap rows or columns quickly and comfortably.

Kutools for Excel : with more than 120 handy Excel add-ins, free to try with no limitation in 60 days

If you have installed Kutools for Excel, you can swap two columns or rows quickly.

1. Click Kutools > Range > Swap ranges,see screenshot:

doc swap rows columns 02 02

2. In the Swap Ranges dialog box, click  button from Swap Range 1 to select column A that you want to swap, and then click  button from Swap Range 2 to select column D.( Note: The ranges for swapping must be identical in the same size.)

doc swap rows columns 02 02

3. Then click OK. The two columns have been swapped and the cell formatting is swapped as well. See screenshots:

doc swap rows columns 01 01  2 doc swap rows columns 02 02

With this Swap Ranges utility, you are not only can swap rows or columns but also can swap contents of two ranges. Click here to know more about this feature.

Download and free trial Kutools for Excel Now !


Kutools for Excel: with more than 200 handy Excel add-ins, free to try with no limitation in 60 days. Download and free trial Now!


Related article:

How to quickly swap contents of two cells in Excel?


Recommended Productivity Tools

Office Tab

gold star1 Bring handy tabs to Excel and other Office software, just like Chrome, Firefox and new Internet Explorer.

Kutools for Excel

gold star1 Amazing! Increase your productivity in 5 minutes. Don't need any special skills, save two hours every day!

gold star1 200 New Features for Excel, Make Excel Much Easy and Powerful:

  • Merge Cell/Rows/Columns without Losing Data.
  • Combine and Consolidate Multiple Sheets and Workbooks.
  • Compare Ranges, Copy Multiple Ranges, Convert Text to Date, Unit and Currency Conversion.
  • Count by Colors, Paging Subtotals, Advanced Sort and Super Filter,
  • More Select/Insert/Delete/Text/Format/Link/Comment/Workbooks/Worksheets Tools...

Screen shot of Kutools for Excel

btn read more      btn download     btn purchase

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Akhil · 2 years ago
    Okk is there any way we can create a MACRO for it to do it fast bcz it won't be possible everytime to copy that code from somewhere and put it out there to Swap that Rows and Columns .
  • To post as a guest, your comment is unpublished.
    Winnie C · 2 years ago
    This has greatly helped. Thank you [http://cbps.uonbi.acke]For all science queries[/url]
  • To post as a guest, your comment is unpublished.
    Sean · 2 years ago
    or you can just hold the shift key and drag the column where you want it to go
  • To post as a guest, your comment is unpublished.
    Kinane · 2 years ago
    I've tried the VBA code solution.
    It seemed to work fine until now.
    In the range i swap, there is a URL cell (i.e. hyperlink). Although the swap looks ok, the hyperlinks are not updated. It still points to the URL of the original range.
    Is there any code patch to handle this?
    thank you.
  • To post as a guest, your comment is unpublished.
    richy · 2 years ago
    Learn how to spell. Ridiculous. Emial. Really?