Notifications
Clear all

Macro para preencher quadro de horários

3 Posts
2 Usuários
0 Reactions
1,293 Visualizações
(@gilbertob)
Posts: 40
Eminent Member
Topic starter
 

Boa tarde,

Tenho a planilha anexa em que importo os horários de trabalho que os empregados registram no relógio ponto. Preciso de uma macro que preencha os horários de trabalho para cada empregado. No exemplo que anexei, deixei apenas duas abas para dois empregados, mas preciso automatizar o processo para todos os nomes que constam no arquivo texto.
Em outro forum, recebi a sugestão de macro que está abaixo. Quando abri o arquivo que me enviaram como modelo e vi a planilha do edilson preenchida com os horários, achei que estada tudo resolvido. O problema é que não consigo adaptar a macro para preencher os horários dos outros empregados. Dá um erro na linha "Set d = New Dictionary" . Acusa algo como "variável não definida".

Alguém saberia me ajudar a resolver o problema?

Public Sub ArquivoTexto()
    Dim a, b(), i As Long, j As Long, c As Long
    Dim Nom As String
    Nom = Plan2.Name 'edilson
    a = Plan4.Range("A1").CurrentRegion.Offset(1, 0) 'arquivo texto
    Set d = New Dictionary
    For i = 1 To UBound(a, 1)
        If a(i, 4) = Nom Then c = c + 1
    Next
    ReDim b(1 To c / 4, 1 To 14)
    For i = 1 To UBound(a, 1) Step 4
        If a(i, 4) = Nom Then
            j = j + 1
            b(j, 1) = a(i, 7)
            b(j, 2) = Format(a(i, 7), "dddd")
            b(j, 3) = Format(a(i, 8), "hh:mm")
            b(j, 4) = Format(a(i + 1, 8), "hh:mm")
            b(j, 5) = Format(a(i + 2, 8), "hh:mm")
            b(j, 6) = Format(a(i + 3, 8), "hh:mm")
        Else
            Exit For
        End If
    Next
    'Next
    For j = 9 To 38 'edilson
        For i = 1 To UBound(b, 1)
            If Plan2.Range("B" & j) = b(i, 1) Then
                Plan2.Range("D" & j) = b(i, 3)
                Plan2.Range("E" & j) = b(i, 4)
                Plan2.Range("F" & j) = b(i, 5)
                Plan2.Range("G" & j) = b(i, 6)
            End If
        Next
    Next
End Sub
 
Postado : 03/12/2017 11:28 am
(@mprudencio)
Posts: 2749
Famed Member
 

Seria bom vc mostra o resultado esperado marcando onde cada informação deve ir.

Eu olhei o arquivo mas nao esta claro, pelo menos para mim, de onde cada informação deve sair e deve ir.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 03/12/2017 4:13 pm
(@gilbertob)
Posts: 40
Eminent Member
Topic starter
 

Olá forum, olá MPrudencio,

Conforme solicitado, estou anexando a planilha com algumas células preenchidos.

Atenciosamente,

Gilberto

 
Postado : 03/12/2017 6:06 pm