Evitar entradas repetidas...

Espero me pudieras ayudar, necesito una instrucción en VB para aplicarlo en excel en la cual se evite la entrada de números o palabras repetidas en una columna determinada y que de ocurrir esto se dé un mensaje de alerta como "ERROR, ESTE NUMERO O PALABRA YA SE ENCUENTRA EN LA BASE DE DATOS"
3

3 respuestas

Respuesta
1
A exel no lo he aplicado pero lo que puedes usar es setencias SQL para ver si es el dato ya existe y es de la siguiente forma!
Set con = CreateObject("ADODB.Connection")
con.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & "C:\Bd\base.mdb")
buscar_art = txtbusca.Text
SQL = "SELECT * FROM tabla WHERE clave = buscar_art "
Set datos = con.Execute(SQL)
If datos.EOF = False Then
' Aca no existe registro
Else
MsgBox "ERROR, ESTE NUMERO O PALABRA YA SE ENCUENTRA EN LA BASE DE DATOS"
End If
Sale nada más cambialo a tus necesidades ...
Respuesta
Realmente no existe una instrucción que haga este trabajo por ti. Debes hacer una rutina en VBA que te compruebe que el contenido de tu celda no esta en la ninguna de las demás celdas de la columna que tu necesites. Te doy alguna pista para que investigues, seguro que vas a necesitar utilizar el objeto RANGE de excel, digamos que es el comodín de todo VBA de office, te servirá para recorrer celdas y acceder a su contenido. Por otro lado vas a utilizar CELLS o CELL para recorrer celdas de columna. Echale un vistazo a la ayuda de VBA de excel y enseguida veras por donde atacar. Mi idea es que recorras las celdas de la columna que te interese y verifiques que sus contenidos no coinciden con el contenido de tu celda, así de simple.
Respuesta
Lamento no poder ayudarte demasiado, porque nunca usé visual basic junto con excel, pero te tiro una pista, por si vos estás más canchero en este asunto. Existe una función de texto que es "InStr" que sirve para comparar cadenas de texto. Entonces lo que tendrías que hacer es ver si está en el texto de cada registro lo que se acaba de ingresar.
Otra posibilidad es usar un For Next, para barrer por todos los registros que tengas en el excel y comprobar si la cadena ingresada es igual a la del registro y ahí producir la respuesta. El problema es que no puedo darte nada específico porque nunca usé código visual en office.
Suerte
Tito

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas