Función Coincidir en Macros

Estoy realizando una macro y quiero que al momento que el usuario ingrese su código busque en una lista de códigos ingresadas por ejemplo en la columna "A" y valide que su código es correcto. He colocado la siguiente programación:

Private Sub CommandButton4_Click()
Dim valor As Long
If Len(Trim(TextBox1.Value)) = 6 And valor = Application.WorksheetFunction.Match (TextBox1.Value, Range("A:A"), 0) Then
MsgBox "CÓDIGO VALIDO"
Else
Beep
MsgBox "CÓDIGO no coincide con registro"
End If
End Sub

Y al momento de correr la macro sale una ventana diciendo que no se puede obtener la propiedad Match de la clase WorkSheetFunction.

1 Respuesta

Respuesta
2

El error es porque el dato que estás buscando no lo encuentra.

En la variable valor se almacena, si encuentra el dato: el número de fila, si no lo encuentra: se almacena un error. Entonces la variable valor puede almacenar dos tipos de datos, no declares la variable valor. Después de hacer el match se tiene que evaluar si tiene la variable valor un error.

Utiliza la siguiente macro para buscar tu dato.

Private Sub CommandButton4_Click()
'Mod.Por.DAM
    valor = Application.Match(TextBox1.Value, Range("A:A"), 0)
    If Not IsError(valor) Then
        If Len(Trim(TextBox1.Value)) = 6 Then
            MsgBox "CÓDIGO VALIDO"
        Else
            Beep
            MsgBox "CÓDIGO no coincide con registro"
        End If
    Else
        Beep
        MsgBox "CÓDIGO no coincide con registro"
    End If
End Sub

Saludos. Dante Amor
No olvides finalizar la pregunta.

He colocado la programación propuesta pero siempre me sale CÓDIGO NO valido, adjunto mi trabajo:

https://www.dropbox.com/s/jswcnusqm62abwz/Ejemplo.xlsm

Y osea realmente lo que requiero es que primero valide que coincida el código (es decir que exista) y si coincide, que el siguiente TEXTBOX NOMBRE se coloque al lado del CÓDIGO que le corresponde.

Gracias nuevamente,

Saludos,

Una pregunta a la vez.

Primero, para que funcione tienes que poner códigos de 6 dígitos.

En el archivo que me enviaste tienes códigos de 1 y 2 dígitos.

Te regreso el archivo y funciona con el ejemplo que te puse: 123456

https://www.dropbox.com/s/0de9f8rg5dmfxdj/Ejemplo%20dam.xlsm

No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas