Jump to content

REGISTRO DE ASISTENCIA


Go to solution Solved by JSDJSD,

Recommended Posts

Buenas tardes, 

acudo nuevamente a su ayuda, estoy intentando hacer un registro de asistencia a la Iglesia a donde asisto

la asistencia esta dividida en CLASES, cada CLASE tiene un MAESTRO y cada MAESTRO tiene sus ALUMNOS

las CLASES supone que es cada Hoja, dentro de la hoja esta el registro de Alumnos con su respectivo maestro

 

Lo que intento hacer es lo siguiente:

1° combobox me muestra las CLASES (Hojas)

2° combobox me muestra los MAESTROS (de la CLASE seleccionada)

1° listbox me muestra los ALUMNOS del MAESTRO seleccionado

Los errores que tengo:

1° combobox me muestra las CLASES (Hojas) - muestra todas las hojas, solo quiero mostrar las hojas de las clases (que obvie MENU, REGISTRO, DATOS)

2° combobox me muestra los MAESTROS (de la CLASE seleccionada) - esta limitado solo a la hoja A, si cambio de CLASE (Hoja)me sale error, por que no todas las tablas tienen el mismo nombre

1° listbox me muestra los ALUMNOS del MAESTRO seleccionado - cuando seleccionas el MAESTRO, el listbox se llena con todos los alumnos (no respeta condición de MAESTRO) y se repiten cada vez que cambias de MAESTRO.

 

Lo que deseo al final es GUARDAR el registro de alumnos asistentes en la hoja REGISTRO (acumulativo) fecha tras fecha, donde la condición es si el CHECK esta marcado se guarde con "SI" y si esta desmarcado con "NO" en la columna "ASISTIO", de la hoja "REGISTRO"

PD: Agradezco a ANTONI que siempre me esta ayudando.

De antemano Muchas Gracias

 

Bendiciones!!!

ESCUELA.xlsm

Link to post
Share on other sites

Muy Buenos días, les agradezco mucho por su ayuda y enseñanza

ambos casos tienen sus  peculiaridades, los he estado estudiando y tratando de entender.😊

En el caso de JSDJSD: (también lo había probado así )

utilizando la "If HCLASES.Name <> " con eso solo me da las hojas  obviando lo que no necesito

En el caso de ANTONI

utilizando: "If Len(HCLASES.Name) = 1 " con eso me da las hojas que necesito pero siempre y cuando tengan un Caracter como nombre

En el caso de JSDJSD: 

utilizando la "MAESTROS.RowSource = "'" & Sheets(hbuscada).Name & "'!A2:A" & Sheets(hbuscada).Range("A" & Rows.Count).End(xlUp).Row " con eso me selecciona la hoja y la columna que necesito

En el caso de ANTONI

utilizando: "MAESTROS.List = Sheets(CLASES.Value).Range("T" & CLASES & "[MAESTRO]").Value " con eso me selecciona la hoja y la columna que necesito pero siempre y cuando tenga una tabla con nombre parecido a la hoja: en este caso A,B;C, etc concatenado con "T", es decir la tabla debe llamarse TA, TB, TC, etc

 

ambos casos son muy buenos, estoy muy agradecido por su constante ayuda y enseñanza

 

gracias JSDJSD y ANTONI

Cuídense, Bendiciones....

🖐️✔️

 

Link to post
Share on other sites

Buenas tardes JSDJSD y ANTONI

los molesto nuevamente, por que ha surgido algo de ultimo momento que no me había percatado

el problemilla es que cuando le cargas mas datos a cada hoja en el combo MAESTROS, repite los nombres y a demás de ello, cuando tiene mas de un alumno solo se guarda 1 registro, 

debería funcionar que se guarde todos los registros del LISTBOX y la condición era que si esta con CHECK se guarde con SI y si no esta con CHECK que se guarde con NO

Por ultimo estimados, he preferido ya no trabajar con HOJAS por que me iba a ser un lio al momento de generar algún reporte de asistencia, lo mejor es que todas las asistencias estén en una sola hoja

para ello tengo un archivo donde LALUMNOS, es el registro de todos los alumnos, LMAESTROS, el registro de todos los maestros, RMATRICULA, el registro de todos los alumnos matriculados y ASISTENCIA, el registro de asistencia de todos los que llegaron a clases

ya he logrado cargar los COMBOBOX Y LISTBOX con los datos necesarios, pero necesito su ayuda al momento de guardar

LO QUE DESEO GUARDAR es todos los datos de listbox que esten marcados o seleccionados en la hoja RMATRICULA y al mismo tiempo que todos los datos marcados o seleccionados guarden un SI en la columna "MATRICULADOS" de la hoja LALUMNOS (esto con el fin de que cuando vuelva a generar matriculas ya no me cargue los alumnos que tengan el SI para no repetir la matricula)

les agradezco mucho me puedan ayudar

 

Bendiciones...

 

 

 

EEDD2020.xlsm

Link to post
Share on other sites

Hola JSDJSD 

Adjunto un nuevo archivo, donde he conseguido que me guarde todos los registros seleccionados en (LMATRICULAS)

y además  he conseguido que me guarde "SI" EN (LALUMNOS, columna "MATRICULADO") . pero aquí hay un error, solo me guarda "SI" en 1 registro

además de ellos me gustaría que los Option Buton me den las condiciones para mostrar, por defecto NO (todos los alumnos que no están matriculados, celdas vacías , columna MATRICULADO); SI (todos los alumnos que tengan la celda "SI", columna MATRICULADO) y TODOS (muestra todos los registros incluidos SI y Vacias)

 

Gracias por la gran ayuda

EEDD2020-2.xlsm

Link to post
Share on other sites

Lo de que no tengas duplicados en el combo me ha quedado claro pero porque no subes un ejemplo de como quieres que queden realmente los datos guardados en las diferentes hojas?

Es decir si por ejemplo filtramos lo siguiente como debería quedar en las diferentes hojas guardado?

 

GIF.gif

Link to post
Share on other sites

Hola JSDJSD 

ok, te explico, el archivo con el cual estoy trabajando es el nuevo que te estoy adjuntando (EEDD2020-2.xlsm), formulario FRMMATRICULA

el 1°combo me muestra la columna "I" (AULA-SUGERIDA) de la hoja LALUMNOS y cuando elijo me muestra en el ListBox los alumnos de esa aula sugerida; el 2° combo me muestra la columna "B" de la hoja LMAESTROS

 

lo que deseo es que cuando seleccione los alumnos en el LISTBOX me guarde los seleccionados en la hoja RMATRICULAS (esto ya lo logré), puedes revisar

lo que me falta es que al mismo tiempo de esos alunos seleccionados me guarde  la palabra "SI" en la columna "j" (MATRICULADO) de la hoja LALUMNOS . con que fin? con el fin de que cuando vuelva a hacer el proceso  en LISTBOX ya no me muestre esos ya matriculados.

ademas de ello deseo de que los option buton me den la opcion de filtrar en el LISTBOX por alguna necesidad segun esten o no esten matriculados; por defecto en el LISTBOX solo salen los que no estan matriculados

 

 

EEDD2020-2.xlsm

Link to post
Share on other sites

Hola JSDJSD 

Quedó excelente!!!

según veo siempre tiene que trabajar con la hoja "Hoja Trabajo" (ahi es donde se almacena la informacion segun la condicion y luego lo muestra en el listbox)

asumo tambien que con esto, ya tengo el camino para hacer un formulario para eliminar matriculas y modificar el "SI" en alumnos.

me gusto mucho el resultado. sobre todo los OPTION BUTON

 

Muchisimas gracias... cuidate...Bendiciones..

 

PD: gracias tambien a Antoni

rm1.JPG

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • Hola, tengo un problema para crear unos turnos rotativos aleatorios(mañana, tarde y noche), que al cambiar de mes los turnos cambien automáticamente según el mes, he intentado hacerlo con función SI pero no me queda aleatorios, me podrían ayudar con esta pequeña duda
    • Buenas noche amigos de Excel Ayuda quisiera que me ayuden completando mi amplicación con la ayuda de ustedes e creado una aplicación que ingresa datos para analizar en varios perìodos, los datos estan en un hoja BBDD, mi objetivo es que al analizar los productos cada periodo y culminarlos quiero pintarlos de acuerdo a dos criteros "suspendido" o "culminado" utilizando el buscador yo digito el "Lote" y doy clik en la lupa y busca el producto pero quiero que al ubicar el "Producto1, Produco2 etc" al selecionar uno de los dos botones de opción "verde o rojo" se pinten automaticamente en la base de datos BBDD todas las filas que buscó. Les agradezco por darme un tiempo en terminar mi proyecto. ModificarPintandoFila.xlsb
    • Hola a todos. De nuevo por aquí pidiendo ayuda. Nos han cambiado las licencias de Office a Office 365. He revisado las macros y las que me fallan tienen que ver con las que envío correos automatizados. He podido arreglar todas, cambiando el código porque de Office 2013 a Office 365 cambia el código, se usa el objeto CDO.Message. Pero se me resiste esta macro, que envía un correo e incluye como parte del cuerpo del correo un rango de celdas donde hay un gráfico. Os pego el código para ver si me podéis ayudar. Después de la instrucción "ActiveWorkbook.EnvelopeVisible = True" el programa ya no ejecuta nada más. He probado con F8 paso a paso y ahí se detiene. Necesito que el cuerpo del correo inserte las celdas  A2:T49 de la hoja "Tablero".  Si veis que así no se me entiende puedo crear un archivo y pegar la macro, pero como el código no es muy largo lo he puesto así.   Sub EnviarTableroInsertado() ApplicationOff 'variables Dim iMsg As Object, iConf As Object Dim cuerpo As String, schema As String, spie As String, mail As String Dim Flds As Variant Set iMsg = CreateObject("CDO.Message"): Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 Set Flds = iConf.Fields schema = "http://schemas.microsoft.com/cdo/configuration/" With Flds Flds.Item(schema & "sendusing") = 2 Flds.Item(schema & "smtpserver") = "smtp.office365.com" Flds.Item(schema & "smtpserverport") = 25 Flds.Item(schema & "smtpauthenticate") = 1 Flds.Item(schema & "sendusername") = "micorreo" Flds.Item(schema & "sendpassword") = "micontraseña" Flds.Item(schema & "smtpusessl") = True Flds.Update End With Set tb = Sheets("Tablero") tb.Select mail = tb.Range("Y2") tb.Range("A2:T49").Select ' ActiveWorkbook.EnvelopeVisible = True ' With iMsg Set .Configuration = iConf .From = "micorreo" With ActiveSheet.MailEnvelope .Item.Subject = "Produccion Tablero - Personal Propio I+M - " & tb.Range("M2") .Item.To = mail '.Item.CC = "" '.Item.Introduction = "Adjuntamos Produccion Tablero - Personal Propio I+M -" & tb.Range("M2") .Item.Send End With End With Sheets("TOTAL").Select Set iMsg = Nothing: Set iConf = Nothing: Set Flds = Nothing Set tb = Nothing ' ApplicationOn End Sub Gracias. Moisés.
    • Gerson Pineda, si lo he intentado cambiando de muchas formas el formato y no e logrado de solucionar
    • Hola No he visto tu archivo, pero solo es cosa que le cambies el formato a fecha   Saludos 
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy