Formularios III

Hola una vez más:
Tengo un formulario con 5 etiquetas, 5 cajas de texto y 4 botones (agregar, buscar, modificar y salir). El botón agregar pasa los datos capturados en el formulario a la base de clientes, ¿cómo le hago para que antes de capturar los busque si el cliente no esta dado de alta, y en caso afirmativo, bloquee el registro?
Gracias de antemano y saludos
Private Sub CommandButton1_Click()
Sheets("CLIENTES").Select
Application.Goto Reference:="INICIO"
Application.Goto Reference:="FINREL"
Selection.EntireRow.Insert
ActiveCell.Offset(-1, 0).Range("A1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(-1, 7).Range("A1:G1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(0, -6).Range("A1").Select
ActiveCell = TextBox1
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell = TextBox2
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell = TextBox3
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell = TextBox4
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell = TextBox5
Range("B5").Select
Range("B5:F13").Sort Key1:=Range("B6"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Sheets("Caratula").Select
Unload UserForm2
End Sub

1 respuesta

Respuesta
No es exactamente la respuesta a tu pregunta pero quizá con un poco de ingenio puedas adaptarlo a tus necesidades.
Se trata de un formulario con un textbox y un botón, cuando digitas una palabra excel lo busca en la hoja activa y si no lo encuentra te manda el mensaje de "se graban datos" o sea ahí iría tu código de grabación. Si en cambio encuentra el valor en la hoja, se ubica en la celda y te anuncia que el valor ya existe.
Dado que esta es mi primer respuesta, sepan disculpar si cometo algún error.
Si, esa esa la idea, ahora ¿cómo y dónde escribo eso?
Private Sub CommandButton1_Click()
Set encontrar = ActiveSheet.Cells.Find(TextBox1)
If encontrar Is Nothing Then
MsgBox "Se graban datos"
'aqui pones todo el codigo que actualmente usas para grabar los datos
Else
MsgBox "El valor se encontró en la celda" & encontrar.Address
Range(encontrar.Address).Select
End If
TextBox1.Text = ""
End Sub
Disculpa no te incluí antes el código pero cuando estaba por hacerlo se me cortó la conexión.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas