Visual Basic - ERROR DE VALIDACION ¡ayuda!

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 19 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

ERROR DE VALIDACION ¡ayuda!

Publicado por Romario Yonatan (2 intervenciones) el 05/09/2018 22:29:08
Hola, necesito de su ayuda, recién me estoy iniciando en esto de Visual Basic para EXCEL,, y la verdad se me ha armado un embrollo.
He creado un formulario de captura de datos y todo va bien con el registro, pero resulta que necesito que me avise si un dato ya existe, mejor dicho que no permita repetir el registro. He intentado y no pude conseguirlo, recurro a su ayuda por que entiendo que conocen más del tema.
Dejo en la imagen del código que estoy usando en el comandButton, no se que es lo que le falta o donde debería ponerlo para que me haga la validacion.
Gracias.


VIBASIC
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

ERROR DE VALIDACION ¡ayuda!

Publicado por Antoni Masana (558 intervenciones) el 06/09/2018 11:35:02
Como no se si hay un campo clave o dos o tres en el ejemplo que pongo comparó los tres primeros campos de los 8 datos que añades.
Si hay una coincidencia de estos tres campos no lo añade.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub CommandButton1_Click()
    Dim fila as Long, Duplicados as Boolean, Lin As Long
 
    ' --- Obtener la fila disponible
    Fila = Application.WorkSheetFunction.CountA(Range("D:D")) + 1
    Duplicados = False
 
    Lin=2
    While Lin < Fila
        IF Cells(Lin,  4).Value = UserForm1.TextBox1.Value And _
           Cells(Lin,  6).Value = UserForm1.TextBox2.Value And _
           Cells(Lin,  8).Value = UserForm1.TextBox5.Value Then Duplicados = True
        Lin Lin + 1
    Wend
 
    IF Not Duplicados Then
        Cells(Fila,  4).Value = UserForm1.TextBox1.Value
        Cells(Fila,  5).Value = UserForm1.TextBox2.Value
        Cells(Fila,  6).Value = UserForm1.TextBox5.Value
        ...
        MsgBox "Registro Exitoso"
    Else
        MsgBox "Registro Duplicado"
    End If
End Sub

Seguramente hay otras formas de hacerlo pero esta es una de ellas.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar