Página 1 de 1

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 todos
Sub 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