• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makronun hata vermesi hk.

Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
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
 
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
 
Kendi kodlarınızdaki sorun nedir , onu anlamadım ?
 
Ö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

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
 
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.
 
Geri
Üst