Copiar toda una fila a otra hoja si se aplica condición
a tod@s.
Hoy estaba intentando llevar acabó la siguiente macro en VBA.
Tengo un libro con dos hojas:
Hoja1 : Datos
Hoja2 : Finalizados
Hoja Datos, consta de columnas desde "A" hasta "R" y en toda la columna R tiene aplicado una Validación de datos modo "Lista" con la palabra "Done".
Hoja Finalizados consta de las mismas columnas que Hoja Datos pero sin la Validación de datos en modo "Lista".
Bien lo que necesitaría es que cuando en la Hoja Datos finalice de cubir todas las celdas y llegué a la última R y seleccione Done (en el desplegable que me sale), todo esa fila se copié en la Hoja Finalizados en la última fila que tenga libre y en la Hoja de Datos no quede una línea en blanco dónde estaba esa fila.
Es decir que la selección de la celda R con la opción Done sea el desencadenante de mover toda esa fila a la última fila libre de la hoja Finalizados y que en la hoja Datos no se vean las líneas vacías que deja esa fila movida.
Así consigo saber qué tengo pendiente por terminar y tambien poder consultar las que ya finalicé si me hiciera falta
También tengo que decir que la hoja Datos nunca tiene unas determinadas tareas ya que según me salen más las voy metiendo así que necesitaría que la macro estuviera implementada para todas las filas hoy puedo tener 10 filas mañana 25 y así...
Agregó el cutre código que me salió y no me vale de mucho puesto que lo tengo que activar mediante botón y aún por encima me lo copia en la hoja Finalizados pero me sobreescribir lo que ya estaba pasado. Vamos una basura que no me vale por eso pido ayuda.
Sub mover()
Dim LastRow As String
LastRow = ActiveSheet.Range ("A" & Rows.Count).End(xlUp).Row
x = 2
For i = 2 To LastRow
Sheets("Datos").Activate
If Cells (I, "R").Value = "DONE" Then
Range(Cells(I, "A"), Cells (I, "R")).Cut
Sheets("Finalizados"). Activate
Cells(x, "A").Select
ActiveSheet.Paste
X = x + 1
End if
Next
End sub
Cómo dije no le hagáis mucho caso ya que quería que me sirviera de apaño pero ni eso.