Contar elementos repetidos en matriz

Hola,... Trato de hacer como la función contar.si pero en vez de en un rango, hacerlo en una matriz, es decir, si la primera fila de la matriz es tomates, peras, tomates, que la segunda fila sea el numero de veces que se repite cada elemento en la matriz hasta su posición, de tal manera que quede así:
Tomates 1
Peras 1
Tomates 2
El motivo de intentar eso es que con rangos muy grandes la fórmula contar.si me va lento, y en cambio por lo que observo, vb trabaja bastante más rápido con matrices.
Apreciaría cualquier sugerencia tuya sobre ello.
Saludos y muchas gracias

1 respuesta

Respuesta
1
Efectivamente estaba de vacaciones, en fin se acaba pronto lo bueno.
Te mando este ejemplo de función que recorre una matriz y almacena el numero de repeticiones hasta el momento
Private Sub CommandButton2_Click()
Dim matriz(1 To 10, 1 To 2) As String
matriz(1, 1) = "Tomates"
matriz(2, 1) = "Peras"
matriz(3, 1) = "Tomates"
matriz(4, 1) = "Peras"
matriz(5, 1) = "Tomates"
matriz(6, 1) = "Manzanas"
matriz(7, 1) = "Tomates"
matriz(8, 1) = "Manzanas"
matriz(9, 1) = "Tomates"
matriz(10, 1) = "Manzanas"
i = 1
For i = LBound(matriz, 1) To UBound(matriz, 1)
If matriz(i, 2) = "" Then
cont = 1
For j = i To UBound(matriz, 1)
If matriz(j, 1) = matriz(i, 1) Then
matriz(j, 2) = cont
cont = cont + 1
End If
Next j
Else
End If
Next i
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas