如何在VBA中编码以在单击按钮时请求密码?



我在其中一个 excel 工作表上有一个命令按钮来隐藏/取消隐藏其中一个工作表。请参阅下面的代码。

但是,现在我想为管理员添加一个功能,以输入密码以取消隐藏工作表,否则任何人都可以单击按钮并取消隐藏数据表。

有没有办法强制 excel 显示正常的输入密码提示以取消隐藏?

谢谢

Sub myButton()
ActiveWorkbook.Unprotect
If (Sheets("Sheet2").Visible) Then 
Sheets("Sheet2").Visible = False 
Sheets("Sheet1").Select          
Else
Sheets("Sheet2").Visible = True  
Sheets("Sheet2").Select          
End If
ActiveWorkbook.Protect Password:="password", structure:=True, Windows:=False
End Sub

您可以使用输入框从用户那里收集输入。不完全确定您要做什么,但也许这样的事情有效。

Option Explicit
Sub myButton()
Dim pword As String
pword = InputBox("Please enter a password", "Password Entry")
If (Len(Trim$(pword)) = 0) Then Exit Sub
ActiveWorkbook.Unprotect pword
If (Sheets("Sheet2").Visible) Then
Sheets("Sheet2").Visible = False
Sheets("Sheet1").Select
Else
Sheets("Sheet2").Visible = True
Sheets("Sheet2").Select
End If
ActiveWorkbook.Protect Password:=pword, structure:=True, Windows:=False
End Sub

我能够通过一些调整来解决这个问题。感谢瑞安的帮助!

Sub myButton()
Dim pword As String
If (Sheets("Sheet2").Visible) Then
Sheets("Sheet2").Visible = False
Sheets("Sheet1").Select
Else
pword = InputBox("Please enter a password", "Password Entry")
If pword = "password" Then
ActiveWorkbook.Unprotect "password"
Sheets("Sheet2").Visible = True
Sheets("Sheet2").Select
ActiveWorkbook.Protect Password:="password", structure:=True, Windows:=False
Else
MsgBox ("Wrong Password")
End If
End If

结束子

最新更新