Sağ klik sil butonu iptal etme

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,338
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki kod satırını deneyiniz.
Application.CommandBars("Cell").FindControl(ID:=292).Enabled = False
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,338
Excel Vers. ve Dili
2007 Türkçe
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
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Ömer Bey, tam istediğim gibi oldu, çok teşekkür ediyorum. Allah razı olsun.

Hayırlı günler diliyorum.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,338
Excel Vers. ve Dili
2007 Türkçe
Rica ederim,
Hayırlı günler, iyi çalışmalar...
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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?
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,338
Excel Vers. ve Dili
2007 Türkçe
Ö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
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Ömer Bey, şimdi oldu işte, ellerinize sağlık. Allah razı olsun.

Hayırlı günler diliyorum.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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.....

.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Haluk Bey, uyarılarınız için çok teşekkür ediyorum.

Hayırlı akşamlar diliyorum.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
ID=292, 293 ve 294 sözkonusu 3 menüdeki "Sil" etiketli menünün ID değerleridir.

.
 
Son düzenleme:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Haluk Bey, ellerinize sağlık, çok teşekkür ediyorum, Allah razı olsun.

Hayırlı geceler diliyorum.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aslan Bey, biraz dalgınlığıma gelmiş....

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

.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Haluk Bey, ilginiz için çok çok teşekkür ediyorum.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Ö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.

 
Üst