Trasladar filas entre hojas de excel bajo una condició

Hola experto. La cosa es la siguiente. Tengo un libro de excel con varias hojas, y la tercera almacena la evolución de una instalación. Cada fila es una instalación distinta (y por tanto un cliente distinto), y cada columna consigna la fecha en que se realizó determinada tarea correspondiente a cada instalación. Una de esas columnas, la final, establece la fecha de termino de la instalación al completo.
Pero ahora viene la cuestión. Hay veces en que la instalación se queda a medias porque aparece algún problema con el cliente asociado. En esos casos, en la última celda de esa fila, en vez de aparecer una fecha, aparece la palabra "BAJA".
Lo que yo quiero saber es cómo hacer lo siguiente: cuando aparezca la palabra BAJA en esa celda quiero cortar toda la fila (de manera que el cliente desaparece de esa hoja), y copiar cierto rango de celdas de esa fila hasta otra hoja, llamada "Bajas", donde se irán almacenando todos los datos de las instalaciones que cumplen esa condición.
¿Es posible?
Gracias.
Respuesta
1
Supondré para este macro que en el rango C2:C300 es donde puede aparecer la palabra BAJA
Este código debe ir en la hoja donde cambiara la palabra a BAJA
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C2:C300")) Is Nothing Then
Exit Sub
Else
Call datos
End If
End Sub
Y esto debes colocarlo en un modulo aparte
Sub datos()
If ActiveCell.Offset(-1, 0) = "BAJA" Then
ActiveCell.Offset(-1, 0).Select
Selection.EntireRow.Copy
Sheets("Bajas").Select
Range("A65000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Else
End If
End Sub
Nota: Al modificar el valor debes dar enter para el buen funcionamiento del macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas