Solución:
Utilizar el Application.Match
función que permite una mejor capacidad para atrapar errores. Al usar el WorksheetFunction.Match
, cuando no se encuentra una coincidencia, devuelve un error, que es lo que está experimentando.
If Not IsError(Application.Match(Cells(e, 1).Value, myrange, 0)) Then
'Do stuff when the match is found
Cells(e, 3).Value = "Yes"
Else:
Cells(e, 3).Value = "No"
End If
También podría utilizar potencialmente el CountIf
función:
If Application.WorksheetFunction.CountIf(myRange, Cells(e,1).Value) > 0 Then
Cells(e,3).Value = "Yes"
Else:
Cells(e,3).Value = "No"
End If
Ninguno de estos enfoques requiere que utilice el m1
variable, puede asignar esta variable dentro de la True
parte de If/Then
declaración, si necesita identificar dónde se encuentra la coincidencia.
Solo como otra opción, esto también se puede hacer colocando la fórmula a continuación en la celda C2 y arrastrándola hacia abajo hasta C23.
=IF(COUNTIF($A$2:$A$23,B2)>=1,"YES","NO")
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)