Quiero crear una macro que cuente cuantas veces se repite un numero y a que fila le corresponde.

Estoy haciendo un formulario, que basado en unabase de datos me pide un numero, necesito una macro que me cuente y almacene el dato de en que filas. Por ejemplo el 185 se repite 3 veces en la fila 3, 7, 10

1 Respuesta

Respuesta
2

Este es el resultado de la macro, numero, cantidad de veces que se repite y ubicaciones, como no mencionaste en que celda omienza tus datos asumí que es en la celda A!, solo corrige este dato en la macro

Option Base 1
Sub contar_duplicados()
Set datos = Range("a1").CurrentRegion
With datos
    f = .Rows.Count: c = .Columns.Count
    .Columns(c + 3).CurrentRegion.ClearContents
    Set tabla = .Columns(c + 3).Resize(f, 1)
    .Copy: tabla.PasteSpecial
End With
With tabla
    .Sort key1:=Range(.Columns(1).Address), order1:=xlAscending
    .RemoveDuplicates Columns:=1
    f = .CurrentRegion.Rows.Count
    ReDim matriz2(f)
    For i = 1 To f
        numero = .Cells(i, 1)
        cuenta = WorksheetFunction.CountIf(datos.Columns(1), numero)
        .Cells(i, 2) = cuenta
         ReDim matriz(cuenta)
        For j = 1 To cuenta
            If j = 1 Then Set busca = datos.Columns(1).Find(numero, LookIn:=xlValues)
            If j > 1 Then Set busca = datos.Columns(1).FindNext(busca)
            rango = busca.Address
            matriz(j) = Range(rango).Row
        Next j
        matriz2(i) = Join(matriz, ",")
    Next i
    Range(.CurrentRegion.Columns(3).Address) = WorksheetFunction.Transpose(matriz2)
    .CurrentRegion.EntireColumn.AutoFit
    .CurrentRegion.Columns(3).HorizontalAlignment = xlRight
    End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas