Macro exel: recibir aviso "Datos Existen"

Tengo un formulario echo en excel el cual tiene textbox, quisiera que si se agrega un dato existente en el textbox1
El código de mi formulario es este:
Private Sub CommandButton1_Click()
Dim ultimafila As Long
Dim ultimacolumna As Long
Sheets("CLIENTES").Select
ultimafila = Range("A65536").End(xlUp).Row
ultimafila = ultimafila + 1
Cells(ultimafila, 1).Select
ActiveCell.Value = TextBox1
Cells(ultimafila, 2).Select
ActiveCell.Value = TextBox2
Cells(ultimafila, 3).Select
ActiveCell.Value = TextBox3
Cells(ultimafila, 4).Select
ActiveCell.Value = TextBox4
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
Sheets("factura").Select
Unload Me
End Sub
Saludos y Feliz Año Nuevo

1 respuesta

Respuesta
1
Lo que hace este código es que ingresa un nuevo registro justamente debajo del ultimo registro existente en la base de datos, ¿y lo que deseas es que si se agrega un dato es decir agrega un registro el cual tiene un identificador y dicho dato ya esta en la base de datos no lo deje ingresar y automáticamente le arroje un mensaje que diga que los datos o el registro ya existe en la base de datos?
Si es así especifa cual es el dato y tipo de dato que identifica ese registro y en que textbox lo digita para así entender mejor y tratar de ayudarlo.
Que tengas un feliz día!
Antes de agregar el dato en la ultima fila en blanco que busque lo que esta en el textbox1 en la base de datos, si el/los datos de textbox1 existen me debería aparecer un aviso "DATOS EXISTEN", por ende no guardar los datos yá que estos existen.
Saludos, espero respuesta :)
Private Sub CommandButton1_Click() 
Dim ultimafila As Long 
Dim ultimacolumna As Long
'Aqui debes especificar el nombre de la hoja y ampliar el rango de la base de datos donde va a buscar el dato del textbox1.
Sheets("NOMBRE DE LA HOJA").Range("A12:B22").Select
On Error GoTo mensaje
Selection.Find(What:=TEXTBOX1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
MsgBox "EL DATO QUE INTENTA INGRESAR YA SE ENCUENTRA REGISTRADO EN LA BASE DE DATOS", vbInformation + vbOKOnly, "DUPLICIDAD DE INFORMACION"
Exit Sub
mensaje:
Sheets("CLIENTES").Select 
ultimafila = Range("A65536").End(xlUp).Row 
ultimafila = ultimafila + 1 
Cells(ultimafila, 1).Select 
ActiveCell.Value = TextBox1 
Cells(ultimafila, 2).Select 
ActiveCell.Value = TextBox2 
Cells(ultimafila, 3).Select 
ActiveCell.Value = TextBox3 
Cells(ultimafila, 4).Select 
ActiveCell.Value = TextBox4 
TextBox1 = Empty 
TextBox2 = Empty 
TextBox3 = Empty 
TextBox4 = Empty 
Sheets("factura").Select 
Unload Me 
End Sub
Bueno yo creo que ya esta solucionado, debe funcionarte ya que yo ya lo probé, lo que hace es que busca el dato del textbox1 en todas las filas y columnas que corresponden a la base de datos.
Espero haber sido claro, si es así no olvides puntuar y finalizar la pregunta de no ser así puedes consultarme cuantas veces sea necesario, si quieres me puedes enviar el archivo a mi correo [email protected]
Que tengas un feliz día!
"excel-ente" jaja
Muchas gracias por la solución, seguramente seguiré mejorando la aplicación para que quede cada vez más completa, preguntaré por este medio
saludos ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas