用于保护工作表和显示/隐藏按钮的 VBA 代码

用于保护工作表和显示/隐藏按钮的 VBA 代码

每次打开 Excel 文件时,我都会运行一个简单的 VBA 代码,多年来它一直运行良好。但几周后它就停止工作了。目的是每次打开 Excel 文件时锁定每个工作表上的特定单元格,并设置一个按钮,如果我单击该按钮,可以立即解锁所有内容。

现在,当我打开 Ecxel 文件时,我收到以下消息:

在此处输入图片描述

这是法语,意思是:编译错误,找不到成员方法或数据

然后我说“确定”,它就打开了调试模式: 在此处输入图片描述

最后,当我进入 sheet36(这是我的摘要页面,其中出现了解锁工作表的按钮)并单击取消保护所有工作表的按钮时,我输入密码并收到 1004 错误: 在此处输入图片描述

英文:执行错误“1004”:密码无效。请确认 CAPSLOCK 键未激活,并且您使用了正确的大小写。

此外,保护和取消保护我的所有工作表的代码似乎有问题,因为当我第一次打开文件时,工作表没有受到保护。以下是代码:在此处输入图片描述

当我们打开文件时,所有工作表上的特定单元格都应该被锁定,并且 Sheet36 上有一个按钮,可以使用密码解锁所有内容。但现在 Sheet36 上只显示“取消保护按钮”。

非常感谢您的帮助,谢谢。

答案1

要摆脱错误,您需要执行以下操作:

Sheets("Feuil36").Shapes("CommandButton2").Visible = False

怎么运行的:

  1. 按下Alt+F11打开 VB 编辑器。
  2. 来自查看菜单查找并点击 立即窗口
  3. 在上方写入或Copy & Paste写入代码Immediate Window,然后完成 Enter.

或者

您也可以使用宏。

Sub ButtonHideUnHide()
Dim ws As Worksheet
Set ws = feuil36
With ws
    .Shapes("CommandButton2").Visible = msoFalse
    .Shapes("CommandButton1").Visible = msoTrue

End With
End Sub

笔记:事件、工作表和命令按钮名称均可编辑。

相关内容