¿Cómo mover una fila completa a otra hoja basada en el valor de una celda en Excel?
Para mover una fila completa a otra hoja basada en el valor de una celda, este artículo te ayudará.
Mover una fila completa a otra hoja basada en el valor de una celda con código VBA
Mover una fila completa a otra hoja basada en el valor de una celda con Kutools para Excel
Mover una fila completa a otra hoja basada en el valor de una celda con código VBA
Como se muestra en la captura de pantalla a continuación, necesitas mover la fila completa de Hoja1 a Hoja2 si existe una palabra específica “Done” en la columna C. Puedes probar el siguiente código VBA.
1. Presiona simultáneamente las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haz clic en Insertar > Módulo. Luego copia y pega el siguiente código VBA en la ventana.
Código VBA 1: Mover una fila completa a otra hoja basada en el valor de una celda
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Done" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Nota: En el código, Hoja1 es la hoja de trabajo que contiene la fila que deseas mover. Y Hoja2 es la hoja de destino donde ubicarás la fila. “C:C” es la columna que contiene cierto valor, y la palabra “Done” es el valor específico según el cual moverás la fila. Por favor, cámbialos según tus necesidades.
3. Presiona la tecla F5 para ejecutar el código, luego la fila que cumpla con los criterios en Hoja1 se moverá inmediatamente a Hoja2.
Nota: El código VBA anterior eliminará las filas de los datos originales después de moverlas a una hoja de trabajo especificada. Si solo quieres copiar filas basadas en el valor de una celda en lugar de eliminarlas, aplica el siguiente código VBA 2.
Código VBA 2: Copiar una fila completa a otra hoja basada en el valor de una celda
Sub MoveRowBasedOnCellValue()
'Updated by Extendoffice 2017/11/10
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Mover una fila completa a otra hoja basada en el valor de una celda con Kutools para Excel
Si eres nuevo en el código VBA, aquí te presento la utilidad Seleccionar Celdas Específicas de Kutools para Excel. Con esta utilidad, puedes seleccionar fácilmente todas las filas basadas en un determinado valor de celda o diferentes valores de celda en una hoja de trabajo, y luego copiar las filas seleccionadas a la hoja de trabajo de destino según sea necesario. Haz lo siguiente.
1. Selecciona la lista de columnas que contiene el valor de celda según el cual moverás las filas, luego haz clic en Kutools > Seleccionar > Seleccionar Celdas Específicas. Ver captura de pantalla:
2. En el cuadro de diálogo Seleccionar Celdas Específicas que aparece, selecciona Fila completa en la sección Tipo de selección, selecciona Igual en la lista desplegable Tipo específico, introduce el valor de la celda en el cuadro de texto y luego haz clic en el botón Aceptar.
Otro cuadro de diálogo Seleccionar Celdas Específicas aparecerá para mostrarte el número de filas seleccionadas, y al mismo tiempo, todas las filas que contienen el valor especificado en la columna seleccionada habrán sido seleccionadas. Ver captura de pantalla:
3. Presiona las teclas Ctrl + C para copiar las filas seleccionadas, y luego péguelas en la hoja de trabajo de destino que necesites.
Nota: Si deseas mover filas a otra hoja de trabajo basada en dos valores de celda diferentes. Por ejemplo, mover filas basadas en valores de celda ya sea "Done" o "Processing", puedes habilitar la condición Or en el cuadro de diálogo Seleccionar Celdas Específicas como se muestra en la siguiente captura de pantalla:
Si desea tener una prueba gratuita (30-día) de esta utilidad, haga clic para descargarla y luego vaya a aplicar la operación siguiendo los pasos anteriores.
Artículos relacionados:
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!