Registro de data e hora do VBA do Excel na linha predefinida quando os dados são alterados em uma coluna

0

O que eu gostaria de fazer é, quando os dados são alterados em qualquer lugar de uma coluna, carimbar essa coluna com a última vez que os dados foram alterados e o nome de usuário da pessoa que os alterou. (Desculpe se isso já foi respondido em qualquer lugar. Eu tive uma pesquisa rápida e não consigo encontrá-lo. Também bastante novo para macros e VBA ou eu provavelmente seria capaz de descobrir isso sozinho.)

Eugostariaqueotimestamp(poderiaserapenasadata)aparecessenalinha9eonomedeusuárionalinha10.

Encontreialgumasmacrosquefazemissopararegistraraalteraçãoemumacolunaetentaramalterarasfórmulasparaquefuncioneemumalinha,masdepoisescrevemadataabaixodecadaumaantesdecadavez.Esteéocódigoqueeutentei(emumafolhademockupemvezdareal-euconsidereiquepoderiamudaroendereçomaistarde,seeupudessedescobrircomofunciona):

PrivateSubWorksheet_Change(ByValTargetAsRange)IfTarget.Row=4OrTarget.Row=5ThenCells(Target.Cell,3,2).Value=NowCells(Target.Cell,2,2).Value=Environ("Username")
    End If
End Sub
    
por DavidMBaker 30.11.2016 / 12:12

1 resposta

1

Este código VBA deve fazer o que você precisa

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Row >= 1 And Target.Row <= 8 And Target.Column >= 4 Then

        Cells(9, Target.Column) = Now()
        Cells(10, Target.Column) = Application.UserName

    End If

End Sub

Você precisa adicionar este código à própria planilha. Clique em DEVELOPER na faixa de opções e, em seguida, clique em Visual Basic . Isto irá abrir o editor do VBA.

Escolha a planilha à esquerda e cole o código acima e salve como uma pasta de trabalho habilitada para macro.

Qualquer edição das linhas 1 a 8 após a coluna C deve adicionar um carimbo de data e hora e o nome de usuário atual às linhas 9 e 10.

    
por 30.11.2016 / 13:38