Pasar Filas de una Hoja a Otra

Su valiosa colaboración.

Tengo una planilla de Excel 97-2003 con información de aproximadamente 300 personas con varias columnas, necesito extraer de ese listado que se encuentra en la hoja llamada “Enero” con toda la información de la fila y pegarlo en otra hoja llamada “Retiros”, la línea a eliminar debe cumplir la condición que la celda de la columna Q, de la misma fila, no este vacía.

La cantidad de Filas y Columnas puede variar con el tiempo.

El libro tiene mas hojas, pero los movimientos solo se requieren entre "Enero" y "Retiros".

Como siempre, altamente agradecoda por la ayuda.

1 Respuesta

Respuesta
1

Haber si entendí. Si la fila tiene algo en la columna "Q", eliminar las fila de la hoja "Enero" y copiarla en la hoja "Retiros"

En la hoja "retiros" ya tienes datos, ¿los nuevos datos deben empezar al final de los datos que ya tienes?

Dante Amor, gracias!!!

Tal cual como lo expresas esa es la idea....

Te anexo la macro para copiar y borrar la fila. La copia incluye fórmulas y formatos:

Sub Retiros()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("enero")
    Set h2 = Sheets("retiros")
    '
    u = h2.Range("Q" & Rows.Count).End(xlUp).Row + 1
    For i = h1.Range("Q" & Rows.Count).End(xlUp).Row To 2 Step -1
        If h1.Cells(i, "Q") <> "" Then
            h1.Rows(i).Copy
            h2.Range("A" & u).Insert Shift:=xlDown
            h1.Rows(i).Delete
        End If
    Next
    MsgBox "Se pasaron las filas a la hoja Retiros", vbInformation
End Sub

Si solamente quieres que se peguen valores, entonces utiliza la siguiente macro:

Sub RetirosEspecial()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("enero")
    Set h2 = Sheets("retiros")
    '
    u = h2.Range("Q" & Rows.Count).End(xlUp).Row + 1
    For i = h1.Range("Q" & Rows.Count).End(xlUp).Row To 2 Step -1
        If h1.Cells(i, "Q") <> "" Then
            h2.Rows(u).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            h1.Rows(i).Copy
            h2.Range("A" & u).PasteSpecial Paste:=xlPasteValues
            h1.Rows(i).Delete
        End If
    Next
    MsgBox "Se pasaron las filas a la hoja Retiros", vbInformation
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona el nombre de la macro que quieras ejucutar, puede ser "Retiros" o "RetirosEspecial"
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas