Selected Answer
Here is a "No frills" version for the code you asked for.
Private Sub Worksheet_Change(ByVal Target As Range)
' 011
Dim Rng As Range ' Trigger range
' this procedure will not respond to multiple simultaneous changes
' as may be created by Paste or Delete actions.
If Target.Cells.CountLarge > 1 Then Exit Sub
' trigger responds to any cell in the (one) table on this sheet
' DataBodyRange excludes the header and totals rows
Set Rng = ActiveSheet.ListObjects(1).DataBodyRange
If Not Application.Intersect(Rng, Target) Is Nothing Then
With Folha2.Range(Target.Address)
.Value = Now()
.NumberFormat = "dd/mm/yyyy hh:mm:ss" ' change to suit
.HorizontalAlignment = xlLeft
End With
End If
End Sub
Note that the target worksheet is addressed by it CodeName. This is easier syntax and it allows the user to change the name of the tab without the code having to be updated.
So, what would be the frills? There is no provision on what to do if there is a time stamp in the addressed cell already. The options range from simply over-writing the existing, as the code does now, to refusing to allow the entry or adding a note to the time stamp which records that a change was amde and who made it.