Le hice varios cambios al UF para mantener las opciones de búsqueda, pero considerando qué opción se elige será la col a controlar.
Por ej, al crear un nuevo registro, se mira la col B. Con opción de cambiar el dato ingresado o cancelar. Si se graba, se agrega al final ya que luego se ordena.
Private Sub cbtNueClien_Click()
On Error Resume Next
Dim fila As Integer
Set ws = ActiveSheet
If cboHojas.Value = "" Then
MsgBox "NO HA SELECCIONADO HOJA"
Exit Sub
Else
If Application.CountIf(ActiveSheet.Range("B2:B50000"), txtProd.Value) Then 'Busca en la columna B si existe el nombre
Mensage = MsgBox("El producto " & txtProd.Text & " ya existe." & vbCrLf & vbCrLf & _
"Presione ACEPTAR para escribir nuevo nombre y seguir, o CANCELAR para editarlo en otro proceso.", vbInformation + vbOKCancel, "CONTACTO EXISTENTE")
txtProd.Text = "" 'Si te dá mensage, Limpia el TextBox
If Mensage = vbOK Then 'vuelve al control para escribir otro texto
txtProd = "": txtProd.SetFocus: Exit Sub
Else
Exit Sub
End If
End If
''''
'Inserta datos de nuevo producto. Se agrega al final y luego se ordena
With ws
fila = .Range("B" & .Rows.Count).End(xlUp)(2).Row
Call ingresar_datos(fila)
End With
End If
Buscar.Enabled = False
End Sub
Hay varios cambios más que te los comenté en el correo y los encontrarás explicados en el código (lo encontré un poquito enredado jejeje)
Te invito a que descargues los formularios que dejo en esta entrada de mi Blog. Corresponden a los videos Nº 27 y 28 de mi canal: Registrar y Modificar/Eliminar Registros. Ejemplos sencillos y fáciles de adaptar.
Sdos!