Fórmula o Macro para dividir la list larga (columnas múltiples) en lists separadas basadas en criterios en una columna

Tengo una list de logging de datos con las dos primeras columnas como posibles identificadores, como se muestra en forma abreviada en la image en Flickr (noobie – no se pueden publicar imágenes):

http://sofes.miximages.com/excel/7114053281_30bf57300d.jpg

Ya he orderado en function de la Columna B de valor. Me gustaría poder dividir este set largo de datos en lists separadas de las cuatro columnas, con una única list que contiene una "Identificación de punto", como esta:

http://sofes.miximages.com/excel/6967974902_7f84b57e46.jpg

La columna A "Frame #" no es crítica, pero la dejé porque me preguntaba si podría usarse para hacer que la macro sea más fácil de ejecutar.

Tengo que procesar una gran cantidad de datos como este, así que quiero entender cómo puedo modificar la macro para enviar las lists por separado a diferentes hojas, en lugar de columnas diferentes, por ejemplo.

En caso de que se lo esté preguntando, el Número de cuadro se refiere a un cuadro de micrografía de video, y el ID de punto se refiere a una partícula coloidal específica que se rastreó. X Pos y Y Pos son coorderadas X e Y, respectivamente.

Cualquier ayuda es muy apreciada.

nan0guy

Pruebe esto, usa un FILTRO AUTOMÁTICO simple para get cada fila con la ID de PUNTO única, lo único que no hace es mantener la … … … fila en el medio, con suerte eso no es así. realmente crítico.

Option Explicit Sub SplitColumns() Dim c As Range, wsNEW As Worksheet, NC As Long, LR As Long Dim List As New Collection, Item As Variant With ActiveSheet .AutoFilterMode = False // turn autofilter off LR = .Range("A" & .Rows.Count).End(xlUp).Row //count cells in A On Error Resume Next //on error, continue on next line For Each c In .Range("B:B").SpecialCells(xlConstants, xlNumbers) //Help here? //doing something to the values in column B (the Spot IDs) List.Add c.Value, CStr(c.Value) //Make a list of values in column A in c Next c //For-next loop On Error GoTo 0 .Rows(1).AutoFilter //turn autofilter on? Set wsNEW = Sheets.Add //add a new sheet NC = 1 //counter for columns in new sheet For Each Item In List //exactly, but where does Item come from? .Rows(1).AutoFilter Field:=2, Criteria1:=Item //autofilter using Item as criteria .Range("B1:D" & LR).Copy wsNEW.Cells(1, NC) //copy everything in the range to new column in new sheet NC = NC + 3 //iterate column by 3 Next Item // for-next loop .AutoFilterMode = False // turn autofilter off End With End Sub