Qué tal??! Podrían ayudarme con lo siguiente??
En un formulario (UserForm1) tengo los siguientes controles: un
textbox1, un textbox2 y textbox3, y en otro formulario (UserForm2)
tengo dos option button opt1 y opt2.
Textbox1, textbox2 y textbox3 se cargan con valores (números con dos
decimales aunq es posible que alguno de ellos sea cero) deseo que al
escoger uno de los option button se sume inmediatamente cierto valor a
cada textbox (Si es opt1 se sume 15, si es opt2 se sume 21 a c/
textbox). He intentado hacerlo asociando un procedimiento al evento
click de cada optionbutton de la siguiente manera para cada option
button obviamente utilizando el valor correpondiente (15 o 21):
Sub opt1_Click()
If optX.value=true then
textbox1.text=val(textbox1.text)+15
textbox2.text=val(textbox2.text)+15
textbox3.text=val(textbox3.text)+15
Else
textbox1.text=val(textbox1.text)-15
textbox2.text=val(textbox2.text)-15
textbox3.text=val(textbox3.text)-15
End If
End Sub
Pero no funciona pues:
1. Al hacer click en uno de los option button SIEMPRE se tendrá un
valor TRUE por lo cual nunca entra a Else
2. Pensé en hacerlo de la siguiente manera (reitero dependiendo del
option button para opt2 sería -15+21):
Sub opt1_Click()
If optX.value=true then
textbox1.text=val(textbox1.text)-21+15
textbox2.text=val(textbox2.text)-21+15
textbox3.text=val(textbox3.text)-21+15
End If
End Sub
Pero qué sucede si he ingresado por 1era vez a UserForm2? No hay razón
para restar primero 21 y luego sumar los 15, se debería sólamente
sumar 15.
3. Imaginen que uno de los textbox tiene el valor cero al restar
-21+15 me quedaría -6!! y obviamente eso es incorrecto
Espero hayan comprendido mi inquietud y ojalá puedan ayudarme.
Saludos!!
Leer las respuestas