¿Cómo copiar una fila de una planilla de la Hoja1 a la Hoja2 o Hoja3?

En Visual Basic estoy generando una planilla excel. En la Hoja1 se muestra toda la información de la orden en proceso. Para cada material, si la columna "Devolver" es mayor que cero, debo copiar esa fila completa (A:J) a la Hoja2, y si la columna "Solicitar" es mayor que cero, debo copiar esa fila completa (A:J) a la Hoja3. El problema que tengo es que no he podido seleccionar el rango correspondiente para copiar (desde la columna A a la Columna J) dependiendo si "Devolver" es mayor que cero o "Solicitar" es mayor que cero. Adjunto imagen de de la Hoja1 de una orden en proceso.

Esta opción no me resulta y me da error:

            Cells(nLoop, 1).Select
           Range("RC:RC[10]").Select

Espero haber sido claro en la explicación del problema que tengo. De antemano muchas gracias.

Hernando Martínez C.

1 Respuesta

Respuesta
1

Si los ceros están dado por una fórmula

Yo lo haría así un do while de la celda activa

Sub buscar_devolver_solicitar()

Sheets("sheet1").Select
Range("i5").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "0" Then
Range(ActiveCell.Offset(0, -8), ActiveCell.Offset(0, 1)).Copy
Sheets("sheet2").Range("a1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End If
Sheets("sheet1").Select
ActiveCell.Offset(1, 0).Select
Loop

Range("J5").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "0" Then
Range(ActiveCell.Offset(0, -9), ActiveCell).Copy
Sheets("sheet3").Range("a1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End If
Sheets("sheet1").Select
ActiveCell.Offset(1, 0).Select
Loop

Application.CutCopyMode = False

end sub

Donde

Sheet1 es el nombre de la hoja donde están la table o base de datos

Sheet2 es el nombre de la donde vas a voner los delvover

Sheet3 es el nombre de la hoja donde vas a poner los solicitor

Si te silve no olvides valorar para cerrar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas