Activar frames conteniendo optionbuttons para enviar a otro userform
Estimados amigos del foro, no entiendo la razón por la que no funciona el código siguiente,
cuando uso with end with me funciona solo mostrándome el contenido del ultimo frame entonces use CASE para que en caso de estar activo uno de estos frame me muestre solo su contenido.
Para mostrar solo uno de estos frames uso otro commandbuton que hace que no hagan visibles los demás y solo quede uno que haya seleccionado, entonces ese es el CASE. Expongo el óodigo allí se encontraran con códigos que se refieren a Hechos, Conceptos, Proceso, Procedimiento, Principios y MetaCognición, estos option butons están contenidos en cada uno de lo 6 frames. El caption de cada frame es Nivel I, Nivel II, ... Nivel VI:
Private Sub CmdDefinicion_Click() Select Case Frame Case Me.Frame1.ActiveControl 'With Frame1.ActiveControl 'Then frmVerTaxDef.LbNiv = Frame1.Caption frmVerTaxDef.LbNivel = CmdVRecordar.Caption If OpBnHechos.Value = True Then frmVerTaxDef.LbDim = OpBnHechos.Caption ElseIf OpBnConcept.Value = True Then frmVerTaxDef.LbDim = OpBnConcept.Caption ElseIf OpBnProces.Value = True Then frmVerTaxDef.LbDim = OpBnProces.Caption ElseIf OpBnProced.Value = True Then frmVerTaxDef.LbDim = OpBnProced.Caption ElseIf OpBnPrinc.Value = True Then frmVerTaxDef.LbDim = OpBnPrinc.Caption ElseIf OpBnMetaCog.Value = True Then frmVerTaxDef.LbDim = OpBnMetaCog.Caption End If 'End With Case Me.Frame2.ActiveControl 'With Frame2.ActiveControl 'Then frmVerTaxDef.LbNiv = Frame2.Caption frmVerTaxDef.LbNivel = CmdVComprender.Caption If OpBnHechos.Value = True Then frmVerTaxDef.LbDim = OpBnHechos.Caption ElseIf OpBnConcept.Value = True Then frmVerTaxDef.LbDim = OpBnConcept.Caption ElseIf OpBnProces.Value = True Then frmVerTaxDef.LbDim = OpBnProces.Caption ElseIf OpBnProced.Value = True Then frmVerTaxDef.LbDim = OpBnProced.Caption ElseIf OpBnPrinc.Value = True Then frmVerTaxDef.LbDim = OpBnPrinc.Caption ElseIf OpBnMetaCog.Value = True Then frmVerTaxDef.LbDim = OpBnMetaCog.Caption End If 'End With Case Me.Frame3.ActiveControl 'With Frame3.ActiveControl 'Then frmVerTaxDef.LbNiv = Frame3.Caption frmVerTaxDef.LbNivel = CmdVAplicar.Caption If OpBnHechos.Value = True Then frmVerTaxDef.LbDim = OpBnHechos.Caption ElseIf OpBnConcept.Value = True Then frmVerTaxDef.LbDim = OpBnConcept.Caption ElseIf OpBnProces.Value = True Then frmVerTaxDef.LbDim = OpBnProces.Caption ElseIf OpBnProced.Value = True Then frmVerTaxDef.LbDim = OpBnProced.Caption ElseIf OpBnPrinc.Value = True Then frmVerTaxDef.LbDim = OpBnPrinc.Caption ElseIf OpBnMetaCog.Value = True Then frmVerTaxDef.LbDim = OpBnMetaCog.Caption End If 'End With Case Me.Frame4.ActiveControl 'With Frame4.ActiveControl 'Then frmVerTaxDef.LbNiv = Frame4.Caption frmVerTaxDef.LbNivel = CmdVAnalizar.Caption If OpBnHechos.Value = True Then frmVerTaxDef.LbDim = OpBnHechos.Caption ElseIf OpBnConcept.Value = True Then frmVerTaxDef.LbDim = OpBnConcept.Caption ElseIf OpBnProces.Value = True Then frmVerTaxDef.LbDim = OpBnProces.Caption ElseIf OpBnProced.Value = True Then frmVerTaxDef.LbDim = OpBnProced.Caption ElseIf OpBnPrinc.Value = True Then frmVerTaxDef.LbDim = OpBnPrinc.Caption ElseIf OpBnMetaCog.Value = True Then frmVerTaxDef.LbDim = OpBnMetaCog.Caption End If 'End With Case Me.Frame5.ActiveControl 'With Frame5.ActiveControl 'Then frmVerTaxDef.LbNiv = Me.Frame5.Caption frmVerTaxDef.LbNivel = Me.CmdVEvaluar.Caption If OpBnHechos.Value = True Then frmVerTaxDef.LbDim = OpBnHechos.Caption ElseIf OpBnConcept.Value = True Then frmVerTaxDef.LbDim = OpBnConcept.Caption ElseIf OpBnProces.Value = True Then frmVerTaxDef.LbDim = OpBnProces.Caption ElseIf OpBnProced.Value = True Then frmVerTaxDef.LbDim = OpBnProced.Caption ElseIf OpBnPrinc.Value = True Then frmVerTaxDef.LbDim = OpBnPrinc.Caption ElseIf OpBnMetaCog.Value = True Then frmVerTaxDef.LbDim = OpBnMetaCog.Caption End If 'End With Case Me.Frame6.ActiveControl 'With Frame6.ActiveControl 'Then frmVerTaxDef.LbNiv = Me.Frame6.Caption frmVerTaxDef.LbNivel = Me.CmdVCrear.Caption If OpBnHechos.Value = True Then frmVerTaxDef.LbDim = OpBnHechos.Caption ElseIf OpBnConcept.Value = True Then frmVerTaxDef.LbDim = OpBnConcept.Caption ElseIf OpBnProces.Value = True Then frmVerTaxDef.LbDim = OpBnProces.Caption ElseIf OpBnProced.Value = True Then frmVerTaxDef.LbDim = OpBnProced.Caption ElseIf OpBnPrinc.Value = True Then frmVerTaxDef.LbDim = OpBnPrinc.Caption ElseIf OpBnMetaCog.Value = True Then frmVerTaxDef.LbDim = OpBnMetaCog.Caption End If Case Else MsgBox "Debe seleccionar" 'End With End Select
Con with funciona en parte pues solo muestra lo del ultimo frame, entonces los desactive, el frmaVerDef es otro userform al cual envío el con el botón una palabra que esta asi el codigo :
If OptionButton1.Value = True Then frmVerTaxDef.TbxDefVerb = Me.CbxRecHechos.Value
Porque no funciona, al hacer click en el botón, si los with están desactivados , me sale esto: