Como deshabilito el 3 textbox en excel cuando escribo en el cuarto textbox?

Tengo un formulario multipagina en excel con 5 paginas, una para cada pregunta. Quiero una macro que haga lo siguiente:

Al abrir la primera pagina, donde tengo una pregunta, el estudiante debe marcar con una equis en el textbox que considere correcto (a - b - c - d), pero que cuando marque una x en cualquier letra (Textbox) los otros tres se deshabiliten, para evitar que marque dos o mas respuesta.

Ya lo hice con un formulario de excel común y corriente, y me funciona, pero en el formulario multipagina solo funciona para la primera pregunta, para las demás, no me deja y muestra error.

Agradezco a un buen amigo que me ayude a conseguir el código ideal.

1 respuesta

Respuesta
1

Puedes poner aquí tu código.

¿Qué mensaje de error te envía?


Otra alternativa es utilizar option button, de esta manera solamente pueden elegir una opción.

Puedo utilizar esta opción pero no sé que código voy a colocar en el botón guardar del formulario para que me guarde la respuesta en una hoja especifica debajo de la ultima fila ocupada, si no es mucha molestia escríbame un ejemplo, se lo agradezco.

Este es el formulario, me funciona en la primera página pero en las demás, me muestra un error que no encuentra el objeto

Este es el código que utilizo en los formularios independientes:

Private Sub TxtA_Change()
desactivar TxtB, TxtC, TxtD
End Sub

Sub desactivar(t1, t2, t3)
Me.Controls("TxtA" & t1).Enabled = False
Me.Controls("TxtC" & t2).Enabled = False
Me.Controls("TxtD" & t3).Enabled = False
Me.Controls("TxtB" & t3).Enabled = False

End Sub

Private Sub TxtB_Change()
desactivar TxtA, TxtC, TxtD
End Sub

Private Sub TxtC_Change()
desactivar TxtA, TxtB, TxtD

End Sub

Private Sub TxtD_Change()
desactivar TxtA, TxtB, TxtC

End Sub

____________

Este mismo no me funciona en el formulario multipagina, ayúdeme por favor...

Revisa el siguiente ejemplo, espero que sea lo que necesitas

Private Sub CommandButton1_Click()
  If OptionButton1 = OptionButton2 = OptionButton3 = OptionButton4 = True Then
    MsgBox "Selecciona una opción"
    Exit Sub
  End If
  Dim lr As Long
  With Sheets("Hoja3")
    lr = .Range("A" & Rows.Count).End(3).Row + 1
    If OptionButton1 Then .Range("A" & lr) = "A"
    If OptionButton2 Then .Range("A" & lr) = "B"
    If OptionButton3 Then .Range("A" & lr) = "C"
    If OptionButton4 Then .Range("A" & lr) = "D"
  End With
End Sub

¡Gracias! 

Le agradezco su ayuda, fue excelente y muy valiosa para mi proyecto

bendiciones.

Funcionó a mil maravillas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas