Boa tarde pessoal.
Estou com uma dúvida que não consigo sanar.
Seguinte, tenho um arquivo que preciso que preencha algumas células quando outra for preenchida.
As regras seriam as seguintes:
1 - Quando o usuário preencher a coluna D (chamada) preencher a coluna F (Usuário) com nome da sheet e a coluna G (Inicio) com a data e hora do momento do preenchimento.
2 - Quando o usuário preencher a coluna D (chamada), verificar se a coluna B (Protocolo) esta vazia. Caso esteja vazia, preencher a coluna B com "PT" + segundos, minutos, hora e data de agora e preencher a coluna C (Ocorrencia) com "NV" + segundos, minutos, hora e data de agora. Caso a coluna B não esteja vazia preencher a coluna C (Ocorrência) com DS + segundos, minutos, hora e data de agora.
Exemplo:
Protocolo: PT250917200521
Ocorrência caso a coluna B esteja vazia: NV250917200521
Ocorrência caso a coluna B esteja preenchida: DS250917200521
3 - Quando o usuário preencher a coluna E (finalização), preencher a coluna H (Fim) com a data e hora do momento do preenchimento.
4 - Caso o usuário preencha a coluna E (finalização) com a palavra "designar", além de fazer a tarefa 3, preciso que copie os valores das células da linha correspondente das colunas B eD e cole nas mesmas colunas na próxima linha abaixo que estiver vazia.
OBS: O Log da planilha ficar em uma coluna fora dos olhos de quem for preencher.
OBS2 : A planilha será compartilhada na rede para acessos simultâneos
OBS2: Cada usuário terá uma sheet própria, serão aproximadamente 20 usuários.
Acho que é isso.
Estou começando com VBA, aprendendo aos poucos.
Segue em anexo o arquivo e uma foto para ilustrar.
Estava adaptando este código abaixo para o meu arquivo, mas já deu erro! rs
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Cells(Target.Row, Target.Column).Value <> "" Then
Cells(Target.Row, Target.Column + 56).Value = Now
End If
If Target.Column = 19 And Cells(Target.Row, Target.Column).Value <> "" Then
Cells(Target.Row, Target.Column + 42).Value = Now
End If
If Target.Column = 4 And Cells(Target.Row, Target.Column - 2).Value = "" And Cells(Target.Row, Target.Column).Value <> "" Then
Cells(Target.Row, Target.Column - 2).Value = Now
End If
End Sub
Macro CH.zip