Problema Con CheckBox en Userform de Excel

Trabajamos creando un formulario, En el Tengo que usar el CheckBox, Para seleccionar si el "usuario"

Es mayor de 18 o menor de 18

Entonces Tengo Todos los Demás Códigos Correctos:

Private Sub CommandButton1_Click()
Selection.EntireRow.Insert
TextBox1 = Empty
TextBox2 = Empty
TextBox1.SetFocus
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub CommandButton3_Click()
TextBox1 = Empty
TextBox2 = Empty
TextBox1.SetFocus
End Sub
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then
Range("C2").Select
ActiveCell.Value = OptionButton1.Caption
End If
If OptionButton1.Value = False Then
MsgBox "Seleccione Una Casilla"
Else
If OptionButton1.Value = False And OptionButton2.Value = False And Len(TextBox1.Text) = 0 Then
MsgBox "Seleccione Una Casilla"
End If
End If
End Sub
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then
Range("C2").Select
ActiveCell.Value = OptionButton2.Caption
End If
If OptionButton2.Value = False Then
MsgBox "Seleccione Una Casilla"
Else
If OptionButton2.Value = False And OptionButton1.Value = False And Len(TextBox1.Text) = 0 Then
MsgBox "Seleccione Una Casilla"
End If
End If
End Sub
Private Sub TextBox1_Change()
Range("A2").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub
Private Sub TextBox2_Change()
Range("B2").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub

Mi Problema Reside es en los Benditos CheckBox [_]+18 y [_]-18

Lo que busco es que al seleccionar uno. Me registre en la base de datos de Excell:

+18 si es mayor de edad (solo se puede elegir esto si el checkbox +18 es seleccionado ya que solo determina si uno es menor o mayor de edad)

Y - 18 Si es Menor de Edad.

Ademas que al seleccionar Uno, Se Deseleccione el Otro.

Y al No seleccionar ninguno, Me envie el MsgBox "Porfavor Seleccione Su Rango de Edad"

Sin Embargo llevo rato y Todo Codigo que intento me envia Error...

Porfavor si alguien puede ayudarme le Agradeceria mucho

Respuesta
1

[Hola 

Te recomiendo que utilices optionbutton porque tu propósito es solo seleccionar una opción

Bueno, Lo pensé, Sin Embargo me piden de Tarea Realizar la función que especifico.

¿Por qué crees que no eh hecho lo que me planteas? :/

Te paso la macro

Private Sub CheckBox1_Click()
'Act. Adriel ortiz
'
Range("D2").Select
'
    If CheckBox1 Then
        edad = "'" & "+18"
        ActiveCell.FormulaR1C1 = edad
    Else
        ActiveCell.FormulaR1C1 = ""
    End If
End Sub
'
Private Sub CheckBox2_Click()
'Act. Adriel ortiz
'
Range("D2").Select
'
    If CheckBox2 Then
        edad = "'" & "-18"
        ActiveCell.FormulaR1C1 = edad
    Else
        ActiveCell.FormulaR1C1 = ""
    End If
End Sub
'
Private Sub CommandButton1_Click()
'Act. Adriel ortiz
'
    If CheckBox1 = True And CheckBox2 = True Then
    MsgBox "solo puede elegir una opción"
    Exit Sub
    End If
End Sub

Ajusté la macro para el commandbutton1

Private Sub CommandButton1_Click()
'Act. Adriel ortiz
'
    If CheckBox1 = True And CheckBox2 = True Then
     MsgBox "solo puede elegir una opción"
        CheckBox1 = False
        CheckBox2 = False
        Exit Sub
    Else
        MsgBox "Elige una edad"
        Exit Sub
    End If
End Sub

Valora la respuesta para finalizar saludos

¡Gracias! Mil Gracias! Funciona de maravilla

Solo un error en la segunda línea de código de

Else
        MsgBox "Elige una edad"
        Exit Sub
    End If
End Sub

ya que no deja ingresar los datos si el usuario selecciona una opcion de +18 o - 18

Es un error mío, pon así

Private Sub CommandButton1_Click()
'Act. Adriel ortiz
'
    If CheckBox1 = True And CheckBox2 = True Then
     MsgBox "solo puede elegir una opción"
        CheckBox1 = False
        CheckBox2 = False
        Exit Sub
     End If
End Sub

¡Gracias! igual forma lo arregle, y use algo similar.

Ahora tengo otro problema, Digamos subimos al nivel dos.

piden un Combobox y una listBox

ya hice que el combobox funcione, Pero la lista me genera Error

y no puedo hacer que no deje ingresar los datos si no se elije una opcion :(

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas