Notifications
Clear all

Resultado de acordo com checkbox/optionbox

14 Posts
2 Usuários
0 Reactions
3,058 Visualizações
(@ranjp)
Posts: 37
Trusted Member
Topic starter
 

Boas pessoal, estou aqui com mais um problema e gostaria muito de uma ajuda.

Na planilha anexo contem um formulario que irei utilizar como uma especia de "Ponto Eletronico" para controle interno. Basicamente a pessoa que ira utiliza-lo devera configura-lo clicando nas checkboxs e optionbox e apos isso, com o uso de um leitor de codigo de barras ira inserir o codigo do funcionario e apertar o botao "Registrar".
Meu problema esta em fazer com que cada optionbox ou checkbox selecionado gere um resultado no espaco Codigo ( aca nomeado como txtCodigo ). Por exemplo: clicando em Dia ira resultar em "1" ; clicando em Dia e Feriado ira resultar em "2" e assim vai. As combinacoes ja estao determnadas, porem ha pelo menos umas 24 combinacoes.

Tentei fazer por IF mas chega uma hora que para de funcionar, principalmente quando coloco varios AND na funcao IF. Mantive apenas como exemplo, 2 resultados usando o IF.

Agradeo a ajuda.

 
Postado : 06/11/2012 3:52 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não entendi muito bem, mas se puder indicar qual(is) (em uma tabelinha no excel),as combinações permitidas e quais as proibidas.
Creio que se for turno dia não pode ter noite; mas se for folga pode ter feriado? ou Falta?
e Normal refere-se a que?

 
Postado : 06/11/2012 9:55 am
(@ranjp)
Posts: 37
Trusted Member
Topic starter
 

Opa Reinaldo,

Me desculpe, na pressa eu apenas traduzi os labels sem me preocupar com o contexto e compreensao geral.
O formulario possui 4 textbox, 2 optionbox e 7 checkbox.
Dos textboxs apenas o txtFuncionarioCD sera preenchido pelo usuario. Os outros 3 textbox devera aparecer o texto ( resultado ) adequado de acordo com a combinacao de option e checkboxs. Porem, serao "editaveis" bastando o usuario clicar neles e alterar o conteudo.
Os 2 optionbox eh exatamente como vc escreveu: se 1 estiver ON o outro nao pode estar ON ( se for dia, nao sera noite xDDD ). Logo, esse eh uma opcao que pelo menos 1 necessariamente estara selecionada.
Os checkbox definirao as varias possibilidades em relacao ao horario de servico. Resumindo, pelo menos 1 botao ( o optionbox ) devera estar ON e no maximo 4 botoes ( 1 option mais 3 checkbox ) poderao estar selecionados ao mesmo tempo.
O resultado que devera ser gerado ( txtCodigo e txtHorario ) eh de acordo com a tabelinha em anexo.

As caixas estao separadas em 3 grupos ( o checkbox que esta sozinho na verdade faz parte do grupo Irregular ).
O grupo Turno eh referente ao noturno ou diurno. O grupo Irregular seria 1 dia ou noite de servico trabalhado ou nao por completo ( incluindo dia de servico em feriado ). O grupo Variacao seria referente a atrasos, saidas mais cedo, saidas e retorno durante o expediente.

Espero ter conseguido explicar o meu problema e necessidade.

 
Postado : 06/11/2012 8:43 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Robson,
Estou vendo as combinações que enviou, porem ficou mais uma duvida.
Os codigos (TxtCodigo) se repetem de 1 a 8 porem com combinações/descrições diferentes? é isso mesmo?

 
Postado : 08/11/2012 12:10 pm
(@ranjp)
Posts: 37
Trusted Member
Topic starter
 

Reinaldo,

Isso mesmo.
Os codigos que serao utilizados sao esses. Nao podem ser diferentes pois serao interpretados por outra planilha.
Ja a descricao pode ser qualquer coisa que ira identificar a combinacao de option e checkboxs. Essa descricao servira para diferenciar o codigo 1 para DiaNormal e o codigo 1 para DiaNormal c/ atraso ( por exemplo ).

Espero que eu tenha sanado a duvida.
Vlw pela ajuda.

 
Postado : 08/11/2012 9:36 pm
(@ranjp)
Posts: 37
Trusted Member
Topic starter
 

Reinaldo,

Poderia me passar uma posicao se pelo menos eh possivel levar adiante a ideia exposta aqui ou se esta muito complicado/trabalhoso para ser feito no esquema apresentado?
Apesar de eu nao ter um prazo de entrega, eh uma ideia pra se mudar o sistema atual aqui da empresa ( sistema bem "arcaico" :lol: ). Enquanto o chefe nao se resolve em "abrir a mao e bota-la na carteira" pra desembolsar verba pra informatizar o sistema, temos que encontrar paliativos pra tentar facilitar e agilizar o servico.

Agradeco a atencao e fico no aguardo.
Se alguem possuir alguma dica de onde posso encontrar algo relacionado ficarei grato. Talvez por nao saber utilizar muito bem o PESQUISAR nao tem me dado muitos resultados relacionados ao que estou procurando.

 
Postado : 21/11/2012 8:35 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Desculpe a intromissão mas olhei a tabela e não está completamente em linha com o que vc escreveu acima. Veja que há algumas coisas importantes:

O usuário pode parar na primeira etapa (codigos 1 e 2). Mas pode também seguir adiante e parar na segunda etapa:

optionbox1 + checkbox1
optionbox2 + checkbox1
optionbox1 + checkbox2
optionbox1ou2 + checkbox3
optionbox1ou2 + checkbox4
optionbox1 + checkbox5
optionbox2 + checkbox5
optionbox1 + checkbox6
optionbox2 + checkbox6
optionbox1 + checkbox7
optionbox2 + checkbox7

Mas pode também seguir adiante (caso não tenha escolhido ch3 ou ch4) e parar na terceira etapa :

optionbox1 + checkbox1 + checkbox2
optionbox1 + checkbox1 + checkbox5
optionbox2 + checkbox1 + checkbox5
optionbox1 + checkbox2 + checkbox5
optionbox1 + checkbox1 + checkbox6
optionbox2 + checkbox1 + checkbox6
optionbox1 + checkbox2 + checkbox6
optionbox1 + checkbox1 + checkbox7
optionbox2 + checkbox1 + checkbox7
optionbox1 + checkbox2 + checkbox7

Mas repare que mesmo havendo possibilidade de seguir adiante, eu não deveria na etapa em azul abrir possibilidade para incluir os checkbox´s 1 e 2, conforme demonstrado em vermelho?

Resumindo, precisamos entender se há uma cadeia definida de eventos ou se o usuário gravar o registro só como optionbox 1 ou 2 não haverá crítica ou restrição de entrada, entre outros problemas menores.

A parte dos combos dependentes é moleza. O que tá pegando é o desenho das possibilidades de input.

Pense nisso. Qq coisa fale.

Abs,

 
Postado : 22/11/2012 3:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

ranjp,

No post anterior tentei argumentar sobre a necessidade de definição da subordinação dos eventos (leia-se cadeia dos combos dependentes). Reconheço que está pessimamente redigido e que confundiu mais que esclareceu.

Sendo assim, optei por fazer uma leitura mais atenta de sua tabela e entendo que consegui produzir o que vc precisa.

Peço que avalie minha definição de ordenamento (sequência) dos combos a serem gerados para que os funcionários meramente selecionem e finalizem corretamente a marcação de seus pontos.

A macro que utilizo somente carrega as informações para a base de dados e prepara (zera) o formulário para a próxima marcação.

Até onde pude entender, este modelo que estou postando retrata fielmente o que vc definiu e ainda deixei a opção para que data e hora possam, em última instância, serem modificadas manualmente.

A única coisa pendente refere-se à tal leitura por código de barras. Deixei 1 campo destacado para que vc registre esta etapa tb.

Dê uma olhada e diga se meu entendimento está equivocado.

Bem desafiador teu post. Maneiro mesmo.

Me avise.

Abs,

p.s - edite somente a Coluna B - nome do funcionário e os combos em sequência (além de data, se for o caso). A seta curva roda a macro.

 
Postado : 24/11/2012 2:58 am
(@ranjp)
Posts: 37
Trusted Member
Topic starter
 

Ola Mandrix,

Obrigado pela atencao e pela planilha. Achei interessante a solucao com formulas, ira acrescentar e muito no meu aprendizado em excel. Porem, nao era bem isso que estou procurando.
Preciso de algo que seja mais "direto", sem ter que ficar respondendo muitas "perguntas". Algo que se resumisse em 2 cliques ( bater o codigo de barras pra inserir o funcionarioCD - codigo do funcionario - e apertar o botao para registrar ) e que simulasse um relogio de ponto.
Por incrivel que pareca, aqui na empresa ainda usamos cartao de ponto daqueles que se coloca em um relogio para registrar as horas ( pelo menos o relogio eh digital :lol: ).
Alem disso, o nivel de conhecimento de excel nao ajuda muito, logo, planilhas com formulas expostas e sem protecao torna-se um perigo. Esse eh motivo de ter pensado em um sistema usando de formularios onde basta configurar a combinacao de opcoes e apos isso eh soh bater o codigo de barras e registar.

Levando em considerao que a frequencia geral bem como a porcentagem de irregularidades ( atrasos e saidas mais cedo ) gira em torno de 96%, para 100 funcionarios teoricamente eu teria que alterar o "relogio" 4 vezes :D . Acho q nao eh muito ne?

Inicialmente, a planilha seria usada apenas para fazer o "banco de codigos", logo o horario e data devem ser flexiveis para se poder modificar. Futuramente, a intencao seria utiliza-la como proposto na sua planilha, real time. Como os codigos ja estao definidos, a carga horaria relacionada a cada codigo tbem eh definida, sendo assim, o unico horario importante seria das irregularidades ( atrasos e saidas ).
Exemplificando:
codigo 1 --> registra automaticamente o horario de entrada 8:00hs
codigo 1 c/ atraso --> registra o horario real ( now )
codigo 2 --> registra automaticamente o horario de entrada 20:00hs

Sei que eh dificil entender a situacao, mas tbem eh dificil explica-la :D .
Baseando-se na sua planilha proposta:
1. precisava que as perguntas fossem "configuraveis", ou seja, na limpa-las a cada registro.
2. data e horario flexiveis para alteracao
3. o raciocinio das situcacoes esta perfeito

 
Postado : 26/11/2012 6:57 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Preciso de algo que seja mais "direto", sem ter que ficar respondendo muitas "perguntas". Algo que se resumisse em 2 cliques ( bater o codigo de barras pra inserir o funcionarioCD - codigo do funcionario - e apertar o botao para registrar ) e que simulasse um relogio de ponto.

.
A opção código de barras está fora do meu alcance. Se vc quer que o horário seja padrão (8:00 para diurno e 20:00 para noturno) mais fácil ainda...

Alem disso, o nivel de conhecimento de excel nao ajuda muito, logo, planilhas com formulas expostas e sem protecao torna-se um perigo. Esse eh motivo de ter pensado em um sistema usando de formularios onde basta configurar a combinacao de opcoes e apos isso eh soh bater o codigo de barras e registar.

O modelo apresentado está com tudo exposto pois o objetivo é possibilitar a vc e a todos a consulta e análise das fórmulas envolvidas na solução. Parece óbvio que será devidamente protegida quando colocada para utilização de terceiros. Falando em segurança e proteção, observe que não há possibilidade de acionamento dos combos dependentes quando o anterior não é devidamente preenchido. Além disso, a macro só roda com a certeza de que as marcações geraram um código válido.

Levando em considerao que a frequencia geral bem como a porcentagem de irregularidades ( atrasos e saidas mais cedo ) gira em torno de 96%, para 100 funcionarios teoricamente eu teria que alterar o "relogio" 4 vezes  . Acho q nao eh muito ne?

Conforme dito acima, o preenchimento do horário-padrão só facilita o desenho das fórmulas. Relembro que data e hora podem ser manualmente modificadas antes do registro do ponto. Quando o formulário zera, recoloco as funções HOJE() e AGORA() para data e hora.

Inicialmente, a planilha seria usada apenas para fazer o "banco de codigos", logo o horario e data devem ser flexiveis para se poder modificar. Futuramente, a intencao seria utiliza-la como proposto na sua planilha, real time. Como os codigos ja estao definidos, a carga horaria relacionada a cada codigo tbem eh definida, sendo assim, o unico horario importante seria das irregularidades ( atrasos e saidas ).
Exemplificando:
codigo 1 --> registra automaticamente o horario de entrada 8:00hs
codigo 1 c/ atraso --> registra o horario real ( now )
codigo 2 --> registra automaticamente o horario de entrada 20:00hs

Conforme dito acima, hora e data são inteiramente flexíveis. E seu exemplo pode ser facilmente adaptado.

Baseando-se na sua planilha proposta:
1. precisava que as perguntas fossem "configuraveis", ou seja, na limpa-las a cada registro.
2. data e horario flexiveis para alteracao
3. o raciocinio das situcacoes esta perfeito

1 - não entendi
2 - já é assim
3 - isso é o mais importante... Se a codificação está correta significa que a ordenação dos combos que preparei está ok.

Como vc quer necessariamente em VBA acho que não posso te ajudar. Se quiser avançar avise.

Abs,

 
Postado : 26/11/2012 7:55 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Baixei os exemplos e assim que possivel dou uma olhada.

ranjp, se quer simular um relogio ponto, você já chegou o anexo no tópico abaixo :
MARCAR PONTO NO EXEL ! [Resolvido]
viewtopic.php?f=25&t=3825

Só precisaria ver a questão de Códigos de Barra, de uma olhada e veja se ajuda.

[]s

 
Postado : 26/11/2012 8:17 pm
(@ranjp)
Posts: 37
Trusted Member
Topic starter
 

Mauro Coutinho,

Tenho esse topico nos favoritos e todos os exemplos citados nele, bem como os links tbem estao favoritados. Na medida que me sobra tempo, vou dando uma estudada neles, mas ainda preciso aumentar bastante o meu conhecimento em excel e vba pra poder utiliza-los/adpta-los a minhas necessidades.
No momento estou numa faze transitoria entre o modo atual de conferir os pontos e a implantacao de ponto eletronico. Preciso encontrar uma forma de facilitar o atual sistema e ao mesmo tempo puxar um fio pra implantacao do ponto eletronico.

Mandrix,

Me desculpe, nao reparei direito na parte da macro que repoe as formulas de data e horario.
Tambem nao quis de forma alguma desmerecer a sua solucao. Como vc mesmo disse, eu estava buscando uma forma de fazer com formularios e vba, mas a sua solucao tbem me servira. Soh precisarei fazer as adaptacoes que estao relacionadas com a parte que vc nao entendeu sobre "perguntas configuraveis". O que eu quis dizer eh que as respostas nao precisam apagar a cada registro. As respostas estando pre-configuradas, os codigos ficarao definidos e entao basta apenas que se insira o codigo do funcionario ( no caso da sua planilha, o nome do funcionario ) e registre. No proximo funcionario, mantem-se as configuracoes anteriores, inseri o novo funcionario e registra. Desta forma, estou levando em conta O MOMENTO de forma separada: se eh entrada dos funcionarios, nao havera atrasos. Apos o sinal de entrada, somente havera entrada C/ atraso. Isso faz com que a planilha ja fique pre-configurada. ( sempre havera alguem definido pra mudar "os botoes", DIURNO <==> NOTURNO, TRABALHO <==> FOLGA/FALTA, etc ).

Vou trabalhar em cima da adaptacao, mas ao mesmo tempo gostaria de deixar o topico em aberto pois ainda aguardo uma resposta do Reinaldo. Mas se o mesmo, por qualquer motivo que seja, nao puder dar continuidade, fico grato do mesmo jeito.

Obrigado pela ajuda.

 
Postado : 27/11/2012 1:11 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

...Soh precisarei fazer as adaptacoes que estao relacionadas com a parte que vc nao entendeu sobre "perguntas configuraveis". O que eu quis dizer eh que as respostas nao precisam apagar a cada registro. As respostas estando pre-configuradas, os codigos ficarao definidos e entao basta apenas que se insira o codigo do funcionario ( no caso da sua planilha, o nome do funcionario ) e registre. No proximo funcionario, mantem-se as configuracoes anteriores, inseri o novo funcionario e registra. Desta forma, estou levando em conta O MOMENTO de forma separada: se eh entrada dos funcionarios, nao havera atrasos. Apos o sinal de entrada, somente havera entrada C/ atraso. Isso faz com que a planilha ja fique pre-configurada. ( sempre havera alguem definido pra mudar "os botoes", DIURNO <==> NOTURNO, TRABALHO <==> FOLGA/FALTA, etc )...

Isso que vc precisa adaptar é bem tranquilo. Respeito sua opção por formulário ao invés de combo.

Boa sorte.

Abs,

 
Postado : 27/11/2012 2:10 am
(@ranjp)
Posts: 37
Trusted Member
Topic starter
 

Desculpem a demora. Gostaria de compartilhar a planilha que montei com a ajuda de voces.
Gostaria tambem de fazer um agradecimento a parte ao AlexandreVBA por uma dica que encontrei aqui usando select case:
http://www.planilhando.com.br/forum/viewtopic.php?f=5&t=3862&hilit=limpar+filtro

 
Postado : 04/12/2012 7:00 pm