Por vezes, podemos ter necessidade de saber qual foi o utilizador que acedeu e quando acedeu a uma determinada worksheet, nomeadamente quando se trabalha em rede.
O Código:
Private iNextRow As Long
Const HIDDEN_SHEET As String = "Sheet3" ' ou outro nome
Private Sub Workbook_Open()
With Worksheets(HIDDEN_SHEET)
.Range("A1").Value = Environ("UserName")
.Range("B1").Value = Format(Date + Time, _
"dd mmm yyyy hh:mm:ss")
End With
iNextRow = 2
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, _
ByVal Target As Range)
On Error GoTo wb_exit
Application.EnableEvents = False
If Sh.Name HIDDEN_SHEET Then
With Worksheets <>(HIDDEN_SHEET)
.Range("A"&iNextRow).Value = Environ("UserName")
.Range("B"&iNextRow).Value = Format(Date + Time, _
"dd mmm yyyy hh:mm:ss")
End With
End If
wb_exit:
Application.EnableEvents = True
End Sub
NOTA: Este código deve ser colocado no próprio workbook, porque é um evento dele. Para tal, clicar no ícone que está à esquerda do comando chamado “File”, no Toolbar , com a tecla direita do rato e escolher a opção “View Code”. Copiar o código para o editor de VBE. Depois, sair e gravar o ficheiro. Quando se abrir novamente, ver-se-á, na Sheet3 (ou naquela que determinámos no código), o nome do utilizador, a data e hora do último acesso.
EXCELer Tudo sobre EXCEL em Português