Saltar al contenido

Excel VBA: no se puede obtener una coincidencia, error “No se puede obtener la propiedad Match de la clase WorksheetFunction”

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *