Tengo una formula para contar coincidencias columna O, las coincidencias de J:M con B:G.
J:M puede tener entre 150.000 a 300.000 filas y B:G entre 10.000 a 30.000 filas.
La formula hasta 150.000 filas en J:M la desplazo hasta el final y trada unos 30 minutos en recalcular pero la macro se queda colgada.
Mi intencion es encontrar una macro que sea mas rapida que la formula.
Esta es la macro
Sub BuscarCoincidencias()
Application.ScreenUpdating = False
Range(Range("N3"), Range("N3").End(xlDown)) = ""
For x1 = 3 To Range("B3").End(xlDown).Row
For x2 = 3 To Range("J3").End(xlDown).Row
c = 0
For y = 10 To 12
Set n = Range("B" & x1 & ":G" & x1).Find(Cells(x2, y), , , xlWhole)
If Not n Is Nothing Then c = c + 1
Next
If c = 3 Then Range("N" & x2) = Range("N" & x2) + 1
Next
Next
End Sub
Hola buenas.
Tengo una formula para contar coincidencias columna O, las coincidencias de J:M con B:G.
J:M puede tener entre 150.000 a 300.000 filas y B:G entre 10.000 a 30.000 filas.
La formula hasta 150.000 filas en J:M la desplazo hasta el final y trada unos 30 minutos en recalcular pero la macro se queda colgada.
Mi intencion es encontrar una macro que sea mas rapida que la formula.
Esta es la macro
Sub BuscarCoincidencias() Application.ScreenUpdating = False Range(Range("N3"), Range("N3").End(xlDown)) = "" For x1 = 3 To Range("B3").End(xlDown).Row For x2 = 3 To Range("J3").End(xlDown).Row c = 0 For y = 10 To 12 Set n = Range("B" & x1 & ":G" & x1).Find(Cells(x2, y), , , xlWhole) If Not n Is Nothing Then c = c + 1 Next If c = 3 Then Range("N" & x2) = Range("N" & x2) + 1 Next Next End Sub
Y esta es la formula
=SUMA(N(MMULT(N(CONTAR.SI(DESREF(B$3:G$3;FILA(B$3:B$10000)-FILA(B$3););J5:M5)>0);{1;1;1;1})=4))
Bueno en el libro se pueden ver
Un Saludo.
CONTAR COINCIDENCIAS FILAS FORO 2.xlsm