USING IRONXL

How to Move Rows in Excel

Excel has been one of the most popular forms of data manipulation for many years, with millions of computer users employing this spreadsheet every day for work or personal accounting needs. It is available for over 1.4 billion Windows-based PCs, which translates to about 45% of the world's population. Excel is a powerful tool for data analysis, back-and-forth editing, sorting, filtering, pivot tables, and charts. It is also one of the most popular tools in the business world with over four million people actively using it every day. Column and row headers, column letters, and row numbers are principal features of Excel spreadsheets. Using column letters and row numbers, you can address any cell — the main element in Excel.

The popularity of Excel among businesses has created an environment where there are several expensive editions to choose from that offer more features and financial analysis, including the "Professional" edition. This version of Excel is typically used in business settings where the functionality enables higher levels of data analysis, advanced graphing capabilities, and coordination with third-party applications. Excel is a spreadsheet program with a Microsoft Word-like interface that allows users to create and analyze data using formulas.

Let's take a look at how we can move rows or columns in Excel.

Move an entire row in Microsoft Excel

We can move rows or selected cells in Microsoft Excel. There are several methods to do this. Let's suppose we have these rows in Microsoft Excel and that we need to move a row. We can now examine how to get this done.

Drag and drop

How to Move Rows in Excel, Figure 1: Original data rows in Excel
Original data rows in Excel

Follow the following steps to move the row:

  • Select the row that you want to move.
  • Hold the Shift Key and take your cursor to the corner of the selected row. An icon of 4 sides will pop up.

How to Move Rows in Excel, Figure 2: Moving data using drag and drop
Moving data using drag and drop

  • Click on the edge (with the left mouse button) while still holding the Shift key.
  • Move it to the row where you want this row to be shifted.
  • When you see a bold line at the bottom of the row, release the mouse button. After that, release the Shift key too. It is important to keep the Shift key pressed until the last moment.

These steps can be followed for selected cells too. If you want to move the entire column, you can select the entire column and then follow the same steps.

Cut and paste method

The cut-and-paste method is an easy method for moving rows and columns. You can do it without the drag-and-drop method, and without inserting a new row or new column. Follow the steps to move an entire row or multiple adjacent rows in Excel.

  • Select the row or multiple rows to be moved in Microsoft Excel.
  • Press the Ctrl key and simultaneously press the X key to cut the selected row. (Ctrl + X)

How to Move Rows in Excel, Figure 3: Cutting the selected row
Cutting the selected row

  • Now go to the row where you want to move the row.
  • Right-click on the row in Excel and from the right-click menu, select the insert cut cells option.

How to Move Rows in Excel, Figure 4: Pasting a row from the right-click menu
Pasting a row from the right-click menu

  • It will paste the selected row and the other row will move upward.

How to Move Rows in Excel, Figure 5: The result after the cut-and-paste method
The result after the cut-and-paste method

Using this method, it becomes very easy to move entire rows or columns in Excel. You can move columns too by following the same technique. Simply select columns and all operations will be performed on the selected column.

IronXL: C# Excel Library

IronXL is a .NET C# Excel Library for developers to edit and save Excel files. It has been designed to help developers quickly create, edit, and save Excel files without the need for Microsoft Excel to be installed.

The IronXL Excel library has been designed for .NET C# developers to edit and save Excel files without having Microsoft Excel installed on their machines. The IronXL Excel library is a powerful tool that can be used by any developer who needs to work with Excel spreadsheets in their projects. The IronXL Library includes many features that are not found in the standard Microsoft Excel libraries. These include:

  • Visualization of data tables with column filtering, sorting, and grouping capabilities
  • Data validation functionality
  • Data extraction from an existing spreadsheet into a new one
  • Interactive charts with customizations such as color schemes, titles, axis labels, etc.
  • Ability to export charts as images or PDF files
  • Customizable pivot tables for displaying complex datasets

Here is the code to add a row at the first position in the Excel file:

using IronXL;

static void Main(string[] args)
{
    // Load the Excel file
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Start from the last row and prepare to push all rows down by one
    int j = ws.Rows.Count() + 1;

    // Shift all existing rows down by one and set new row at the top
    for (int i = 1; i <= ws.Rows.Count(); i++)
    {
        // If reached the first position, insert new row
        if (j == 0)
        {
            ws.Rows[0].Value = "new row";
            break;
        }

        // Assign values from row j to row (j + 1)
        ws["A" + (j + 1)].Value = ws["A" + j].Value;
        ws["B" + (j + 1)].Value = ws["B" + j].Value;
        ws["C" + (j + 1)].Value = ws["C" + j].Value;
        ws["D" + (j + 1)].Value = ws["D" + j].Value;
        ws["E" + (j + 1)].Value = ws["E" + j].Value;

        // Move to the previous row
        j = j - 1;
    }

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{
    // Load the Excel file
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Start from the last row and prepare to push all rows down by one
    int j = ws.Rows.Count() + 1;

    // Shift all existing rows down by one and set new row at the top
    for (int i = 1; i <= ws.Rows.Count(); i++)
    {
        // If reached the first position, insert new row
        if (j == 0)
        {
            ws.Rows[0].Value = "new row";
            break;
        }

        // Assign values from row j to row (j + 1)
        ws["A" + (j + 1)].Value = ws["A" + j].Value;
        ws["B" + (j + 1)].Value = ws["B" + j].Value;
        ws["C" + (j + 1)].Value = ws["C" + j].Value;
        ws["D" + (j + 1)].Value = ws["D" + j].Value;
        ws["E" + (j + 1)].Value = ws["E" + j].Value;

        // Move to the previous row
        j = j - 1;
    }

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Load the Excel file
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

	' Get the worksheet named "Sheet1"
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Start from the last row and prepare to push all rows down by one
	Dim j As Integer = ws.Rows.Count() + 1

	' Shift all existing rows down by one and set new row at the top
	For i As Integer = 1 To ws.Rows.Count()
		' If reached the first position, insert new row
		If j = 0 Then
			ws.Rows(0).Value = "new row"
			Exit For
		End If

		' Assign values from row j to row (j + 1)
		ws("A" & (j + 1)).Value = ws("A" & j).Value
		ws("B" & (j + 1)).Value = ws("B" & j).Value
		ws("C" & (j + 1)).Value = ws("C" & j).Value
		ws("D" & (j + 1)).Value = ws("D" & j).Value
		ws("E" & (j + 1)).Value = ws("E" & j).Value

		' Move to the previous row
		j = j - 1
	Next i

	' Save the changes to the Excel file
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

This code will move the rows down and a new row will be placed at the first position of the document. The for loop will be moving all rows down and adding the new row data at the first position. We can add the rows at the end of the document too. Let's take a look at how we can do it:

using IronXL;

static void Main(string[] args)
{
    // Load the Excel file
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Determine the new row number, just after the last current row
    int i = ws.Rows.Count() + 1;

    // Add a new row with specific values at the end
    ws["A" + i].Value = "New Row";
    ws["B" + i].Value = "New Row";
    ws["C" + i].Value = "New Row";
    ws["D" + i].Value = "New Row";
    ws["E" + i].Value = "New Row";

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{
    // Load the Excel file
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Determine the new row number, just after the last current row
    int i = ws.Rows.Count() + 1;

    // Add a new row with specific values at the end
    ws["A" + i].Value = "New Row";
    ws["B" + i].Value = "New Row";
    ws["C" + i].Value = "New Row";
    ws["D" + i].Value = "New Row";
    ws["E" + i].Value = "New Row";

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Load the Excel file
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

	' Get the worksheet named "Sheet1"
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Determine the new row number, just after the last current row
	Dim i As Integer = ws.Rows.Count() + 1

	' Add a new row with specific values at the end
	ws("A" & i).Value = "New Row"
	ws("B" & i).Value = "New Row"
	ws("C" & i).Value = "New Row"
	ws("D" & i).Value = "New Row"
	ws("E" & i).Value = "New Row"

	' Save the changes to the Excel file
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

This code will add the new row at the bottom of the document. You can see more details on how to add a new row in our how-to pages.

IronXL has a variety of pricing plans. You can even get a free trial — the IronXL free trial can be activated without any payment or card information. However, IronXL is free for development. Visit our licensing page for more information.

Frequently Asked Questions

How can I move a row in Excel using drag and drop?

To move a row using drag and drop, select the row, hold the Shift key, and drag the row to the desired location. Release the mouse button and then the Shift key.

What is the cut and paste method for moving rows in Excel?

Select the row, press Ctrl + X to cut, navigate to the destination row, right-click and choose 'Insert Cut Cells' to move the row.

Can I move columns in Excel using the same methods as rows?

Yes, you can move columns in Excel using the same drag and drop or cut and paste methods as you would for rows.

What is IronXL?

IronXL is a .NET C# Excel library that allows developers to create, edit, and save Excel files without needing Microsoft Excel installed.

How do I add a row at the first position using IronXL?

Use a loop to shift all existing rows down by one and insert the new row at the top using IronXL's C# methods.

Is it possible to add a new row at the end of an Excel file using IronXL?

Yes, you can add a new row at the end of an Excel file by determining the row number after the last current row and using IronXL to set values for the new row.

What are some features of the IronXL library?

IronXL offers features like data visualization, data validation, data extraction, interactive charts, and customizable pivot tables.

Can IronXL be used for free?

IronXL offers a free trial and is free for development purposes. Licensing information is available on their official page.

Regan Pun
Software Engineer
Regan graduated from the University of Reading, with a BA in Electronic Engineering. Before joining Iron Software, his previous job roles had him laser-focused on single tasks; and what he most enjoys at Iron Software is the spectrum of work he gets to undertake, whether it’s adding value to sales, technical support, product development or marketing. He enjoys understanding the way developers are using the Iron Software library, and using that knowledge to continually improve documentation and develop the products.
< PREVIOUS
Datatable to Excel in C# (Code Example Tutorial)
NEXT >
How to Highlight Every Other Row in Excel