Notifications
Clear all

Filtro avançado com varios criterios e contar iguai

8 Posts
2 Usuários
0 Reactions
1,456 Visualizações
(@dracko2007)
Posts: 12
Active Member
Topic starter
 

Boa tarde galera, gostaria da ajuda de algué, se possivel. tenho uma planilha onde existe mais de 1000 linha, cada uma se refere a 1 funcionario.
tem varias colunas indicando o dia, ex

coluna o dia 1 de dia, coluna p dia 1 de noite, coluna q dia 2 de dia, coluna r dia 2 de noite, assim por diante até dia 31 de noite.

quando tem faltas é marcado com um ■, atrasos com △, saidas antecipadas ▲, trabalhos no dia de folga ◎, folgas remuneradas ◆, e ferias com ★.

teria uma forma de filtrar conforme o dia, se for de manha dia 1 de manha ou seja, coluna O, se for dia 2 de noite seria coluna R, os funcionarios que tem algum dos caracteres acima, colar no sheet2, contar e separar com um titulo especificando cado tipo de simbolo ?

Ex:
Faltas 4
João
carlo
Jean
Pedro

Atraso 3
maria
Jonas
Carla

Saídas antecipadas 0

trabalhos no dia de folga 5
Mario
Fernando
Helio
Fabricio
Junior

sei que é um pouco confuso, mas se tiver uma boa alma para ajudar eu agradeco, vou deixar um anexo, para poder ficar um pouco mais facil entender, tem uma macro que fiz, mas não consigo resolver o problema da contagem.
Se alguem puder dar uma olhada agradeço.

 
Postado : 07/06/2017 7:01 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite,

Não entendi bem, explique mais detalhadamente.

att,

 
Postado : 07/06/2017 8:19 pm
(@dracko2007)
Posts: 12
Active Member
Topic starter
 

Ola Bruno, obrigado por responder, vamos la

è uma planilha de funcionários, contendo dias trabalhados por turno e turma, a turma de manhã representa a letra α(cor verde) e a turma da noite representa a letra β(cor roxa)

são mais de 1000 funcionários, onde cada linha representa 1 funcionário, e cada coluna 1 dia, lembrando que a coluna O representa o dia 1 de dia, e a coluna P dia 1 de noite, pois existe a turma que trabalha de dia, e a de noite.

a macro tem que filtrar no dia exato, hj dia 8 teria que achar a coluna com a data de 8/6 puxar a coluna referente a data de hj de dia, se for depois das 17 horas, procurar a coluna que representa a data de hj de noite.(no anexo que deixei tem o formato)

filtrar e copiar os simbolos ■、★、△、◆、▲、◎ copia-los para outro sheet, contar quantos tem de cada simbolo, separar por um titulo, exemplo se houver 5 ■, conte os 5 e em cima dos 5 ■, escreva, faltas 5, se houver 3 △, conte os 3 e coloque em cima atraso 3.

coluna B
1 faltas 5
2 João
3 pedro
4 fabricio
5 carlos
6 mario
7
8 atraso 3
9 christian
10 junior
11 jonas

coloque um anexo com uma explicação dentro e uma macro funcionando até onde eu consegui fazer, ela funciona porem não da forma que tem que ser só pela metade, no arquivo tem o resto da explicação.

 
Postado : 08/06/2017 12:26 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite dracko,

Essas classificação com símbolos fica legal para apresentar numa reunião mas não para se trabalhar, seria mais fácil se quem planejou essa classificação usasse caracteres Alfanuméricos. Apesar que não sei em que língua são alguns caracteres que aparecem, chinês? japonês?

Deixando esse problema de lado, para identificar qual 'símbolo' está em cada célula usei o seu UNICODE. Por exemplo, copiei o símbolo para Falta (■) e achei seu UNICODE no google que é H25A0, depois no código se a célula identificada for igual ao UNICODE soma mais 1. No VBA, para usar o UNICODE, use a função ChrW() e não esqueça o & no começo, para o ■ fica ChrW(&H25A0).

Dado que me parece que sua empresa não é ocidental, saber como usar UNICODE no VBA deve facilitar seu trabalho.

O código vai realizar as buscas e montar as informações na tabela 'Mail'. A partir dessa tabela você consegue montar facilmente um relatório, seja usando um filtro, tabela dinâmica ou um outro código.

Teste e dê retorno.

att,

 
Postado : 10/06/2017 5:43 pm
(@dracko2007)
Posts: 12
Active Member
Topic starter
 

Olá Bruno Tudo bem ? obrigado pela rapidez em responder, eu sei que usar simbolos não é a melhor forma possivel, mas é por que na empresa em que eu trabalho existe muitos funcionarios, e somos prestadores de serviço, então existe varias empresas juntas, então para ter um padrão escolheram dessa forma.

Todos fazem o relatorio usando esses simbolos, mas o que mais dificulta é o simples motivo de ser tudo em Japones, pois a trabalho no Japão, eu usei dei uma olhada na macro, e ficou interessante o modo de fazer, mas é um pouco diferente o que eu preciso, pois, não ah a necessidade de aparecer todos os funcionários.

O motivo é que existe varios setores, e tem um numero certo de funcionarios por setor, então preciso saber somente quem, de qual setor ira faltar. ou chegar atrasado, ou outros, para poder estar remanejando outras pessoas para tal setor,
então não há necessidade de saber quantos dias exatos ele veio trabalhar e sim quais os setores e quem faltou, pois nem todos fazem o mesmo serviço, são bastantes setores, por isso é endereçado a varios endereços de email.

tem que aparecer o grupo, setor, id, e nome da pessoas, e por ultimo se é falta, atraso ou outro motivo.

mas obrigado pelo exemplo acima vou usar para outra coisa que eu precisava e era exatamente isso, puxar todos os funcionarios e saber a % de presença de cada um, o exemplo que vc deu caiu como um pode de ouro kkkkk valew

 
Postado : 12/06/2017 1:46 am
(@dracko2007)
Posts: 12
Active Member
Topic starter
 

Olá Bruno Tudo bem ? obrigado pela rapidez em responder, eu sei que usar simbolos não é a melhor forma possivel, mas é por que na empresa em que eu trabalho existe muitos funcionarios, e somos prestadores de serviço, então existe varias empresas juntas, então para ter um padrão escolheram dessa forma.

Todos fazem o relatorio usando esses simbolos, mas o que mais dificulta é o simples motivo de ser tudo em Japones, pois a trabalho no Japão, eu usei dei uma olhada na macro, e ficou interessante o modo de fazer, mas é um pouco diferente o que eu preciso, pois, não ah a necessidade de aparecer todos os funcionários.

O motivo é que existe varios setores, e tem um numero certo de funcionarios por setor, então preciso saber somente quem, de qual setor ira faltar. ou chegar atrasado, ou outros, para poder estar remanejando outras pessoas para tal setor,
então não há necessidade de saber quantos dias exatos ele veio trabalhar e sim quais os setores e quem faltou, pois nem todos fazem o mesmo serviço, são bastantes setores, por isso é endereçado a varios endereços de email.

tem que aparecer o grupo, setor, id, e nome da pessoas, e por ultimo se é falta, atraso ou outro motivo.

mas obrigado pelo exemplo acima vou usar para outra coisa que eu precisava e era exatamente isso, puxar todos os funcionarios e saber a % de presença de cada um, o exemplo que vc deu caiu como um pode de ouro kkkkk valew

 
Postado : 12/06/2017 1:46 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde dracko,

Note que em nenhum momento anterior você falou que precisava dos setores ou grupo.

Mas como o Setor/Grupo estão na mesma linha, fiz uma pequena alteração no código e agora a tabela também traz o setor/grupo de cada funcionário. Veja que agora você pode usar uma Tabela Dinâmica para gerar relatórios facilmente. Ou usar o Filtro ou montar um código, de qualquer forma como agora os valores estão tabelados sem os símbolos ou as células mescladas, fica mais fácil para manipular.

Dado que sua empresa não usa os caracteres alfanuméricos (por ser Japonesa), acho que estudar um pouco como usar UNICODE no VBA deve facilitar a montagem dos seus códigos.

Teste e dê retorno.

att,

 
Postado : 12/06/2017 12:00 pm
(@dracko2007)
Posts: 12
Active Member
Topic starter
 

Ola Bruno, obrigado por sempre estar facilitando minha vida, sim, dessa vez, eu usei seu codigo junto a uma tabela dinamica, assim realmente fica mais fácil manipular os dados, então consegui o que eu queria, e o bom que agora eu posso usar esse código em outras coisas que também segue quase o mesmo raciocinio, obrigado mais uma vez por me ajudar.

Você é o cara, até mais

att

 
Postado : 12/06/2017 7:34 pm