• DİKKAT

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

Sağ klik sil butonu iptal etme

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba hayırlı günler.

Ekte gönderdiğim excel dosyamın Sayfa1'de sağ klik yaptığımda sadece Sil... butonunun salt okunur olmasını veya iptal edilmesini istiyorum.

Yardımcı olur musunuz?
 

Ekli dosyalar

Merhaba,
Aşağıdaki kod satırını deneyiniz.
Application.CommandBars("Cell").FindControl(ID:=292).Enabled = False
 
Sayın Ömer Bey, ilginiz için çok teşekkür ediyorum, ellerinize sağlık.

Göndermiş olduğunuz kod sayfa üzerindeki hücrelerde sağ klik yaptığımda tam istediğim gibi çalışıyor.

Ancak sol taraftaki rakamlar olan satırları seçip sağ klik yaptığımda hala Sil... aktif durumda, bunu salt olarak yapabilir misiniz?
 

Ekli dosyalar

  • Örnek.jpg
    Örnek.jpg
    69.4 KB · Görüntüleme: 7
Buyurunuz...
Kod:
Application.CommandBars("Cell").FindControl(ID:=292).Enabled = False 'Hücre içinde
Application.CommandBars("Row").FindControl(ID:=293).Enabled = False 'Satırda
Application.CommandBars("Column").FindControl(ID:=294).Enabled = False 'Sütunda
 
Sayın Ömer Bey, tam istediğim gibi oldu, çok teşekkür ediyorum. Allah razı olsun.

Hayırlı günler diliyorum.
 
Rica ederim,
Hayırlı günler, iyi çalışmalar...
 
Sayın Ömer Bey, kusura bakmayın tekrar rahatsız ediyorum. Yeni fark ettim.

Bu kod tüm sayfalarda aktif oluyor, bu kodun sadece Sayfa1'de çalışmasını nasıl yaparız?
 
Aşağıdaki gibi yaptım yine olmadı.

Kod:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Sheets("Sayfa1").Application.CommandBars("Cell").FindControl(ID:=292).Enabled = False 'Hücre içinde
Sheets("Sayfa1").Application.CommandBars("Row").FindControl(ID:=293).Enabled = False 'Satırda
Sheets("Sayfa1").Application.CommandBars("Column").FindControl(ID:=294).Enabled = False 'Sütunda
End Sub
 
Önceki kodlarınızı silip Sayfa1'in kod bölümüne aşağıdaki kodu kopyalayınız.
Kod:
Private Sub Worksheet_Activate()
Application.CommandBars("Cell").FindControl(ID:=292).Enabled = False
Application.CommandBars("Row").FindControl(ID:=293).Enabled = False
Application.CommandBars("Column").FindControl(ID:=294).Enabled = False
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cell").FindControl(ID:=292).Enabled = True
Application.CommandBars("Row").FindControl(ID:=293).Enabled = True
Application.CommandBars("Column").FindControl(ID:=294).Enabled = True
End Sub
 
Sayın Ömer Bey, şimdi oldu işte, ellerinize sağlık. Allah razı olsun.

Hayırlı günler diliyorum.
 
Merhaba;

Daha sonra tekrar mesaj yazıp,"..... dosyam bozuldu" veya "....Excel bozuldu" ... dememeniz için; @ÖmerBey 'in "Worksheet_Deactivate" prosedüründeki kodların aynısını "Workbook_BeforeClose" prosedürüne de yazın.

Çünkü; eğer o sayfa aktifken dosyayı kapatırsanız söz konusu iptal edilen menüler tüm Excel dosyaları için de geçerli olur.....

.
 
Sayın Haluk Bey, uyarılarınız için çok teşekkür ediyorum.

Hayırlı akşamlar diliyorum.
 
Sayın Ömer Bey, hayırlı akşamlar.
Sizin kodların arasına Kopyala butonunu da eklemeye çalıştım, ama bazen çalışıyor, bazende çalışmıyor.
Sizin kodlar gibi kopyala kodunda ID:= numarası var mı acaba? Ya da kopyala kodunu nasıl düzeltmemiz gerekir?

Yardımcı olur musunuz?

Kod:
Private Sub Worksheet_Activate()
Application.CommandBars("Cell").FindControl(ID:=292).Enabled = False
Application.CommandBars("Row").FindControl(ID:=293).Enabled = False
Application.CommandBars("Column").FindControl(ID:=294).Enabled = False

Application.CommandBars("Cell").Controls("Kopyala").Enabled = False
Application.CommandBars("Row").Controls("Kopyala").Enabled = False
Application.CommandBars("Column").Controls("Kopyala").Enabled = False
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cell").FindControl(ID:=292).Enabled = True
Application.CommandBars("Row").FindControl(ID:=293).Enabled = True
Application.CommandBars("Column").FindControl(ID:=294).Enabled = True

Application.CommandBars("Cell").Controls("Kopyala").Enabled = True
Application.CommandBars("Row").Controls("Kopyala").Enabled = True
Application.CommandBars("Column").Controls("Kopyala").Enabled = True
End Sub
 
Aşağıdaki kodla, aradığınız ID'leri bulabilirsiniz...

Kod:
Sub Test()
    ' Haluk - 25/09/2019
    'sa4truss@gmail.com
    '
    For i = 1 To CommandBars("Cell").Controls.Count
        strTemp = strTemp & CommandBars("Cell").Controls(i).Caption & " - " & CommandBars("Cell").Controls(i).ID & vbCrLf
    Next
    MsgBox "Cell Menu" & vbCrLf & "-------" & vbCrLf & strTemp
    strTemp = ""
    
    For i = 1 To CommandBars("Row").Controls.Count
        strTemp = strTemp & CommandBars("Row").Controls(i).Caption & " - " & CommandBars("Row").Controls(i).ID & vbCrLf
    Next
    MsgBox "Row Menu" & vbCrLf & "-------" & vbCrLf & strTemp
    strTemp = ""
    
    For i = 1 To CommandBars("Column").Controls.Count
        strTemp = strTemp & CommandBars("Column").Controls(i).Caption & " - " & CommandBars("Column").Controls(i).ID & vbCrLf
    Next
    MsgBox "Column Menu" & vbCrLf & "-------" & vbCrLf & strTemp
End Sub

.
 
Son düzenleme:
Sayın Haluk Bey, ellerinize sağlık süper bir çalışma olmuş.

Küçük bir şey sormak istiyorum, aşağıdaki koddaki 292-293-294 bu sayıların hepsi Sil'imi temsil ediyor.

Application.CommandBars("Cell").FindControl(ID:=292).Enabled = False
Application.CommandBars("Row").FindControl(ID:=293).Enabled = False
Application.CommandBars("Column").FindControl(ID:=294).Enabled = False
 
ID=292, 293 ve 294 sözkonusu 3 menüdeki "Sil" etiketli menünün ID değerleridir.

.
 
Son düzenleme:
Sayın Haluk Bey, ellerinize sağlık, çok teşekkür ediyorum, Allah razı olsun.

Hayırlı geceler diliyorum.
 
Aslan Bey, biraz dalgınlığıma gelmiş....

14. mesajımdaki kodu tekrar revize ettim....

.
 
Sayın Haluk Bey, ilginiz için çok çok teşekkür ediyorum.
 
Ömerbey hocam ve Haluk hocam merhaba

Birkaç gündür arıyorum ve denemeler yapıyorum olmuyor bir türlü.

Sorum şudur:

Sil ID ‘leri çalışıyor. Onda bir sorun yok.

Cell
Row
Column

Bu üçünde Hücre Ekle, Satır Ekle ve Sütun Ekle pasif yapabilmek için Ekle ID ‘leri hangileridir.



(Not: Haluk hocamın kodlarını denedim.
Mesela bir deniyorum Cell Ekle için 3181 çıkıyor
Sonra tekrar deniyorum Cell Ekle için 295 çıkıyor.
Yani farklı sayılar çıkıyor. Bu kısmı da anlayamadım ve çözemedim)


Şu konuya en alttaki mesajıma örnek dosya ekledim.

 
Geri
Üst