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.