Korumalı bir sayfada seviyelendirme çalışır mı ?

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Arkadaşlar, birkaç gün önce bir arkadaşımın sorduğu bu soruya kendimce bir cevap buldum. Ama sizlerin çözümlerini de bekliyorum.

Yaptığım çözümün kısa açıklaması;

-Sayfayı koruma altına alın.
-Seviyelendirme yapılmış bir sütun üzerine gelin.
-Sağ klik yapın.
-Seviyelendirme seçeneklerinden birini seçin.
 

Ekli dosyalar

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Arkadaşlar, birkaç gün önce bir arkadaşımın sorduğu bu soruya kendimce bir cevap buldum. Ama sizlerin çözümlerini de bekliyorum.

Yaptığım çözümün kısa açıklaması;

-Sayfayı koruma altına alın.
-Seviyelendirme yapılmış bir sütun üzerine gelin.
-Sağ klik yapın.
-Seviyelendirme seçeneklerinden birini seçin.
hamitcan hocam
Aplication.commandbar("cell").Reset yerine ekleidğiniz menüleri kaldırmanız daha iyi olur çünkü diğer eklentilerdeki sağtuş menülerinide ölüdüryor. bu şekilde

benim işyerişndeki makine zaten evde eklediğim sağ tuşları göstermiyor.. birde resetlewnince iyice kafası karışıyor
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Sayın hsayar, kodları aşağıdakilerle değiştirip dener misiniz?
Kod:
Dim cb As CommandBar

Sub gizle()
ActiveSheet.Unprotect
Set myRange = Cells(1, ActiveCell.Column).CurrentRegion
lastcolumn = myRange.Columns.Count
If myRange.Columns(lastcolumn).ShowDetail Then
myRange.Columns(lastcolumn).ShowDetail = False
End If
ActiveSheet.Protect
End Sub

Sub goster()
ActiveSheet.Unprotect
Set myRange = Cells(1, ActiveCell.Column).CurrentRegion
lastcolumn = myRange.Columns.Count
If myRange.Columns(lastcolumn).ShowDetail = False Then
myRange.Columns(lastcolumn).ShowDetail = True
End If
ActiveSheet.Protect
End Sub
Sub PopUpMenu()
    Set cb = Application.CommandBars("Cell")
    
    Set MenuObject = cb.Controls.Add(Type:=msoControlPopup, Temporary:=True)
    MenuObject.Caption = "Seviyelendirme"
    MenuObject.BeginGroup = True
    '
    With MenuObject
        With .Controls.Add(Type:=msoControlButton)
            .OnAction = "gizle"
            .FaceId = 462
            .Caption = "gizle"
        End With
        With .Controls.Add(Type:=msoControlButton)
            .OnAction = "goster"
            .FaceId = 464
            .Caption = "goster"
        End With
    End With
End Sub
Sub Auto_open()
    PopUpMenu
End Sub

Sub Auto_Close()
'    Application.CommandBars("Cell").Reset
    Application.CommandBars(cb.Name).Reset
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam işyerindeki maki,ne tam bir kıl yine göstermiyor her nedense evde bakarım ama bencede en mantıklı çözüm önce şifreyi açmak
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam evdeyim mevcut sağ tuş menüsünü öldürmeyen kodlar aşağıdaki gibi olacak
Ayrıca seviyelendirme olmayan sütunda hata vermeside engellendi.
Kod:
Dim cb As CommandBar

Sub gizle()
On Error Resume Next
ActiveSheet.Unprotect
Set myRange = Cells(1, ActiveCell.Column).CurrentRegion
lastcolumn = myRange.Columns.Count
If myRange.Columns(lastcolumn).ShowDetail Then
myRange.Columns(lastcolumn).ShowDetail = False
End If
ActiveSheet.Protect
End Sub

Sub goster()
On Error Resume Next
ActiveSheet.Unprotect
Set myRange = Cells(1, ActiveCell.Column).CurrentRegion
lastcolumn = myRange.Columns.Count
If myRange.Columns(lastcolumn).ShowDetail = False Then
myRange.Columns(lastcolumn).ShowDetail = True
End If
ActiveSheet.Protect
End Sub
Sub PopUpMenu()
    Set cb = Application.CommandBars("Cell")
    
    Set MenuObject = cb.Controls.Add(Type:=msoControlPopup, Temporary:=True)
    MenuObject.Caption = "Seviyelendirme"
    MenuObject.BeginGroup = True
    '
    With MenuObject
        With .Controls.Add(Type:=msoControlButton)
            .OnAction = "gizle"
            .FaceId = 462
            .Caption = "gizle"
        End With
        With .Controls.Add(Type:=msoControlButton)
            .OnAction = "goster"
            .FaceId = 464
            .Caption = "goster"
        End With
    End With
End Sub
Sub Auto_open()
    PopUpMenu
End Sub

Sub Auto_Close()
    Set cb = Application.CommandBars("Cell")
    cb.Controls("Seviyelendirme").Delete
End Sub
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Düzelttiğim kod çalışmadı mı?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hayır diğer eklediğim menüleride öldürdü.
ayrıca seviyelendirme olmayan sütunlarda hata veriyordu.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Seviyelendirme olmayan sütunlarda verdiği hata normal ama diğer hata için dosyanızı görmeden birşey söyleyemeyeceğim.Çünkü ben de normal çalışıyor.
 
Katılım
14 Nisan 2013
Mesajlar
764
Excel Vers. ve Dili
Office Excel 2016 TR
Home & Business
Altın Üyelik Bitiş Tarihi
30.12.2018
Arkadaşlar, birkaç gün önce bir arkadaşımın sorduğu bu soruya kendimce bir cevap buldum. Ama sizlerin çözümlerini de bekliyorum.

Yaptığım çözümün kısa açıklaması;

-Sayfayı koruma altına alın.
-Seviyelendirme yapılmış bir sütun üzerine gelin.
-Sağ klik yapın.
-Seviyelendirme seçeneklerinden birini seçin.
Bu düşünce çok güzel,

Emeğinize sağlık sayfada çalışıyor, sağ tuş menüsünde herhangi pasif bir menü yok

Ama bu modülü kendi dosyama kopyaladım, sağ tuş menüsünde seviyelendirme çıkmadı ?
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Ya makroları etkinleştirmemiş olabilirsiniz yada versiyon farkı olabilir.
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,521
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Windows 7 ve Office 2010 TR kullanıyorum.


Sayın hamitcan üstadım, ilk iletinizde yazdığınız tüm işlevler sağ tuş yaptığımda çalışıyor.

Emek ve paylaşımınız için teşekkürler.

Sevgi ve saygılar.
 
Üst