Commandbutton validar datos en excel

Que tal amigos a ver si me pueden ayudar en esto estoy empezando en esto de vb en excel y me ocurre lo siguiente: tengo una base de datos con matriculas de coches con un Uf de entrada de datos que contiene varios textbox (matricula, marca, modelo, color etc..), y un cmb Validar datos, relleno todos los campos pulso validar datos y los ingresa en la hoja en la fila libre. Pero me he percatado de que he repetido los mismos datos del mismo coche en varias ocasiones ya que la base de datos es extensa, ahi viene la pregunta.

Que linea de código podría adjuntar al cmbvalidar datos de forma que cuando ingrese un dato al validarlo, si ya lo tengo, me reporte un msgbox diciéndome que el dato que pretendo ingresar ya se encuentra en la base de datos..? O en vez de en el cmbvalidar datos seria mejor ponerlo en el textbox matricula..?...

muchas gracias anticipadas.

Un saludo.

J.C.

1 respuesta

Respuesta
1

No dices si los textbox están en un formulario o en la misma hoja. Suponiendo que estén en una hoja, que la hoja de los datos es "Hoja1" y las matrículas están en la columna A deberías añadir esta subrutina en el módulo de la hoja del texbox de la matrícula, al cual voy a llamar textbox1

Private Sub TextBox1_lostfocus()
If Not Worksheets("Hoja1").Range("A:A").Find(TextBox1) Is Nothing Then
    respuesta = MsgBox("Esa matrícula ya existe: " & TextBox1, vbOKOnly + _
                       vbInformation, "Matrícula repetida")
End If
End Sub

Si es un textbox metido en un formulario userform1 por ejemplo, puedes meter esa misma subrutina en el módulo del formulario o esta otra

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not Worksheets("Hoja1").Range("A:A").Find(TextBox1) Is Nothing Then
    respuesta = MsgBox("Esa matrícula ya existe: " & TextBox1, vbOKOnly + _
                       vbInformation, "Matrícula repetida")
End If
End Sub

Veras los textbox y el cmbvalidardatos están en un formulario en la hoja1 (portada)y la base de datos en la hoja 2.(datos). Disculpame pero no domino esto mucho, como pongo estas rutinas en el formulario ??

gracias por tu paciencia

Un saludo.

Lo mejor es que me mandes el fichero y te lo devuelvo con la macro incorporada. Ya que a lo mejor tu concepto de formulario no coincide con la definición y estamos hablando de cosas distintas.

MI correo es

[email protected]

Pon como asunto el título de la pregunta y si puede ser por este nombre al fichero

ValidarDatos.XLSM

ok ya te he mandado el archivo.

Gracias

Creo que ya está. He añadido la comprobación en los dos sitios, en el textbox te avisa inmediatamente y en validar te da la última oportunidad para introducir los datos o no. También he arreglado lo que que se veía la hoja de datos.

Ojala te sirva y entiendas el código que he añadido que es sencillo, creo.

Y eso es todo, si ya está bien no olvides puntuar.

Ahora te mando el fichero. Puede tardar un poco porque es grande.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas