¿Cómo desactivar el Textbox1 después de ingresar el dato y que el Textbox2 quede activo hasta que ingrese en el otro dato?

Tengo un formulario de planillas y quiero ingresar las notas a través de un formulario con 4 Textbox, (Que corresponden a los cuatro periodos de las calificaciones), pero que me vaya desactivando el textbox que ya tiene el dato del periodo ya calificado.

Tengo el siguiente código que me los desactiva todos al ingresar cualquier nota y hacer clic en el botón "REGISTRAR NOTA"

Que puedo hacer si es posible.

Le doy gracias de antemano, soy nuevo en esto, disculpe cualquier desconocimiento de mi parte en la materia:

Private Sub RegistrarNota_Click()
Range("D8").Value = TextBox1.Value
TextBox1.Enabled = False 'Me Desactiva la Caja de Texto1

Range("E8").Value = TextBox2.Value
TextBox2.Enabled = False 'Me Desactiva la Caja de Texto2

Range("F8").Value = TextBox3.Value
TextBox3.Enabled = False 'Me Desactiva la Caja de Texto3

Range("G8").Value = TextBox4.Value
TextBox4.Enabled = False 'Me Desactiva la Caja de Texto4

End Sub

1

1 respuesta

Respuesta
1

Si quieres conservar la mayor parte de tu código, yo pondría algo así:

Private Sub RegistrarNota_Click()
Range("D8").Value = TextBox1.Value
if Range("D8").Value <> "" then TextBox1.Enabled = False 'Me Desactiva la Caja de Texto1
Range("E8").Value = TextBox2.Value
if Range("E8").Value <> "" then TextBox2.Enabled = False 'Me Desactiva la Caja de Texto2
Range("F8").Value = TextBox3.Value
if Range("F8").Value <> "" then TextBox3.Enabled = False 'Me Desactiva la Caja de Texto3
Range("G8").Value = TextBox4.Value
if Range("G8").Value <> "" then TextBox4.Enabled = False 'Me Desactiva la Caja de Texto4
End Sub

así sólo se desactivan las celdas en caso de que en los textbox correspondientes haya habido un dato.

Muchas gracias compañero Manuel,

El código me funciona, pero quiero es que al abrir nuevamente el formulario, ese Textbox muestre  la calificación existente y no dé la posibilidad de ingresar una nueva calificación en esa Textbox... y asi sucesivamente con los otros Textbox ...

Quiero que cuando abra nuevamente el formulario ya me aparezca la calificación del primer Textbox en el formulario y ademas deshabilitada.

Si no es mucha molestia me podrias mostrar por es medio un nuevo  código, o enviarlo a mi  correo electronico: [email protected]

Gracias nuevamente

Le doy una pista... en el evento WorkBook_Open

if Range("D8").Value <> "" then TextBox1.Enabled = False

Con eso consigue que si hubiese algo en D8, el Textbox correspondiente apareciera deshabilitado.

El resto es fácil, a ver si eres capaz de completarlo.

Buenas tardes compañero Manuel,

Lo siento pero no he sido capaz de hacer funcionar el formulario, lo he colocado en todas partes y me muestra un error.

Por favor ayúdeme a solucionar ese formulario, que quede completamente desabilitado el Textbox que se ingresó con anterioridad hasta terminar las cuatro calificaciones... 

Soy un principiante y no estudie programación, soy un aprendiz autodidacta. Gracias

http://www.mediafire.com/view/bxglckbzb14l9n3/Libro1(2).xlsm

Le paso el archivo con el código.

Como verá, hay un módulo con una función llamada RevisaDatos que debe retocar, y en el código de la Hoja1 también debe cambiar alguna cosilla para que funcione con sus datos. Además, para hacerlo más interesante, en lugar de 4 casillas he hecho 3. Le toca a usted hacer la cuarta casilla y programarla siguiendo el guión de las otras.

Le costará algo de trabajo, pero seguro que puede. Lea la macro despacio para entender lo que va haciendo.

Un saludo.


PD: Si se pierde mucho, le dejo la solución.

http://www.mediafire.com/view/gc252yxu1bnzg1m/Libro1(3).xlsm

¡Gracias! 

Mil gracias por su ayuda.

Me funciona a la perfección y logré configurar mi formulario con 4 Textbox.

Continué así que Dios lo sabrá Congratular ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas