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:

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
494
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
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
 
Katılım
6 Mart 2024
Mesajlar
283
Excel Vers. ve Dili
Excel 2010 TR & Excel 2016 TR
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ü:

 
Katılım
13 Şubat 2025
Mesajlar
5
Excel Vers. ve Dili
sürüm 2402
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.
 
Üst