Boa noite, pessoal! Tudo bem?
Eu fiz um código para um planilha, que seria tipo um cadastro atividades de usuários por dia, de forma bem rudimentar com rotinas de copia e cola e if's infinitos que estão consumindo muito processamento e causando erros.
Desde então tenho buscado algumas soluções mais simples pra deixar o código mais leve e limpo, consegui algumas soluções mas travo na hora de adequar ao que preciso.
Basicamente o que eu quero fazer é listar um intervalo de datas e usuários que estavam ativos no período selecionado, porém respeitando alguns critérios que seriam:
• Se usuário foi marcado como "sim" para importação e
• Se a data de início e fim das atividades dos usuários estão dentro do período selecionado (usuário ativo)
Consegui listar as datas baseadas no período com esse código:
Sub ListaDatas()
Application.ScreenUpdating = False
Dim StartValue As Variant
Dim EndValue As Variant
StartValue = Range("h3").Value
EndValue = Range("h4").Value
Range("j8").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("j8").Select
If EndValue - StartValue <= 0 Then
Exit Sub
End If
ColIndex = 0
For i = StartValue To EndValue
Range("j8").Offset(ColIndex, 0) = i
ColIndex = ColIndex + 1
Next
Application.ScreenUpdating = True
End Sub
Mas não consegui desenvolver uma solução para atribuir os meus critérios e gostaria de uma ajuda dos colegas, se possível.
Estou subindo uma planilha teste com o resultado esperado e com o que eu consegui.
Desde já grata pela atenção.
Postado : 17/09/2020 7:09 pm