Buscar y ordenar texto repetido en varias filas

Tengo una hoja en excel con muchísimas entradas (unas 10.000 aprox).
La estructura es la siguiente:
Producto caja nº cantidad x caja
Secador Robi 1 10
Champú x 200ml 2 22
Tijeras inox 3 50
Secador Robi 4 15
Tijeras inox 5 33
Champú x 200ml 6 13
Necesito que en la hoja 2, busque un determinado producto y me muestre la cantidad de filas que tengo con el mismo producto y me sume la cantidad total entre las cajas. POr ejemplo si quiero buscar el Secador robi y me muestre el resultado de esta manera:
Producto caja nº cantidad x caja
Secador Robi 1 10
Secador Robi 4 15
Nº de cajas Cantidad total entre todas las cajas
Secador Robi 2 25

1 respuesta

Respuesta
1

Te mando la macro
Instrucciones de macro
1. Abre tu hoja 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. Para ejecutarla presiona F5
' *****MACRO***********
Sub buscar()
' Por Dam
' Busca por una palabra y copia las filas a otra hoja
'
Application.ScreenUpdating = False
Set horigen = Sheets("Hoja1")
Set hdestino = Sheets("Hoja2")
texto = InputBox(Prompt:="Texto a buscar:")
hdestino.Cells.Clear
horigen.Select
horigen.AutoFilterMode = False
Range("A1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, _
Criteria1:="=*" & texto & "*", Operator:=xlAnd
horigen.Cells.Copy Destination:=hdestino.Range("A1")
Application.ScreenUpdating = True
hdestino.Select
ufila = Range("A" & Rows.Count).End(xlUp).Row
If ufila = 1 Then
MsgBox "No encontrá filas con el texto" _
& vbNewLine & texto
Else
'MsgBox "Se encontraron " & ufila - 1 & _
" filas con el texto " & vbNewLine & texto
'poner totales
'ufila = Range("A" & Rows.Count).End(xlUp).Row + 2
wsuma = WorksheetFunction.Sum(Range(Cells(2, 3), Cells(ufila, 3)))
wcuenta = ufila - 1
wcajas = Cells(2, 1)
ufila = ufila + 3
Cells(ufila, 1) = "Producto"
Cells(ufila, 2) = "No. Cajas"
Cells(ufila, 3) = "Cantidad total entre todas las Cajas"
ufila = ufila + 1
Cells(ufila, 1) = wcajas
Cells(ufila, 2) = wcuenta
Cells(ufila, 3) = wsuma
End If
End Sub
' ****************
Dentro de la macro, cambia Hoja1 y Hoja2, por los nombres de tus hojas
Saludos. Dam
Si es lo que necesitas.

La pregunta no admite más respuestas

Más respuestas relacionadas