Cree hojas y mueva datos basados en elementos únicos en una columna específica, usando Excel VBA

Estoy familiarizado con la programación, pero no con VBA ni con el modelo de objetos de Excel. Me resulta muy frustrante tratar con eso.

Lo que tengo es una sola hoja de datos con encabezados de columna. Hay un número variable de encabezados según el tipo de datos, por lo que necesito encontrar una columna específica (en todas las hojas) que no siempre esté en el mismo lugar (por lo que no puedo codificarla).

Quiero crear una hoja para cada apellido, preferiblemente titularlo con ese nombre, y luego copiarlo de la hoja original a cada hoja específica, todas las FILAS con el nombre

Lo que tengo hasta ahora:

   Cells.find(What:="Last_Name", After:=ActiveCell, LookIn:=xlFormulas, _
       LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
       MatchCase:=False, SearchFormat:=False).Activate

Para encontrar la columna con los nombres. Luego puedo ordenar la columna (lo cual no es totalmente necesario, pero ayuda al hacer la parte de copia manualmente).

    ActiveCell.Sort key1:=ActiveCell, Order1:=xlAscending, Header:=xlYes

pero después de eso, estoy luchando por encontrar una manera de obtener los elementos únicos en una lista o matriz o algo así.

Sé cómo crear una hoja con

Set WS = Sheets.Add
WS.name = "string name goes here"

Entonces, la parte principal es encontrar una manera de iterar sobre los nombres únicos, hacer hojas y copiar las filas apropiadas en las hojas con el mismo nombre en la hoja que en la fila.

Cualquier consejo para aprender VBA o cualquier otra forma (¿de alguna manera .Net?) De interactuar con Excel sería muy apreciado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta