Como pasar varias filas con mismo código a otras hojas
Necesito pasar de una base de datos toda las filas que tengan el mismo código (que estará en la columna A) a otras hojas, y cada vez que reconozca el código y copie la fila entera en la hoja que tenga el mismo código, por favor es urgente, si es posible sin macros.
1 respuesta
Respuesta de edwinhenao
1
1
edwinhenao, Preguntas de Excel en general y macros VBA básicas
Lo que quieres hacer lo puedes hacer con filtro Avanzado, activando la opción Copiar a otro lugar. Puedes llamar el filtro (Datos>Avanzadas) desde otra hoja y en ella puedes tener como rango de criterios el titulo tal y como está en la base de datos y el código que quieres traer. El rango de lista es el rango es el rango de toda la base de datos y en copiar a: pones una celda vacía que tenga espacio en las columnas y filas aledañas para recuperar los resultados. Los criterios serían algo como: ... Código Item002 ... Éxitos y no olvide calificar y cerrar la pregunta...
Tal vez si me explico mejor, en una hoja se llenan datos de un inventario, y todos los que contengan el mismo código de item (por ej.ITEM002), tienen que copiarse automáticamente a otra hoja que contenga el mismo código (hoja ITEM002) y para colmo a la ultima fila que corresponda de esa (hoja ITEM002), gracias.
La verdad es que no entendí, tengo excel 2007 y no encuentro en el filtro esta opción (datos > avanzadas) si pudieras ser un poco más especifico por favor. (Ojo que por base de datos me refería a una tabla cualquiera de excel), ¿tal vez podría mandarte el archivo?
Perfecto, estamos hablando de Excel 2007. En la ficha Datos; las fichas son generalmente: Inicio, Insertar, Diseño de página, Fórmulas, Datos, Revisar, Vista y Programador. Entonces en la ficha Datos hay un grupo que se llama Ordenar y filtrar... allí encontrarás un botón llamado Avanzadas, ese es el que te permite realizar el filtro avanzado... Vamos paso a paso... 1. Crea una hoja nueva, que se llame Filtrados 2. En la hoja Filtrados en la celda A1 escribe Código y en la celda A2 escribe ITEM002 3. Selecciona la celda E5 de la hoja Filtrados 4 Vamos a la ficha Datos, grupo Ordenar y filtrar y luego clic a Avanzadas debes estar viendo una ventana llamada Filtro avanzado. 5. Activa la opción Copiar a otro lugar. 6. En Rango de la lista:, pon el rango de la base de datos, es decir, ve a la hoja donde tengas la base de datos y selecciónala toda. 7. En Rango de criterios:, debes volver a la hoja Filtrados y seleccionar el rango A1:A2 8. En Copiar a:, selecciona la celda A8 Y voilà te trae todos los datos para ese código, ten en cuenta que cómo escribas Código en los criterios de la hoja Filtrados así mismo debe estar escrito en la base de datos. Y que te recupero todos los datos porque la celda A8 estaba limpia y tenía espacio al rededor para recuperar los datos.
super eso ya pude hacerlo y me salio muy bien, muchas gracias por el truco, pero si es que pudieras hacerlo de forma automática seria excelente, ya que la idea es que cada vez que en el cuadro "central" se aumente un código cualquiera item002 o el item003 también se copie automáticamente a la hoja item002 o item003 respectivamente, mil gracias por anticipado
Bien, se puede hacer con macros. Suponiendo que la hoja donde están los datos sea la Hoja1 se puede utilizar la siguiente macro. ... Sub FiltroAvanzado() Sheets("Filtrados").Select Range("A6").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.ClearContents Sheets("Hoja1").Select Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ElRango = Selection.Address Sheets("Filtrados").Select Range("A6").Select Sheets("Hoja1").Range(ElRango).AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A6"), Unique:=False LaColumna = Selection.End(xlToRight).Column Range(Cells(6, 1), Cells(6, LaColumna)).Select Selection.EntireColumn.AutoFit Range("A6").Select End Sub