Sayfayı koruduğumda VBA çalışma zamanı hatası 1004


0

İki sayfalık ortak bir çalışma kitabım var, bir sayfanın birçok formülü var, bu yüzden "sayfanın 1" ini korumak istiyorum.

Ayrıca bazı VBA kodlarını "sayfa 1" e kesip yapıştırdım. VBA, sayfayı koruyana kadar harika çalışıyor. Ancak sayfayı koruduğumda çalışma zamanı hatası 4 gösteriyor.

Yanlış olan ne varsa?

proje

Private Sub Workbook_Open() 
StartBlink 
End Sub 

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
StopBlink 
End Sub

FirstStepsBasic.Standard.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

Bize tam olarak neyi başarmaya çalıştığını söyler misin? VBA kodunun bir parçası da yardımcı olabilir. VBA sayfadaki herhangi bir şeyi değiştirir mi? Bir VBA betiğinin artık değiştiremeyeceği korumalıysa kabul ediyorum. Sadece bir tahmin olsa.
konfeti

Kodu bizimle paylaşmanız daha iyi, hatayı bulmamız ve düzeltmemiz için bize yardımcı olacaktır!
Rajesh S

Sayfayı koruduğumda hangi Worksheet.Protect yönteminin parametrelerini belirlersiniz? Herhangi bir fikir Korumayı kaldırın, işlem yapın, korumayı geri yükleyin. VBA kolayca yapabilir ...
Akina

1
ÇALIŞMA MODÜLÜ Herkese Açık ÇalışmaBir Çift Altında StartBlink () ile ThisWorkbook.Worksheets ("sheet1"). Aralığı ("a1"). Yazı Tipi .ColorIndex = 3 Sonra .ColorIndex = 2 Else. + TimeSerial (0, 0, 1) Application.OnTime RunWhen, "'" & ThisWorkbook.Name & "'! StartBlink", True End Alt Alt StopBlink () ThisWorkbook.Worksheets ("sayfa1"). Aralık ("a1") ) .Font.ColorIndex = _ xlColorIndexOtomatik Uygulama.OnTime RunWe, "'" & ThisWorkbook.Name & "'! StartBlink",, False End Sub
banir paul

2
Tüm ek bilgiler bir soru metnine eklenmelidir. Sorunun altındaki düzenleme bağlantısını kullanın .
Akina

Yanıtlar:


0

A1 hücresini korumak ister misiniz? Sadece A1 Hücresini koruyorsanız (kilitli onay işaretini kaldırırsanız -> koruma -> kilitli) ve sayfanın geri kalanını korursanız kod çalışır ve yanıp söner.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.