在我的工作簿的每个标签上,单元格I1计算是否应打印该标签(符合条件)
我正在尝试对每个标签进行编码,以查看I1并更改I1 = "Print"
的标签颜色。我尝试的所有代码最终都导致Runtime error 1004
。
有人可以看到我的代码有什么问题吗?
编辑1:错误抛出
编辑2:我已切换为“从变更计算”。谢谢你。
编辑3:同一本书中有两个模块代码,用于密码保护/取消保护所有标签页。这会干扰吗?
子protect_all_sheets()
顶部:
pass = InputBox(“ password?”)
repass = InputBox(“验证密码”)
如果不是(通过=重新通过)然后
MsgBox“您制作了嘘声”
转到顶部
如果结束
对于i = 1 To Worksheets.Count
如果Worksheets(i).ProtectContents = True,则转到oops
下一个
对于ActiveWorkbook.Worksheets中的每一个
保护密码:= pass
下一个
退出子
oops:MsgBox“我认为您的某些工作表已经受到保护。请取消保护所有工作表,然后运行此宏。”
结束
Private Sub Worksheet_Change(ByVal Target As Range)
MyVal = Range("I1").Text
With ActiveSheet.Tab
Select Case MyVal
Case "Print"
.Color = RGB(255, 255, 102)
Case Else
.ColorIndex = xlColorIndexNone
End Select
End With
End Sub
答案 0 :(得分:1)
Worksheet_Change
不是由计算触发的:您需要Worksheet_Calculate
Private Sub Worksheet_Calculate()
Me.tab.color = IIf(Me.Range("I1").value="Print",vbRed,vbWhite)
End Sub