Cómo consolidar entradas similares en una lista ordenada sin salida a una hoja de trabajo usando VBA / Excel

Tengo una matriz que almacena sus valores en una lista ordenada. He estado usando esta lista ordenada para organizar datos, por fecha en varias otras hojas de cálculo.

Mi fuente de datos es una serie de 12 hojas de trabajo en un libro de trabajo. Cada hoja de trabajo refleja un solo mes calendario. El número de transacciones / ejecuciones es dinámico: un promedio de aproximadamente 60 al mes, así que establecí un límite para mi ciclo de 200, ya que esto debería ser más que suficiente para cubrir cualquier crecimiento en los negocios.

Mi conjunto actual de datos es tal que tengo varias entregas repetidas (diferentes cargas / pesos y otros, pero la misma ubicación de entrega). Quiero consolidar esas filas "repetidas" / similares en una sola entrada en la lista, sumar la cantidad de piezas entregadas, el peso y el costo de entrega, e incrementar un contador para mostrar la cantidad de entregas repetidas a ese sitio respectivo.

Example: January, 2016
Delivered from:    Delivered to:    No. Pieces:    Weight:    Cost:
Site A             Site B           10             100        $120.00
Site A             Site C           5              20         $80.00
Site B             Site C           2              30         $45.00
Site A             Site C           20             460        $375.00

Summary:
Delivered to:    No. of Deliveries:    No. Pieces:    Weight:    Cost:
Site B           1                     10             100        $120.00
Site C           3                     27             510        $500.00

Puedo pensar en formas de hacer esto volcando datos en una hoja de trabajo "chatarra", sin embargo, quiero una solución VBA que sea "interna" para que no se requiera tal "bloc de notas".

El número de entregas, en total, es dinámico. El número de entregas repetidas, para cualquier ubicación dada, también es dinámico.

Me resulta muy difícil componer una forma eficiente de consolidar la información en mi lista con los parámetros anteriores, ya que todavía soy muy nuevo en VBA / Excel.

Se agradece cualquier sugerencia, en particular si tiene un código de ejemplo: sé lo que quiero, pero no estoy seguro de cómo implementarlo en VBA.

A continuación se muestra una muestra de la carga y transferencia de mi matriz a la lista (con definiciones variables y otros omitidos).

    Set List = CreateObject("System.Collections.SortedList")

    'Grab Monthly Data by Route
    For Each ws In Worksheets
        If ws.Name <> "Summary" Then

            Call DeleteHidden 'Delete Hidden Rows/Columns in the active worksheet if any

     With ws
            'loop through the sheet to 207 (~3x greatest number of deliveries)
            For RowCount = 7 To 207
                'Check for dates for each row (Month/Day/Year)
                d = DateValue(.Cells(RowCount, 1))

                If List.Containskey(d) Then
                    arTemp = List(d)
                Else
                    ReDim arTemp(12)
                End If

                'Monthly Totals
                arTemp(0) = arTemp(0) + .Cells(RowCount, 1) 'Grab Entry Date/Time
                arTemp(1) = arTemp(1) + .Cells(RowCount, 2) 'Grab Delivery Date/Time
                arTemp(2) = arTemp(2) + .Cells(RowCount, 3) 'Grab PU Location
                arTemp(3) = arTemp(3) + .Cells(RowCount, 4) 'Grab PU Street
                arTemp(4) = arTemp(4) + .Cells(RowCount, 5) 'Grab PU City/Province/PC
                arTemp(5) = arTemp(5) + .Cells(RowCount, 6) 'Grab Del Location
                arTemp(6) = arTemp(6) + .Cells(RowCount, 7) 'Grab Del Street
                arTemp(7) = arTemp(7) + .Cells(RowCount, 8) 'Grab Del City/Province/PC
                arTemp(8) = arTemp(8) + .Cells(RowCount, 9) 'Grab No. Pieces
                arTemp(9) = arTemp(9) + .Cells(RowCount, 10) 'Grab Cargo Weight (LBS)
                arTemp(10) = arTemp(10) + .Cells(RowCount, 11) 'Grab Cost 
                'potential add point of a sort and consolidate function if working with the array prior to data being added to the list (but then such would run for each record of each worksheet---seems too inefficient)
                arTemp(12) = arTemp(12) + 1
                List(d) = arTemp
    Next RowCount
            Call QuickSort(arTemp, 0, RowCount - 1) 'Sort the Monthly Array at the end of the Month (can manipulate the array but the list is already loaded..how to manipulate/consolidate the list???)
        End With
    End If
Next

Respuestas a la pregunta(3)

Su respuesta a la pregunta