每次打开 Excel 文件时,我都会运行一个简单的 VBA 代码,多年来它一直运行良好。但几周后它就停止工作了。目的是每次打开 Excel 文件时锁定每个工作表上的特定单元格,并设置一个按钮,如果我单击该按钮,可以立即解锁所有内容。
现在,当我打开 Ecxel 文件时,我收到以下消息:
这是法语,意思是:编译错误,找不到成员方法或数据
最后,当我进入 sheet36(这是我的摘要页面,其中出现了解锁工作表的按钮)并单击取消保护所有工作表的按钮时,我输入密码并收到 1004 错误:
英文:执行错误“1004”:密码无效。请确认 CAPSLOCK 键未激活,并且您使用了正确的大小写。
此外,保护和取消保护我的所有工作表的代码似乎有问题,因为当我第一次打开文件时,工作表没有受到保护。以下是代码:在此处输入图片描述
当我们打开文件时,所有工作表上的特定单元格都应该被锁定,并且 Sheet36 上有一个按钮,可以使用密码解锁所有内容。但现在 Sheet36 上只显示“取消保护按钮”。
非常感谢您的帮助,谢谢。
答案1
要摆脱错误,您需要执行以下操作:
Sheets("Feuil36").Shapes("CommandButton2").Visible = False
怎么运行的:
- 按下
Alt+F11
打开 VB 编辑器。 - 来自查看菜单查找并点击 立即窗口。
- 在上方写入或
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
笔记:事件、工作表和命令按钮名称均可编辑。