Excel 仅为特定用户名打开工作簿时自动运行的宏
在工作的网络上有多个用户。我需要一个电子表格,以便在特定用户打开工作簿时自动运行一些代码。当所有其他用户打开工作簿时,不会运行宏。用户名是艾伦·史密斯和苏珊·威尔斯 代码是:Excel 仅为特定用户名打开工作簿时自动运行的宏,excel,vba,Excel,Vba,在工作的网络上有多个用户。我需要一个电子表格,以便在特定用户打开工作簿时自动运行一些代码。当所有其他用户打开工作簿时,不会运行宏。用户名是艾伦·史密斯和苏珊·威尔斯 代码是: Sub Auto_Open() Application.ActiveProtectedViewWindow.Edit Application.Wait (Now + TimeValue("0:00:10")) Sheets("ABG").Cells.Copy Sheets("Hardco
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,那么只打开文档而不运行宏
谢谢 您可以尝试此代码(在创建副本备份之前)
Private子工作簿\u Open()
将名称设置为字符串
name=Application.InputBox(“插入您的姓名”)
如果(UCase(名称)UCase(“Alan Smith”)),则“在UPPERCASE模式下控制输入
工作表(“表1”)。如果输入为Alan Smith,则激活“活动表1”
如果是UCase(名称)UCase(“Susan Wells”),则“以大写模式控制输入”
ActiveWorkbook.Close savechanges:=False'如果没有输入Alan Snit和Susan Wells关闭工作簿
其他的
工作表(“Sheet2”)。如果输入是活动的,则激活“Sheet2”
如果结束
如果结束
端接头
您必须将此代码放入thisworkbook文件中。你看到图像了。
我希望这对你有帮助
请参见。使用if Environ(“用户名”)=“Paul”/or variable。那么可能的副本
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