Macro para inserir data e hora quando alterar uma célula  [Resolvido]

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Macro para inserir data e hora quando alterar uma célula

Mensagempor thiagocpb » Sáb Jul 13, 2019 12:59 am

Boa noite,

Pessoal, encontrei uma Macro onde quando editamos uma célula, uma outra célula é preenchida com a data e hora do momento, até ai tudo bem. Só que eu gostaria de que a data e a hora só aparecesse quando eu colocasse um "valor" específico na célula. Por exemplo:

Nas células A:A quando eu colocar "Vendido", aparece a data e a hora na célula B:B

Segue o código que eu encontrei:

Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer

Set WorkRng = Intersect(Application.ActiveSheet.Range("A:A"), Target)
xOffsetColumn = 5
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If

Ele funciona para qualquer alteração na célula, gostaria de uma alteração especifica, podem me ajudar?

Desde já, agradeço
Editado pela última vez por Adalberto7 em Sáb Jul 13, 2019 8:42 am, em um total de 1 vez.
Razão: Códigos VBA devem ser postados utilizando a tag Code
thiagocpb
Membro
Membro
 
Mensagens: 5
Registrado em: Sáb Jul 13, 2019 12:52 am
Has thanked: 1 time
Have thanks: 0 time

{ SO_SELECT }

Re: Macro para inserir data e hora quando alterar uma célula

Mensagempor rlm » Sáb Jul 13, 2019 6:10 am

Uma possibilidade
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then 'Verifica se é coluna "A"
    With Target
        If Cells(.Row, .Column).Value = "Vendido" Then 'Verifica se o valor da celula é o esperado
            Cells(.Row, "F") = VBA.Format(Now(), "dd/mm/yyyy hh:mm:ss") 'Caso seja o valor, inclui na coluna F a data e hora
        End If
    End With
End If
End Sub
Reinaldo
Garça - SP / SCS - SP

For this post the author rlm thanked:
thiagocpb (Sáb Jul 13, 2019 10:00 am)
Avatar do usuário
rlm
Ninja do Excel
Ninja do Excel
 
Mensagens: 443
Registrado em: Qui Out 16, 2014 12:30 pm
Has thanked: 31 times
Have thanks: 196 times

Re: Macro para inserir data e hora quando alterar uma célula

Mensagempor thiagocpb » Sáb Jul 13, 2019 9:58 am

Cara muito obrigado pela dica, você saberia me dizer como seria caso eu quisesse inserir mais informações
Exemplo:

Manter essas informaçoes que já estão, e ai se eu alterasse a célula B para Não Vendido, alterasse a celula G?
thiagocpb
Membro
Membro
 
Mensagens: 5
Registrado em: Sáb Jul 13, 2019 12:52 am
Has thanked: 1 time
Have thanks: 0 time

Re: Macro para inserir data e hora quando alterar uma célula  [Resolvido]

Mensagempor rlm » Sáb Jul 13, 2019 10:22 am

Um workbook/planilha aceita apenas um evento Change, assim qq implemento de rotina deve ser efetuado no mesmo evento.
Seria algo do tipo
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then 'Verifica se é coluna "A"
    With Target
        If Cells(.Row, .Column).Value = "Vendido" Then 'Verifica se o valor da celula é o esperado
            Cells(.Row, "F") = VBA.Format(Now(), "dd/mm/yyyy hh:mm:ss") 'Caso seja o valor, inclui na coluna F a data e hora
        End If
    End With
End If
If Target.Column = 2 Then 'Verifica se é coluna "B"
    With Target
        If Cells(.Row, .Column).Value = "Não Vendido" Then 'Verifica se o valor da celula é o esperado
            Cells(.Row, "G") = VBA.Format(Now(), "dd/mm/yyyy hh:mm:ss") 'Caso seja o valor, inclui na coluna G a data e hora
        End If
    End With
End If
End Sub
Reinaldo
Garça - SP / SCS - SP
Avatar do usuário
rlm
Ninja do Excel
Ninja do Excel
 
Mensagens: 443
Registrado em: Qui Out 16, 2014 12:30 pm
Has thanked: 31 times
Have thanks: 196 times

Re: Macro para inserir data e hora quando alterar uma célula

Mensagempor thiagocpb » Sáb Jul 13, 2019 11:45 am

Muito Obrigado Reinaldo. Valeu demais
thiagocpb
Membro
Membro
 
Mensagens: 5
Registrado em: Sáb Jul 13, 2019 12:52 am
Has thanked: 1 time
Have thanks: 0 time


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes