Objetivo: Disponibilizar uma planilha de controle de presença e horas de trabalho para impressão.

“Cartão de Ponto: Com base no artigo 74, parágrafo 2º da CLT e portaria MTPS 3626/91, que determina registro manual, mecânico ou eletrônico para os estabelecimentos com mais de 10 (dez) empregados, é obrigatória a marcação de ponto com a anotação da hora de entrada e saída, devendo ser pré-assinalados os intervalos para repouso e alimentação. A pré -assinalação desses intervalos poderá ser feita pelo próprio empregador, de forma impressa ou não.” http://www.silvestrin.com.br/silvestrin/cartao-de-ponto/
Desta forma esta planilha foi criada para que possa ser impressa e assinada pelo cliente.
Na planilha Batidas de ponto você pode informar todos os horários em que houveram as marcações de ponto, ou senão deixar vazia, neste caso a planilha será emitida em branco permitindo que sejam escritos os horários manualmente.
Os funcionários devem ser preenchidos na planilha Funcionários, estes serão os mesmos que irão constar na planilha Folha de Pto, bastando para isso mudá-lo manualmente.
Para imprimir as folhas de ponto basta clicar no botão Imprimir folhas aonde serão impressas todas as folhas.
Segue abaixo o código comentado da impressão:
Sub imprimir() ' On Error GoTo TratarErro 'Declaração das variáveis 'iTotalLinhas é o total de clientes 'iLinhas é o controle da linha atual no loop Dim iTotalLinhas As Long Dim iLinhas As Long 'Total de funcionarios, de cima para baixo localiza a última célula preenchida da lista' iTotalLinhas = Worksheets("Funcionarios").Cells(Rows.Count, 1).End(xlUp).Row 'Inicia na linha logo abaixo do cabeçalho iLinhas = 2 'Passa por todos os funcionarios' While iLinhas <= iTotalLinhas 'Atualiza a folha de pto' Worksheets("Folha de Pto").Cells(6, 4).Value = Worksheets("Funcionarios").Cells(iLinhas, 1).Value 'Imprime a Folha de Pto' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False 'Passa para o próximo Funcionario' iLinhas = iLinhas + 1 Wend Sair: Exit Sub TratarErro: 'Tratamento de erro se houverem problemas MsgBox "Houve um erro na impressão!", vbCritical GoTo Sair End Sub
DIGITE O SEU EMAIL PARA FAZER O DOWNLOAD DOS ARQUIVOS: Baixe a planilha
Abraço
Marcos Rieper