Macro VBA Excel: Ir a la última fila con datos por cada agrupación en columna A

Quiero acceder a la última celda con datos de una tabla y copiar la 1ª y 4ª columna en la Hoja2. Hasta ahí bien si es el final de toda la tabla, pero no encuentro el modo de ir a la última con datos por cada cambio de agrupación en la columna A, sería como en la foto (lo que está en amarillo). ¿Alguna sugerencia?

Muchísimas gracias de antemano.

1 respuesta

Respuesta
3

Prueba el siguiente código, los resultados inician en la celda F1 y G1.

Lo que hace esta línea Set dic = CreateObject("Scripting.Dictionary"),  es crear un índice.

Al recorrer la columna, en el índice solamente almacena el índice y un dato, es decir, en el índice, siguiendo con tu ejemplo, solamente almacena A, B, C y último dato del recorrido para cada letra.

Sub ultimos()
  Dim dic As Object, i As Long
  Set dic = CreateObject("Scripting.Dictionary")
  For i = 1 To Range("A" & Rows.Count).End(3).Row
    dic(Range("A" & i).Value) = Range("D" & i).Value
  Next
  Range("F1").Resize(dic.Count, 2).Value = Application.Transpose(Array(dic.keys, dic.items))
End Sub

Perfecto, Dante! Como siempre excelente la explicación

Hola, Dante,

Reabro tema para una consulta más sobre el código, si quisiera llevarme todo la fila y no sola la columna D?

No consigo adaptar el código en este punto para eso, muchas gracias!

 dic(Range("A" & i).Value) = Range("D" & i).Value

¿Toda la fila?

O solamente las columnas A, B, C y D?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas