Código para evitar ingresar datos repetidos desde un textbox y un userform
Como hago para cargar ese macro
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 Then
dato = Target.Value
contarsi = Application.WorksheetFunction.CountIf(Columns(1), dato)
If contarsi > 1 Then
MsgBox "el dato ya existe no se permiten duplicados"
Target.Select
Target.ClearContents
Exit Sub
End If
End If
End Sub
Desde un userform, es decir, los datos de
código nombre cedula, se pasan desde textbox a las celdas, como hago
para que primero me cargue el código antes de pegar la información a las
celdas al darle clic a un botón...
3 respuestas
Respuesta de Luis Mondelo
9
Respuesta de Emmanuel Robles
2
Respuesta de Carlos Torres
1
me sirvio super util - Carlos Torres
Saludos he usado tu código, pero reconoce en el tercer ingreso oses el triplicado, porque no reconoce el duplicado, lo ingreso con un adicionalPrivate Sub CmdAñadirU_Click()dato = TextBox1.Valuecontarsi = Application.WorksheetFunction.CountIf(Sheets("hoja1").Columns(1), dato)If contarsi > 1 ThenMsgBox "El código ya existe, no se permiten duplicados"TextBox1.SetFocusExit SubEnd IfElseuf2 = Cells(Rows.Count, 2).End(xlUp).Row 'UnivHoja4.Range("B" & uf2 + 1) = TbxUnivTbxUniv = ""MsgBox "Dato ingresado"End IfEnd SubGracias por la respuesta que me puedas dar - Vi sor
Hola me sirvió tu código ya me dice el dato duplicado, pero tengo un problema que me lo sigue poniendo en la celda así este duplicado, dice que esta duplicado pero aun así lo pone. Ayuda por favor! - Estefania Guzman
Saludo, use el código y me arroja error subíndice fuera del intervalo luego le doy depurar y me aparece resaltado esta línea de cunción. contarsi = Application.WorksheetFunction.CountIf(Sheets("hoja2").Columns(1), dato). El archivo en el que estoy realizando el proyecto Tengo la primera hoja renombrada (menu) en el cual es el botón para llamar el formulario y en la hoja 2 renombrada (base datos), el textbos renombrado (txtcedula). Donde tendré el error. - Ronald Bellorin Herrera
Este es el codigo Modificado para mi proyecto respecto al del ejemplo Private Sub CommanGUARDAR_Click()dato = TXTCEDULA.Valuecontarsi = Application.WorksheetFunction.CountIf(Sheets("hoja2").Columns(1), dato)If contarsi > 1 ThenMsgBox "El código ya existe, no se permiten duplicados"TXTCEDULA.SetFocusExit Sub - Ronald Bellorin Herrera
Hola saludes, gracias por la explicacion está buena, pero yo necesito algo similar que al dar click al botón editar si la información del código y sus datos es la misma o no se ah editado nada un msgbox que me diga "primero edite" de lo contrario q me guarde los textbox reemplazados, en mi caso yo tengo cinco textbox txt_1, txt_2, txt_3, txt_4 y txt_5..q si cualquiera de los cinco no se ah editado un msgbox" edite txt_1" y si ya está editado el txt_1, q prosiga con el próximo msgbox"edite txt_2" y así sucesivamente, como sería el código gracias de ante tiempo quiero aprender más de todos los expertos...bendiciones. - Anónimo