在工作中的网络上有多个用户。当特定用户打开工作簿时,我需要一个电子表格来自动运行一些代码。当所有其他用户打开工作簿时,将不会运行宏。用户名为Alan Smith&Susan Wells。
代码是:
Sub Auto_Open()
Application.ActiveProtectedViewWindow.Edit
Application.Wait (Now + TimeValue("0:00:10"))
Sheets("ABG").Cells.Copy
Sheets("Hardcode").Cells.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ThisWorkbook.Close SaveChanges:=True
End Sub
您知道如何在打开文档时更改此设置以检查用户是Alan Smith还是Susan Wells,如果是Alan或Susan然后运行代码?但是如果是Paul,那么只是在不运行宏的情况下打开文档?
谢谢!
答案 0 :(得分:0)
您可以尝试使用此代码(在创建副本备份之前)
Private Sub Workbook_Open()
Dim name As String
name = Application.InputBox("insert your name")
If (UCase(name) <> UCase("Alan Smith")) Then ' control input in UPPPERCASE MODE
Worksheets("Sheet1").Activate ' active sheet1 if input is Alan Smith
If UCase(name) <> UCase("Susan Wells") Then 'control input in UPPERCASE MODE
ActiveWorkbook.Close savechanges:=False ' if input no Alan Snit and Susan Wells close workbook
Else
Worksheets("Sheet2").Activate ' if input is Susan Wells active sheet2
End If
End If
End Sub
您必须将此代码放入thisworkbook文件中。您会看到图像。 希望对您有帮助