当我保护工作表时,VBA 运行时出现错误 1004

当我保护工作表时,VBA 运行时出现错误 1004

我有一个包含两张工作表的共享工作簿,一张工作表包含许多公式,所以我想保护“工作表 1”。

我还将一些 VBA 代码剪切并粘贴到“工作表 1”中。在我保护工作表之前,VBA 运行良好。但是当我保护工作表时,会显示运行时错误 4。

知道哪里出了问题吗?

项目

Private Sub Workbook_Open() 
StartBlink 
End Sub 

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
StopBlink 
End Sub

模块1

Public RunWhen As Double Sub StartBlink() 
With ThisWorkbook.Worksheets("sheet1").Range("a1").Font 
    If .ColorIndex = 3 Then   
        .ColorIndex = 2 
    Else 
        .ColorIndex = 3 
    End If 
End With 

RunWhen = Now + TimeSerial(0, 0, 1) Application.OnTime RunWhen, "'" & ThisWorkbook.Name & "'!StartBlink", , True 
End Sub 

Sub StopBlink() 
ThisWorkbook.Worksheets("sheet1").Range("a1").Font.ColorIndex = _ 
    xlColorIndexAutomatic Application.OnTime RunWhen, "'" & ThisWorkbook.Name & "'!StartBlink", , False 
End Sub

答案1

您想保护 A1 单元格吗?我认为如果您仅取消保护(从“格式化单元格 -> 保护 -> 锁定”中删除“锁定”复选标记)A1 单元格并保护工作表的其余部分,代码将运行并闪烁

相关内容