• DİKKAT

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

Liste Menü

Katılım
13 Şubat 2025
Mesajlar
5
Excel Vers. ve Dili
sürüm 2402
Merhaba,
Ekte ilettim excel de satış bölge adı altındaki bölgelere ok ile geldiğimde menü açılarak sağda yazdığım illerin açılması o ile tıkladığımda ilgili sheet e gitmesini istiyorum. 2 tane menü olarak görsel örnek ekledim. Bunu nasıl gerçekleştirebiliriz. Destekleriniz için şimdiden teşekkürler

https://s6.dosya.tc/server22/y6ljhy/Deneme.xlsx.html
 
Son düzenleme:
Merhaba,
Ekte ilettim excel de satış bölge adı altındaki bölgelere ok ile geldiğimde menü açılarak sağda yazdığım illerin açılması o ile tıkladığımda ilgili sheet e gitmesini istiyorum. 2 tane menü olarak görsel örnek ekledim. Bunu nasıl gerçekleştirebiliriz. Destekleriniz için şimdiden teşekkürler

https://www.filemail.com/d/jglqkpsaxzaxwad
dosya.tc dosya.co gibi paylaşım sitelerine dosyanızı yükleyip buraya link veriniz. Dosya üzerinde çalışmak daha kolay çözüm bulmamızı sağlar
 
Merhaba,
Sorunuzdan anladığım :
Excel kitabınız içinde bulunan sayfaları,
belirlediğiniz bir sistematiğe göre kategorize edip
bir menüye dönüştürerek sayfalar arasında kolay seçim yapmak istiyorsunuz.

VBA kodlar Module Eklenecek.
Arrayları Kendi Sistematiğinize göre dizayn edebilirsiniz.


C++:
Option Explicit
'Biolight 2025 - Eppur Si Muove

Sub Auto_Open()
    
    ' ***** EKLENTİLER MENÜ SEKMESİNE BAKINIZ *****
    
    Dim cmbBar As CommandBar, cmbPopup As CommandBarControl
    Dim cmbSubPopup As CommandBarControl, cmbButton As CommandBarControl
    Dim menuItem As Variant, subMenuItem As Variant, buttonItem As Variant
    
    ' Menü verilerini dizi ile tanımla
    Dim menus As Variant
    menus = Array( _
        Array("MARMARA 1", Array("İSTANBUL AVP.", "EDİRNE", "TEKİRDAĞ", "KIRKLARELİ")), _
        Array("MARMARA 2", Array("İSTANBUL AND.", "YALOVA", "KOCAELİ")), _
        Array("MARMARA 3", Array("BURSA", "ÇANAKKALE", "BİLECİK")), _
        Array("EGE 1", Array("İZMİR")), _
        Array("EGE 2", Array("AYDIN", "MUĞLA")) _
    )

    ' Worksheet Menu Bar'a referans al
    Set cmbBar = Application.CommandBars("Worksheet Menu Bar")

    ' Önceden var olan aynı isimli menüyü kaldır
    On Error Resume Next
        cmbBar.Controls("SATIŞ BÖLGE").Delete
    On Error GoTo 0

    ' Yeni bir açılır menü ekle
    Set cmbPopup = cmbBar.Controls.Add(Type:=msoControlPopup, Temporary:=True)
    cmbPopup.Caption = "SATIŞ BÖLGE"

    ' Menüleri oluştur
    For Each menuItem In menus
        Set cmbSubPopup = cmbPopup.Controls.Add(Type:=msoControlPopup)
        cmbSubPopup.Caption = menuItem(0)

        ' Alt menüleri oluştur
        For Each buttonItem In menuItem(1)
            Set cmbButton = cmbSubPopup.Controls.Add(Type:=msoControlButton)
            cmbButton.Caption = buttonItem
            cmbButton.FaceId = 23
            cmbButton.OnAction = "SayfaSEC"
        Next buttonItem
    Next menuItem
End Sub

Sub SayfaSEC()
    Dim ws As Worksheet
    Dim arananSayfa As String
    
    ' Menüden seçilen sayfanın adını al
    arananSayfa = Application.CommandBars.ActionControl.Caption

    ' Tüm sayfalar içinde arama yap
    For Each ws In ThisWorkbook.Sheets
        If ws.Name = arananSayfa Then ' Sayfa bulunduysa
            ws.Select ' Sayfa yı seç
            Exit Sub ' makrodan çık
        End If
    Next ws

    ' Sayfa bulunamazsa mesaj göster
    MsgBox arananSayfa & " adında bir sayfa bulunamadı!", vbExclamation, "Sayfa Bulunamadı"

End Sub



? Örnek Menü Uygulaması : MultiDropDownMenu.xlsm


? Ekran Görüntüsü:

thumbnail
 
Merhaba,

öncelikle teşekkürler evet bunun gibi ama bu menüyü eklentiler gibi değilde MARMARA1 sekmesinin üstüne geldiğimiz sağa açılan liste gibi yapılabilir mi.
 
Geri
Üst