gpt4 book ai didi

vba - 关闭工作簿时隐藏特定工作表

转载 作者:行者123 更新时间:2023-12-03 02:42:14 27 4
gpt4 key购买 nike

我正在创建一些 VBA 代码,它应该执行以下操作:

  1. 用户按下按钮后需要输入代码。
  2. 当输入正确的代码时,团队相关代码就可以访问某些工作表。

他们可以访问的工作表根据他们输入的团队编号和代码而有所不同。因此,当他们输入密码“banana”时:工作表“Team_1”和Team_1_sub 变得可见。

我现在创建了以下代码来实现此目的:

 Sub filter_tabs()

Dim answer As String
answer = InputBox("Please enter your password")

If answer = "Password" Then
MsgBox "Correct, je krijgt nu de goede tabs te zien!"
Worksheets("Team_1").Visible = True
Worksheets("Team_1_sub").Visible = True

Else
MsgBox "Wrong password"
End If

End Sub

关于上面代码的两个问题:

  1. 当用户关闭文档时,所有工作表应再次“消失”。有人知道怎么做这个吗?因此,打开文档表时“Team_1”和“Team_1_sub”应该是标准的

    Worksheets("Team_1").Visible = False
    Worksheets("Team_1_sub").Visible = False
  2. 你们能否给我一些反馈,说明我遵循的上述过程(不同的 if 语句,提示用户输入密码,然后查看某些选项卡)是否是实现我的目标最有效的过程?最终目标是确保某些团队领导只能看到某些工作表。

最佳答案

这里要设置visible false,可以使用Workbook_BeforeClose方法,如下所示:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Worksheets("Team_1").Visible = False
Worksheets("Team_1_sub").Visible = False

'must save, if not save, it is not effect.
Me.Save

End Sub

该方法的引用是 here .

有一件事是该方法必须位于 ThisWorkBook 模块中。

对于下一个问题,您应该说更多,例如哪个工作表对应哪个用户和密码。因为你的代码足以解决你的问题。它可以满足您的要求。

关于vba - 关闭工作簿时隐藏特定工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31826079/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com