¿Cómo crear una tabla resumen clasificada de acuerdo a valor de una celda?

Tengo un archivo de excel conformado por varias hojas, en cada una de las hojas un resumen de gastos mensual que esta ordenado por fecha y esta compuesto de varios datos

En la primera columna esta un código de clasificación (importante) y en las contiguas la información de fecha, comprobante, factura de la transacción, persona que realizo la transacción, proveedor que recibió el dinero, y monto.

Esta información esta dispuesta de la misma manera en todas las hojas del archivo.

Necesito saber un procedimiento, formula o macro con el que pueda obtener en una lista todas as transacciones registradas en todas las hojas en función del dato de la primera celda y asi clasificar esta información para cada código.

Es algo similar a un filtro pero no puedo desordenar u ocultar los datos con esta herramienta, necesito que se copien en una hoja nueva.

En esencia necesito que excel busque todos los números "2" en las columnas b y me devuelva la información de las 5 celdas contiguas a esta

En una nueva hoja

1

1 Respuesta

51.475 pts. Experto en Excel con experiencia de más de 20 años

Te he preparado un macro que copia todo el rango de la hoja1 y de la hoja2, y te lo copia en la hoja3. Tendrás que sustituir el nombre hoja1, hoja2 y hoja3 por los tuyos.

Si tienes más hojas, y si sabes hacerlo, copia el trozo del código para seleccionar la nueva hoja.

Sub Macro1()

'

'

Macro1 Macro

'
'

Sheets("Hoja1").Select

Range(Selection, Selection.End(xlToRight)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Sheets("Hoja3").Select

Range("A1").Select

ActiveSheet.Paste

Selection.End(xlDown).Select

ActiveCell.Offset(1, 0).Activate

Sheets("Hoja2").Select

Range("A2").Select

Range(Selection, Selection.End(xlToRight)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

ActiveSheet.Next.Select

ActiveSheet.Paste Range("A1").Select

End Sub

Mil gracias, logre crear una macro completa para copiar la información de cada hoja pero... lo que realmente necesito es que esa copia este limitada solamente a las filas cuyo encabezado coincida con el parámetro requerido.

Ejemplo: recopilar de todos los libros, las filas que tengan un numero 2 en la primera celda.

espero que mi explicación sea lo suficientemente clara.

gracias.

Inserta este código (sólo cambia lo que está en negrita). Lo que hace es filtrar en la columna A por las filas que tienen el 2:

Macro1 Macro
' '
Sheets("Hoja1").Select

Rows("1:1").Select

Selection.AutoFilter
ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:="2"

Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Hoja3").Select
Range("A1").Select
ActiveSheet.Paste
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Sheets("Hoja2").Select
Rows("1:1").Select

Selection.AutoFilter

ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:="2"

Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveSheet.Next.Select
ActiveSheet.Paste Range("A1").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas