Cortar datos de una hoja excel y pegarla en otra si cumplen una condición

Buen día, tengo un libro con dos hojas, una llamada 'compras' y la otra 'recepcionado', este libro tiene una macro que va a un programa y revisa cada línea de 'compras', saca datos desde este programa y completa las filas. En uno de los campos, si el elemento comprado es recepcionado por el usuario, la macro escribe 'recibido'. Yo necesito una macro que corte todas las filas que digan 'recibido' y la lleven a la hoja 'recepcionado'. Los datos se deben ir acumulando, por lo que necesito que la macro pegue los datos en la primera fila que encuentre vacía y que la planilla 'compras' se ordene, es decir, que no queden filas saltadas. Les agradecería mucho si me pueden ayudar. Saludos,

1 Respuesta

Respuesta
1

Te mando mi solución y sigue mi ejemplo:

-Tengo en la hoja compras todos los datos y en la columna E es donde están las palabras recibido y otras distintas.

-Los datos empiezan desde la fila 2 hacia abajo

-Tenemos la hoja recepcionado creada y en blanco

-Ejecuta esta macro y hará lo que solicitas y podrás usarlo de forma indefinida para acumular.

Sub informe()
'por luismondelo
Sheets("compras").Select
Range("e2").Select
Do While ActiveCell.Value <> ""
If ucase(ActiveCell.Value) = "RECIBIDO" Then
ActiveCell.EntireRow.Cut Destination:=Sheets("recepcionado").Range("a65000").End(xlUp).Offset(1, 0)
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub

recuerda finalizar y puntuar

La probé, pero me muestra un error, se para en s2 (que es la columna que tengo definida) y dice run time error '1004' Application-defined or object-defined error. Favor tu ayuda...gracias.

Acabo de probar mi ejemplo y funciona perfectamente. Tendría que ver tu caso para poder ayudarte mejor

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas