【发布时间】:2017-09-11 02:09:21
【问题描述】:
我用密码保护了表格 4,因为有些单元格不允许用户在表格 4 的这些单元格中输入。密码是 1234。
但是,我想运行我的宏,如果出现错误,单元格将自动突出显示。
我的宏没有运行并且出错,因为我要突出显示的单元格在受保护的工作表中。
当我点击验证按钮时,如何使工作表 4 保持受保护并让我的宏继续运行?
Private Sub commandbutton1_click()
FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:=1234, WriteResPassword:=1234, _
ReadOnlyRecommended:=False, CreateBackup:=False
vehicle = Sheets("4").Range("K22")
expenditure_gasoline = Sheets("4").Range("M22")
If vehicle = true and expenditure_gasoline = 0 Then
MsgBox "it should not be empty", vbcritical
End If
If vehicle = true and expenditure_gasoline = 0 Then Sheets("4").Range("M22").Interior.ColorIndex = 3
End sub
【问题讨论】:
-
您需要在更改之前取消保护工作表(使用
Sheets("4").Unprotect "1234"),进行颜色更新,然后使用Sheets("4").Protect "1234"保护它,或者只执行一次允许编辑的保护通过 VBA 像这样:Sheets("4")Protect Password:="1234", UserInterfaceOnly:=True
标签: vba excel validation