Planilha para contagem de pontos por período de férias
Enviado: 11 Set 2019 às 03:01
por deimiler
Bom dia,
Onde eu trabalho, para controlar e dar prioridade de escolha de férias aos funcionários, criamos um sistema de contagem de pontuação por período de férias, quem tiver mais pontos perde a prioridade de escolha de quem tem menos pontos. Por exemplo: No período de 01 a 31 de janeiro quem tirar férias nesse período ganha 4 pontos por dia (Considerando esse período de alta temporada de escolha entre os funcionários para tirar férias) e o mês de agosto todos os dias valem 1 ponto(considerado de baixa temporada de férias). Gostaria se possível que a planilha fizesse essa contagem automática baseada no período que o funcionário tirou férias, para ilustração, segue em anexo a planilha como exemplo. Muito Obrigado pela atenção.
Planilha para contagem de pontos por período de férias
Enviado: 11 Set 2019 às 08:37
por eduardogrigull
Veja se resolve: O código faz o calculo da celula atual selecionada
Código: Selecionar todosSub PontosData()
Dim DataInicio As Date
Dim DataFim As Date
Dim Pontos As Integer
For qtd = 1 To 4
If Plan4.Cells(ActiveCell.Row, qtd * 3).Value <> Empty Or Plan4.Cells(ActiveCell.Row, qtd * 3).Value <> Empty Then
DataInicio = Plan4.Cells(ActiveCell.Row, qtd * 3).Value
DataFim = Plan4.Cells(ActiveCell.Row, (qtd * 3) + 1).Value
Pontos = 0
For d = CLng(DataInicio) To CLng(DataFim)
Select Case Month(CDate(d))
Case Is = 1 'Janeiro
Pontos = Pontos + 4
Case Is = 7 'Julho
Pontos = Pontos + 4
Case Is = 3 'Marco
Pontos = Pontos + 2
Case Is = 4
Pontos = Pontos + 1
Case Is = 5
Pontos = Pontos + 1
Case Is = 6
Pontos = Pontos + 1
Case Is = 8
Pontos = Pontos + 1
Case Is = 9
Pontos = Pontos + 1
Case Is = 10
Pontos = Pontos + 1
Case Is = 11
Pontos = Pontos + 1
Case Is = 2 'Fevereiro, analisar dia
If Day(CDate(d)) <= 15 Then
Pontos = Pontos + 4
Else
Pontos = Pontos + 2
End If
Case Is = 12 'Dezembro, analisar dia
If Day(CDate(d)) <= 15 Then
Pontos = Pontos + 1
Else
Pontos = Pontos + 4
End If
End Select
Next
Plan4.Cells(ActiveCell.Row, (qtd * 3) + 2).Value = Pontos
End If
Next
End Sub
Re: Planilha para contagem de pontos por período de férias
Enviado: 11 Set 2019 às 08:45
por Jimmy
Bom dia Deimiler,
Segue a planilha abaixo.
A solução foi desenvolvida com a criação de uma função.
Copiei a sua linha, e os valores que obtive estão diferentes dos teus, mas os da função são os corretos.
Tirei a tabela da planilha de controle, colocando-a em planilha própria. Duas tabelas lado a lado acabam interferindo uma na outra. Se inserirmos, por exemplo, linhas na primeira planilha, selecionando a linha toda, a segunda tabela vai ganhar uma linha nova também, o que não seria bom. O mesmo vale para apagar linhas.
Alterei o leiaute da tabela de pontos, mas se preferir o leiaute mais parecido com o antigo, podemos adaptar a função para lê-lo. Me avise.
Se houver algum erro, a mensagem aparecerá na própria célula.
Limitei a quantidade de dias de férias em 100, para que seja dado um alerta caso uma data seja digitada errada e gerar muitos dias de férias. Se esse valor for pequeno pra sua realidade, podemos aumentar. Limitei também, pelo mesmo motivo, a quantidade de linhas na tabela de pontos, para o máximo de 30.
A data inicial e a final das férias são parâmetros diferentes, logo, podem estar em colunas não contíguas.
Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.
Jimmy San Juan
Re: Planilha para contagem de pontos por período de férias
Enviado: 12 Set 2019 às 05:55
por deimiler
Bom dia,
Se não for muito incomodo, onde está a planilha de sua postagem?
Jimmy escreveu:Bom dia Deimiler,
Segue a planilha abaixo.
A solução foi desenvolvida com a criação de uma função.
Copiei a sua linha, e os valores que obtive estão diferentes dos teus, mas os da função são os corretos.
Tirei a tabela da planilha de controle, colocando-a em planilha própria. Duas tabelas lado a lado acabam interferindo uma na outra. Se inserirmos, por exemplo, linhas na primeira planilha, selecionando a linha toda, a segunda tabela vai ganhar uma linha nova também, o que não seria bom. O mesmo vale para apagar linhas.
Alterei o leiaute da tabela de pontos, mas se preferir o leiaute mais parecido com o antigo, podemos adaptar a função para lê-lo. Me avise.
Se houver algum erro, a mensagem aparecerá na própria célula.
Limitei a quantidade de dias de férias em 100, para que seja dado um alerta caso uma data seja digitada errada e gerar muitos dias de férias. Se esse valor for pequeno pra sua realidade, podemos aumentar. Limitei também, pelo mesmo motivo, a quantidade de linhas na tabela de pontos, para o máximo de 30.
A data inicial e a final das férias são parâmetros diferentes, logo, podem estar em colunas não contíguas.
Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.
Jimmy San Juan
Re: Planilha para contagem de pontos por período de férias
Enviado: 12 Set 2019 às 07:51
por Jimmy
Esqueci de postar.... segue.
Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.
Jimmy San Juan