¿Cómo mover una fila completa al final de la hoja de cálculo actual según el valor de una celda en Excel?
En Excel, suele ser necesario reorganizar los datos según el estado o el valor de una columna específica. Por ejemplo, tras hacer un seguimiento del progreso de tareas, es posible que quiera mover al final de la hoja todas las filas cuyo estado sea «Done», dejando las tareas activas o en curso en la parte superior. Trasladar automáticamente toda la fila en función del valor de una celda puede simplificar la gestión de su hoja, resaltar prioridades y ayudarle a centrarse con eficacia en los elementos pendientes.
Existen varias formas de lograrlo en Excel, como el uso de código VBA para automatizar la tarea o el aprovechamiento de fórmulas combinadas con la funcionalidad de ordenación integrada de Excel. Cada enfoque ofrece ventajas específicas y se adapta mejor a distintos escenarios. A continuación, le presentamos soluciones paso a paso para mover una fila completa al final de su hoja de cálculo activa según un valor determinado en una celda.
- Mover Fila completa al final de Hoja de Cálculo Actual según el valor de celda con código VBA
- Mover Fila completa al final mediante fórmulas de Excel y ordenación
Mover Fila completa al final de Hoja de Cálculo Actual según el valor de celda con código VBA
Supongamos que tiene una tabla en la que la columna C contiene un estado, como «Done», y desea que cualquier fila con «Done» en la columna C se traslade inmediatamente al final de su rango de datos. Esta solución VBA resulta especialmente útil si busca un proceso repetible y semiautomático que gestione cambios dinámicos en los datos sin necesidad de ordenación manual.

1. Pulse simultáneamente Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo. A continuación, copie y pegue el siguiente código VBA en la ventana.
Código VBA: Mover Fila completa al final de Hoja de Cálculo Actual según el valor de celda
Sub MoveToEnd()
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xEndRow As Long
Dim I As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
lOne:
Set xRg = Application.InputBox("Select range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Or xRg.Areas.Count > 1 Then
MsgBox " Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lOne
End If
xEndRow = xRg.Rows.Count + xRg.Row
Application.ScreenUpdating = False
For I = xRg.Rows.Count To 1 Step -1
If xRg.Cells(I) = "Done" Then
xRg.Cells(I).EntireRow.Cut
Rows(xEndRow).Insert Shift:=xlDown
End If
Next
Application.ScreenUpdating = True
End Sub Nota: En este código VBA, el valor específico al que se hace referencia es «Done». Puedes modificarlo en el código para que coincida con el valor que desees usar como disparador del movimiento de filas (por ejemplo, cámbialo por «Completed» u otro estado que se ajuste a tu flujo de trabajo). Asegúrate de que el valor coincida exactamente, incluyendo mayúsculas, minúsculas y espacios, o considera ajustar el código para que realice una comparación insensible a mayúsculas si fuera necesario.
3. Pulse la tecla F5 o haga clic en el botón Ejecutar para ejecutar el código. En el cuadro de diálogo emergente Kutools para Excel, seleccione el rango de columnas donde pueda aparecer el valor objetivo y, a continuación, haga clic en el botón Aceptar.

Tras confirmar, el código buscará automáticamente las filas con el valor «Done» en la columna seleccionada y las moverá al final de su rango de datos. Esta reorganización se realiza al instante, ahorrándole el tiempo que le llevaría ordenarlas o arrastrarlas manualmente.

Consejos:
- Si tiene encabezados, asegúrese de no incluirlos en la selección cuando se le solicite, para evitar desplazar la fila de encabezado.
- Este script de VBA solo afecta a la hoja de cálculo activa en este momento. Si necesita aplicarlo en varias hojas, repita el proceso en cada una.
- Si sus datos incluyen fórmulas o celdas vinculadas, mover filas podría modificar las referencias. Revise cuidadosamente su hoja de cálculo tras ejecutar la macro para asegurar la integridad de los datos.
Este método VBA destaca en situaciones donde debe procesar regularmente un gran número de filas, especialmente cuando la ordenación manual resulta ineficiente. No obstante, si prefiere una solución sin macros o desea trabajar directamente con fórmulas y las herramientas estándar de Excel, considere el siguiente enfoque.

Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Mover Fila completa al final mediante fórmulas de Excel y ordenación
Para usuarios que prefieran evitar el uso de macros o busquen un enfoque más transparente y basado en fórmulas para gestionar sus datos, es posible lograr el mismo efecto mediante columnas auxiliares y la funcionalidad de ordenación integrada de Excel. Este método resulta especialmente útil en entornos colaborativos o en archivos destinados a compartirse con otras personas que puedan tener restricciones de seguridad que limiten el uso de macros.
1. Inserte una nueva columna auxiliar a la derecha o izquierda de sus datos existentes. Por ejemplo, si los encabezados de sus datos están en la fila 1, los valores comienzan en la fila 2 y el estado se encuentra en la columna C, inserte una nueva columna D y asígnele la etiqueta «SortKey» o un nombre similar.
2. En la primera celda de la columna auxiliar (excluyendo el encabezado, por ejemplo, D2), introduce la siguiente fórmula:
=IF(C2="Done",1,0) Esta fórmula asigna 1 a las filas en las que la columna C sea «Done» y 0 al resto.
3. Pulse Intro para confirmar la fórmula y, a continuación, cópiela hacia abajo en todas las filas de sus datos. Simplemente arrastre el controlador de relleno desde D2 hasta la última fila de sus datos o haga doble clic en el controlador de relleno para rellenar automáticamente si la columna adyacente está rellena.
4. Seleccione cualquier celda de su rango de datos y, desde la Cinta de opciones de Excel, vaya a la pestaña Datos y haga clic en Ordenar.
5. En el cuadro de diálogo Ordenar, selecciona la columna auxiliar («SortKey») en el menú desplegable «Ordenar por» y elige el orden De menor a mayor. Así, todas las filas marcadas como «Done» (con valor 1) quedarán en la parte inferior, y el resto (con valor 0), en la parte superior.
6. Haga clic en Aceptar para aplicar la ordenación. Sus datos quedarán ahora reorganizados de modo que todas las entradas completadas o con estado «Done» aparezcan al final de la tabla.
Explicación de parámetros y consejos:
- Puede reemplazar «Done» en la fórmula por cualquier otro indicador de estado relevante para su hoja (por ejemplo, «Completed» o «Inactive»). Asegúrese de que la ortografía coincida exactamente con la de sus datos.
- Si desea mover filas con varios valores (por ejemplo, tanto «Done» como «Canceled»), utilice una fórmula como:
=IF(OR(C2="Done",C2="Canceled"),1,0) - Para invertir el efecto (es decir, que las filas con «Done» aparezcan en la parte superior), ordene en orden De mayor a menor o intercambie 0 y 1 en la fórmula.
Este enfoque no elimina ni oculta ninguna fila y conserva intacta la estructura de sus datos. Es ideal para colaborar con otros, garantiza compatibilidad entre distintas versiones de Excel y evita posibles problemas con archivos habilitados para macros.
Artículos relacionados:
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos