Você pode usar o environ ("username") para obter o ID de logon da janela do usuário. Você pode usar isso para determinar se a macro deve ser executada ou não.
Eu quero que minhas macros do Excel sejam ativadas para determinados usuários reconhecidos pelo Windows Excel. Como faço isso?
Só para expandir a resposta existente , você precisará de algo assim para cada macro -
Sub macro1()
If test() Then
MsgBox ("you can use macros!")
'do stuff
End If
End Sub
Você iniciará todas as macros chamando test()
Function test()
test = False
'Pass the user to the checking function
If allowed(Environ("username")) Then
test = True
Else: MsgBox ("You can't use macros here")
End If
End Function
Esta função chamará seu cheque para ver se o usuário faz parte da lista permitida:
Public Function allowed(ByRef TF As String) As Boolean
Dim arr As Variant
arr = Array("name1", "name2", "name3")
For Each Item In arr
If Item = TF Then
allowed = True
Exit Function
Else: allowed = False
End If
Next
End Function