Tengo un Frame en Excel con varios OptionButton y deseo saber el valor del seleccionado
Tenemos un formulario en Excel vba con un Frame el cual contiene 5 OptionButton. Deseamos que al momento de elegir una de las 5 opciones me arroje el valor de dicha opción o que nos arroje un mensaje indicando que no hemos elegido ninguna opción.
Este formulario nos podrá ayudar para cuando queremos que el usuario elija sólo una opción y dicha opción se capture en alguna celda u otro formulario.
Formulario
Cómo funciona
El código tiene 2 rutas, una es usando Select Case y otra es usando If… Then. Cualquiera de las 2 opciones evaluará el valor de cada OptionButton elegido y validará su valor, el cual, si devuelve Verdadedero, la etiqueta o Caption de la opción se guardará en una variable llamada Opcion.
Código del formulario
Código con Select Case
Private Sub CommandButton1_Click() Dim Blog As String Dim Opcion As String Blog = "EXCELeINFO" With UserForm1 Select Case True Case .opc1.Value = True Opcion = .opc1.Caption Case .opc2.Value = True Opcion = .opc2.Caption Case .opc3.Value = True Opcion = .opc3.Caption Case .opc4.Value = True Opcion = .opc4.Caption Case .opc5.Value = True Opcion = .opc5.Caption Case Else Opcion = "Ninguno" End Select MsgBox "El valor elegido fue '" & Opcion & "'", vbInformation, Blog End With End Sub
Código con If… Then
Private Sub CommandButton2_Click() Dim Blog As String Dim Opcion As String Blog = "EXCELeINFO" With UserForm1 If .opc1.Value = True Then Opcion = .opc1.Caption ElseIf .opc2.Value = True Then Opcion = .opc2.Caption ElseIf .opc3.Value = True Then Opcion = .opc3.Caption ElseIf .opc4.Value = True Then Opcion = .opc4.Caption ElseIf .opc5.Value = True Then Opcion = .opc5.Caption Else Opcion = "Ninguno" End If MsgBox "El valor elegido fue '" & Opcion & "'", vbInformation, Blog End With End Sub
:: Descargar el ejemplo EXCELeINFO – Recoger valor de un OptionButton.zip