Ошибка времени выполнения VBA 1004 при защите листа

у меня есть общая книга с двумя листами, на одном листе много формул, поэтому я хочу защитить "лист 1".

Я также вырезал и вставил некоторый код VBA в "лист 1". VBA отлично работает, пока я не защищу лист. Но когда я защищаю лист Ошибка времени выполнения 4 показывает.

любые идеи, что случилось?

Project

Private Sub Workbook_Open() 
StartBlink 
End Sub 

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
StopBlink 
End Sub

Module1

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
2
задан angelofdev
12.12.2022 23:54 Количество просмотров материала 2914
Распечатать страницу

1 ответ

вы хотите защитить ячейку A1? Я думаю, если снять защиту (снять заблокированную галочку с ячеек формата - > защита - > заблокирована) только с ячейки А1 и защитить всю остальную часть листа, код запустится и мигнет

0
отвечен Bes Gh 2022-12-14 07:42

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх