Mensaje de advertencia

23/10/2007 - 04:38 por Beneco | Informe spam
Muy buenas nocehs a todos, de ante mano mil gracis por su colaboraciòn.
Tengo el sgte còdigo en un mòdulo, que me funciona perfectamente

Sub CargarTxt(txt As MSForms.TextBox)
If Application.CountIf(Columns(1), txt) = 0 Then _
Range("a65536").End(xlUp).Offset(1) = txt.Value Else _
MsgBox "El dato ya existe"
End Sub

En el TextBox2 del UserForm en el evento AfterUpdate coloco:
CargarTxt TxtBox2.

El propòsito ahora es que si se ejecuta el còdigo el cursor se detenga en el
TextBox2, como si fuera un CancelEvent.

He intentado con UserForm1.TextoBox2.Setfocus, pero no me funciona.



Beneco
 

Leer las respuestas

#1 Héctor Miguel
23/10/2007 - 07:05 | Informe spam
hola, (...) ?

prueba a cambiar de evento, y en el modulo de codigo de tu formulario usa algo +/- como lo siguiente:

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = Application.CountIf(Columns(1), TextBox2)
If Cancel Then MsgBox "El dato ya existe" Else _
Range("a65536").End(xlUp).Offset(1) = TextBox2
End Sub

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ la consulta original __
Tengo el sgte codigo en un modulo, que me funciona perfectamente
Sub CargarTxt(txt As MSForms.TextBox)
If Application.CountIf(Columns(1), txt) = 0 Then _
Range("a65536").End(xlUp).Offset(1) = txt.Value Else _
MsgBox "El dato ya existe"
End Sub
En el TextBox2 del UserForm en el evento AfterUpdate coloco: CargarTxt TxtBox2.
El proposito ahora es que si se ejecuta el codigo el cursor se detenga en el TextBox2, como si fuera un CancelEvent.
He intentado con UserForm1.TextoBox2.Setfocus, pero no me funciona.

Preguntas similares