Saltar al pie de página
USANDO IRONXL

Cómo mover filas en 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.

Preguntas Frecuentes

¿Cómo puedo mover una fila programáticamente a una nueva posición en Excel?

Puedes usar los métodos C# de IronXL para seleccionar la fila que deseas mover y colocarla en una nueva posición. Esto se hace manipulando los objetos WorkBook y WorkSheet para reorganizar las filas.

¿Cuál es el proceso para mover filas manualmente en Excel?

Para mover filas manualmente en Excel, puedes usar el método de arrastrar y soltar seleccionando la fila, manteniendo presionada la tecla Shift y arrastrándola a la ubicación deseada. Alternativamente, usa el método de cortar y pegar presionando Ctrl + X e insertando las celdas cortadas en la nueva ubicación.

¿Puedo automatizar la manipulación de archivos de Excel sin instalar Excel?

Sí, IronXL te permite crear, editar y guardar archivos Excel programáticamente en C# sin necesidad de tener Microsoft Excel instalado, proporcionando una experiencia de automatización sin problemas.

¿Cómo puedo agregar una nueva fila a la parte superior de una hoja de Excel programáticamente?

Usando IronXL, puedes desplazar las filas existentes hacia abajo en una posición e insertar una nueva fila en la primera posición usando código C#, permitiendo la entrada de datos dinámica en la parte superior de tus hojas de Excel.

¿Es posible agregar una nueva fila al final de una hoja de Excel usando C#?

Sí, al determinar el número de la última fila, puedes usar IronXL para agregar una nueva fila al final de la hoja estableciendo valores para esta nueva fila usando código C#.

¿Cuáles son algunas características avanzadas de manipulación de datos disponibles con IronXL?

IronXL proporciona características avanzadas como visualización de datos, validación y extracción, así como la creación de gráficos interactivos y tablas dinámicas personalizables, todo accesible a través de programación en C#.

¿Cómo apoya IronXL a los desarrolladores con opciones gratuitas?

IronXL ofrece una prueba gratuita y permite uso gratuito para fines de desarrollo, con información detallada sobre licencias disponible en su sitio web oficial.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más