Buenos días amigo espero estés bien revise con detenimiento mi código y me percate de que tenia errores en los nombres de los Formularios Login (frmlogin) y Fechas (frmfechas) de igual modo detecte por ensayo y error (ya que no se mucho de programación) que al remover frmfechas.Show de la sección de código:
VBA Code:
Private Sub CmdACEPTAR_Click()
Call Module1.BotónAceptar
frmfechas.Show
End Sub
se solvento el problema sin embargo ahora al introducir datos erróneos de Usuario (TxtUSUARIO) y Clave (TxtCLAVE) me devuelve un doble MsgBox indicándome que el "Usuario o Clave Incorrectas seguidamente te adjunto el código del Moduo1 para que lo revises:
Code:
Option Explicit
Sub AlAbrirLibro(): frmlogin.Show: End Sub
Sub BotonAceptar()
'Validacion de Usuario y Clave
If frmlogin.TxtUSUARIO.Value = "" Or frmlogin.TxtCLAVE.Value = "" Then
MsgBox "Ingrese Usuario y Clave.", vbExclamation
frmlogin.TxtUSUARIO.SetFocus
Exit Sub
End If
Dim RangoUSUARIO As Range
Dim USUARIO As Range
Dim Senal As Boolean
Set RangoUSUARIO = Sheet12.ListObjects("USUARIOS").ListColumns(1).DataBodyRange
Senal = False
For Each USUARIO In RangoUSUARIO
With frmlogin
If USUARIO.Value = .TxtUSUARIO.Value And USUARIO.Offset(0, 1).Value = .TxtCLAVE.Value Then
Senal = True
Application.Visible = True
Dim RangoVer As Range
Dim HojaPrivi As Range
Dim HojaLibro As Worksheet
Set RangoVer = Sheet12.ListObjects("PRIVILEGIOS").ListColumns(1).DataBodyRange
For Each HojaLibro In Application.ActiveWorkbook.Worksheets
For Each HojaPrivi In RangoVer
If HojaPrivi.Value = HojaLibro.CodeName And _
HojaPrivi.Offset(0, 1).Value = frmlogin.TxtUSUARIO.Value Then
HojaLibro.Visible = xlSheetVisible
End If
Next HojaPrivi
Next HojaLibro
Unload frmlogin
frmfechas.Show
Exit For
Else
frmlogin.TxtUSUARIO.Value = ""
frmlogin.TxtCLAVE.Value = ""
MsgBox "Usuario o Clave Incorrectas.", vbExclamation
frmlogin.TxtUSUARIO.SetFocus
End If
End With
Next USUARIO
End Sub
En otro orden de ideas me gustaria saber si me puedes ayudar con este otro problema:
Tengo una lista desplegable en la Celda I8 de la Sheet8 (HOME) la cual contiene cinco ítems: Iletrado, Primaria, Secundaria, Técnica y Superior, de la cual requiero que cuando se seleccione uno de esos ítems aparezca automáticamente el Formulario Nivel (frmnivel) el cual está compuesto por el ComboBox (CombLISTA) que debe mostrar los siguientes ítems: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 y Completa, además de los OptionButton (OptGRADO, OptTRIMESTRE, OptSEMESTRE y OptAÑO)
Concretamente requiero saber si es posible que mediante una macro al elegir los ítems de la lista desplegable de la Celda I8 se cumplan las siguientes condiciones en el Formulario Nivel (frmnivel):
Iletrado: el ComboBox (CombLISTA) solo debe mostrar el item 0 y no se podrán seleccionar ninguno de los OptionButton.
- Primaria:el ComboBox (CombLISTA) solo debe mostrar los ítems 1er, 2do, 3er, 4to, 5to, 6to y Completa:
- En caso de elegir Completa: no se podrán seleccionar ninguno de los OptionButton.
- En caso de elegir 1er, 2do, 3er, 4to, 5to, 6to solo se podrá seleccionar el OptionButton: OptGRADO
- Secundaria:el ComboBox (CombLISTA) solo debe mostrar los ítems 7mo, 8vo, 9no, 10mo, 11er, 12do y Completa:
- En caso de elegir Completa: no se podrán seleccionar ninguno de los OptionButton.
- En caso de elegir 7mo, 8vo, 9no, 10mo, 11er, 12do solo se podrá seleccionar el OptionButton: OptGRADO
- Técnica:el ComboBox (CombLISTA) solo debe mostrar los ítems 1er, 2do, 3er, 4to, 5to, 6to, 7mo, 8vo, 9no, 10mo, 11er, 12do y Completa:
- En caso de elegir Completa: no se podrán seleccionar ninguno de los OptionButton.
- En caso de elegir 1er, 2do, 3er, 4to, 5to, 6to, 7mo, 8vo, 9no, 10mo, 11er, 12do solo se podrán seleccionar los OptionButton: OptTRIMESTRE, OptSEMESTRE.
- Superior:el ComboBox (CombLISTA) solo debe mostrar los ítems 1er, 2do, 3er, 4to, 5to, 6to, 7mo, 8vo, 9no, 10mo, 11er, 12do, 13er, 14to, 15to, 16to, 17mo, 18vo, 19no, 20mo y Completa:
- En caso de elegir Completa: no se podrán seleccionar ninguno de los OptionButton.
- En caso de elegir 1er, 2do, 3er, 4to, 5to, 6to, 7mo, 8vo, 9no, 10mo, 11er, 12do, 13er, 14to, 15to, 16to, 17mo, 18vo, 19no, 20mo solo se podrán seleccionar los OptionButton: OptTRIMESTRE, OptSEMESTRE y OptAÑO.
Una vez elegido el Item en el ComboBox y seleccionado el OptionButton correspondiente (en los casos que aplique) la información proveniente de ambos debe de concatenarse separada por un espacio (Ejemplo: 7mo Grado) y registrarse en la Celda I12 de la Sheet8 (HOME) al hacer click en el Botón Registrar (CmdREGISTRAR) ocultándose automáticamente el Formulario Nivel (frmnivel) al registrar la información.