Tengo archivo de datos en excel!

Tengo archivo de datos en excel, para la entrega de un reporte.
Tenemos que hacer un concentrado (hoja 1) con hojas del mismo libro (hoja 2, 3, 4 ...)
HOJA 2   Nombre        Causa        Dias      $ Cantidad $$
                  carlos          baja           0             123.00
                 (C  E  L  D  A  S     E  N   B  L  A  N  C  O)
                  luis              incap           3             231.00
HOJA 3   Nombre        Causa        Dias      $ Cantidad $$
                  juan           tiem extra      0             523.12
                 (C  E  L  D  A  S     E  N   B  L  A  N  C  O)                  
                  esteban      faltas            3             231.00
                (C  E  L  D  A  S     E  N   B  L  A  N  C  O)                  
HOJA 1 Nombre         Causa        Dias      $ Cantidad $$
                  Carlos baja 0 123.00
                  Luis incap 3 231.00
                  Juan tiem extra 0 523.12
                  Esteban faltas 3 231.00
Debería quedar así la información en la hoja 1
Les agradezco muchísimo su apoyo de antemano...
Respuesta
1
Tazyadi te dejo el código que puede ayudarte. Al respecto te comento que:
1. No copia la primera fila de las hojas ya que se supone que son los mismos datos (encabezados) para todas las hojas del libro.
2. Procesa todas las hojas del libro, por tanto puede ser necesario que tengas que hacer un libro solo con las hojas que quieras procesar.
3. Celdas que contengan espacios (" "), se mantendrán y puede que afecten el resultado.
Espero te sea de utilidad el código. Saludos y me cuentas de tu éxito.
*******************
Sub TraeralaHoja1()
'Creada en 111021 por FSerrano
'Para tazyadi en TodoExpertos.com
'trae todos los registros del libro actual a la primera pagina y al final elimina las celdas en blanco
'Se establece el ciclo para todas las hojas del libro actual, a excepción de la primera
For i = 2 To ActiveWorkbook.Sheets.Count
Sheets(i).Activate
''Copia el rango de datos sin tener en cuenta la primera fila, que se asume contiene los encabezados
ActiveSheet.Range("a2:" & ActiveCell.SpecialCells(xlLastCell).Address & "").Copy
''Vuelve a la primera hoja
Sheets(1).Activate
''Selecciona la ultima celda activa de la columna A para pegar los datos
ActiveSheet.Cells(ActiveCell.SpecialCells(xlLastCell).Row + 1, 1).Select
ActiveSheet.Paste
CutCopyMode = False
Next
'Selecciona las celdas de la hoja activa (primera hoja del libro
ActiveSheet.Cells.Select
'Filtra y selecciona solo las celdas que estan vacias para eliminarlas
With Selection
ActiveCell.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlShiftUp
End With
'Selecciona la primera celda de la hoja activa
Range("a1").Select
End Sub
***********************

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas