How to quickly swap contents of two cells in Excel?

When we are handling a worksheet, we may need to swap the contents of two cells sometimes. Normally most of us just know “to cut, paste and copy” for swapping the contents, but it’s time-consuming. We are going to talk about how to quickly swap contents in cells in Excel.

Manually swap two adjoining cell contents

Swap two nonadjacent cell contents with VBA code

Swap two random cell contents with Kutools for Excel

Kutools for Excel: add 120 new features in Excel. Save one hour every day.
Classic Menu for Office: brings back classic menus to Office 2010 and 2013 (includes Office 365).
Office Tab: brings tabbed interface to Office as the use of web browser Chrome, Firefox and Internet Explorer.

arrow blue right bubble Manually swap two adjoining cell contents

Amazing! Using Tabs in Excel like Firefox, Chrome, Internet Explore 10!

Sometimes, there are two adjoining cells need to be swapped. We can manually do it easily. Look at the following screenshot, I want to swap cell A4 and B4, please do as follows:


1. Select the cell you want to swap. In this example, select cell A4.

2. Press Shift key, and put the cursor at the right border.

3. Then drag the cursor to the right border of cell B4.

4. When there displays “”, release the mouse.

5. And the two cell contents have been swapped. See screenshot:


With this method, we can also swap two adjoining rows or columns.

arrow blue right bubble Swap two nonadjacent cell contents with VBA code

When the two cells are nonadjacent, the above method will not work. We can swap them with VBA code.

1. Press the Ctrl key and select the two nonadjacent cells you want to swap.

2. Click Developer>Visual Basic, a new Microsoft Visual Basic for applications window will be displayed, click Insert>Module, and input the following code into the Module:

Sub SwapTwoRange()
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 doc-multiply-calculation-3 button to run the code, then a dialog is displayed for you to select the two cells you want to swap between. See screenshots:

4. Click Ok in the popped-up dialog, the two selected cells are swapped. See screenshots:

Notes: This VBA code can’t swap the formatting of the two cells.

arrow blue right bubble Swap two random cell contents with Kutools for Excel

With Kutools for Excel, we not only can swap two adjoining cells, rows or columns, but also can switch two nonadjacent cells, rows or columns.

Kutools for Excel: with more than 120 handy Excel add-ins, free to try with no limitation in 30 days. Get it Now.

After installing Kutools for Excel, you can do as the following steps:

1. Click Kutools > Range Converter > Swap Ranges, see screenshot:


2. In the Swap Ranges dialog box,click the first doc-replace-range-names-7 button from Swap Range 1 to select the cell that you like to swap, and then click the second doc-replace-range-names-7 button from Swap Range 2 to select the cell is swapped with. See screenshot:


3. Then click OK, and the two ranges have been swapped. See screenshots:


If you want to know more about this feature, please visit Swap Ranges.

Related article:

How to swap rows or columns in Excel?

Kutools for Excel

More than 120 Advanced Functions for Excel 2013, 2010, 2007 and Office 365.

screen shot

btn read more     btn download     btn purchase


0#Teresa Griffith2014-08-24 12:14
You could just cut (non-adjacent) Cell A into an unoccupied cell, paste required cell B into that space then put A into the cell B formerly occupied couldn't you?
Reply | Reply with quote | Quote
0#Sreejith2014-08-27 07:06
Thank you for the information!!!
Reply | Reply with quote | Quote

Add comment

Security code