Makronun hata vermesi hk.

Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Arkadaşlar aşağıdaki gibi bir kodum var IF komutunda yazan kodlar hata verirse ELSE komutunda yazan kodları çalıştırsın, ELSE komutunda yazan kodlar hata verirse IF komutunda yazan kodları çalıştırsın istiyorum. Bunu nasıl yapabilirim?

Kod:
Option Explicit

Dim Kontrol As Boolean

Sub kilitle()
    

    Dim Buton
    
    If Kontrol = True Then
        Range("BE3").Value = "X"
        ActiveSheet.Protect "12345"
        Kontrol = False
        
    Else
        ActiveSheet.Unprotect "12345"
        Kontrol = True
        Range("BE3").Value = Sheets("Veri").Range("D107").Value
        
    End If
    

End Sub
 
Katılım
27 Mayıs 2018
Mesajlar
130
Excel Vers. ve Dili
2016 x64
Altın Üyelik Bitiş Tarihi
29/05/2023
Bu şekilde dener misiniz?

Kod:
Option Explicit
Sub kilitle()
Dim Kontrol As Boolean
Dim Buton

    If Kontrol = True Then
        Range("BE3").Value = "X"
        ActiveSheet.Protect "12345"
        Kontrol = False
        
    ElseIf Kontrol = False Then
        ActiveSheet.Unprotect "12345"
        Kontrol = True
        Range("BE3").Value = Sheets("Veri").Range("D107").Value
        
    End If
End Sub
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Hata verdi maalesef.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Kendi kodlarınızdaki sorun nedir , onu anlamadım ?
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Örnek dosya paylaştım. Dosyanın içinde makronun hangi durumlarda hata verdiğini de detaylı bir şekilde yazdım. Bakarsanız çok sevinirim.
 

Ekli dosyalar

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba , Önceki kodlarınızı silerek aşağıdaki kodları deneyiniz.

Kod:
Sub Emr_Sayfa_Kilit_Ac_Kapa()

If ActiveSheet.ProtectContents = True Then
    ActiveSheet.Unprotect "12345"
    Range("A1").Value = "Sayfa Açık"
    MsgBox "Sayfa Kilidi Acildi"
Else
    Range("A1").Value = "Sayfa Kilitli"
    ActiveSheet.Protect "12345"
    MsgBox "Sayfa Kilitlendi"
End If

End Sub
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Merhaba , Önceki kodlarınızı silerek aşağıdaki kodları deneyiniz.

Kod:
Sub Emr_Sayfa_Kilit_Ac_Kapa()

If ActiveSheet.ProtectContents = True Then
    ActiveSheet.Unprotect "12345"
    Range("A1").Value = "Sayfa Açık"
    MsgBox "Sayfa Kilidi Acildi"
Else
    Range("A1").Value = "Sayfa Kilitli"
    ActiveSheet.Protect "12345"
    MsgBox "Sayfa Kilitlendi"
End If

End Sub
Teşekkür ederim usta tam istediğim gibi çalışıyor.
 
Üst