Página 1 de 1

controles em tempo de execução

Enviado: Sáb Jul 13, 2019 6:10 am
por odhsseu
Bom dia a todos,

Primeiramente gostaria de agradecer a oportunidade de participar desse fórum. Estou iniciando no VBA e estava com dificuldade de encontrar materiais de aprendizagem.

Bem, meu problema é o seguinte: não estou conseguindo criar (n) controles em tempo de execução. Estou fazendo uma frequência de alunos de um curso. Logo, um curso x possui 3 turmas e cada turma com alunos diferentes e também com quantidade de alunos diferentes. Como exemplo, digamos que a turma 1 possui 30 alunos, a turma 2 possua 23 e a turma 3 possua 27 alunos. Acontece que eu esbarrei em como criar um checkbox em tempo de execução que seja funcional. Por padrão, todos os alunos aparecerão listados um abaixo do outro com sua respectiva checkbox e estas checkbox estarão todas desmarcadas e, com isso, todos os alunos presentes. Daí o professor clica apenas na checkbox do aluno que faltou, registrando-se assim, a ausência daquele aluno faltoso. Alguém poderia me ajudar?

Re: controles em tempo de execução

Enviado: Sáb Jul 13, 2019 10:29 am
por Reinaldo
Creio não haver entendi a demanda.
Porque em tempo de execução?
Onde seria essa lista "...todos os alunos aparecerão listados um abaixo do outro.."
Pode dispor de um modelo que seja representativo de sua estrutura de dados e desenvolvimento efetuado
Utilize dados ficticios.

Re: controles em tempo de execução

Enviado: Qui Jul 18, 2019 8:05 am
por odhsseu
Bom dia,

Reinaldo eu venho do php, daí pensei dessa forma, de trabalhar com controles dinâmicos em tempo de execução. No caso do Excel, eu já fiz um userform para cadastrar os alunos. Esses dados estão sendo armazenados na própria planilha. (Até aqui tá tudo bonitinho). Em outro userform, para registro de frequência, eu gostaria de gerar (n) checkbox porque estou trabalhando com a realidade de não ser possível quantificar quantos alunos terão em uma turma. Cada turma que for aberta poderá ter (n) alunos matriculados. (Aqui o trem sai da linha).

Consigo recuperar os dados salvos da planilha e jogar no userform de registro de frequência, o que não estou conseguindo é criar checkbox em tempo de execução que seja funcional. Eu planejei fazer uma lista com todos os alunos e uma checkbox para cada um, mas se tiver outra forma de fazer esse registro de frequência pode ser também. Haveria outra forma?

O que quero fazer é bem simples e segue um exemplo (grosseiro)

###Userform Main = alunos / cursos / turmas // aqui os dados básicos são inseridos //

#alunos - cadastro de alunos

#criar curso - criar curso

#turmas - criar turma com seus dias e horários para ser associado ao curso

###userformfrequencia = registrar frequencia //aqui os dados são manipulados para se ter um registro

Aqui eu pensei de gerar controles em tempo de execução porque a cada turma que é aberta não se sabe quantos alunos irão formar a turma. Sempre vai ser uma quantidade variável.

Bem, eu pensei em controles em tempo de execução que, através de um loop, pegasse a quantidade de alunos da turma e gerasse um checkbox para cada um deles. Pensei dessa forma, mas teria outra forma de fazer cumprir com o objetivo de registrar a frequência?

Desde já agradeço a toda ajudar que receber

Re: controles em tempo de execução

Enviado: Qui Jul 18, 2019 10:16 am
por Reinaldo
Eu particularmente avaliaria o uso de um listbox ou listview para listar os registros da turma, e a frequencia poderia ser marcada por ai; no momento não recordo qual dos dois objetos; tem a possibilidade de "mostrar" um check box ao lado de cada registro listado ou ainda atraves de um ou dois cliques no registro desejado.
Em paralelo veja neste link https://www.tomasvasquez.com.br/blog/mo ... oft-excel/ o modelo de cadastro; de uma especial atenção a versão Gerador de Cadastros 2018, que adiciona/gera controles/objetos na execução.
A base está em https://github.com/Tomamais/VbaFormBuilder https://github.com/Tomamais/VbaFormBuil ... erForm.bas