comboxta makro

Katılım
23 Şubat 2005
Mesajlar
303
arkadaslar sayfa1 uzerine araclar--ozellestir--formlar menusunden combobox ekliyorum ve bu comboxın icerisine makrolar yazmak istiyorum mumkun mu? yani comboxı acinca 1.makro-2.makro gibi...
 
Katılım
3 Mart 2005
Mesajlar
571
Excel Vers. ve Dili
Excel 2000 Ing.
merhaba,
form araç kutusu nesneleri, kontrol araç nesneleriden biraz farklıdır bilindiği gibi,
eğer bir form nesnesiyle işlem yapmak isterseniz önce makro yazıp bu makroyu
nesneye atamalısınız, bu yüzden kontrol nesnelerinde olduğu gibi tıklanarak
editöre girilemiyor.

bence sorununuzun başka çözümleri de vardır, bence siz çekinmeyin sorununuzu söyleyin,
 

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;

Ben soruyu yanlış anlayıp, Excel'de menü çubuğuna bir ComboBox ekleyip, onun içinden yapılacak seçime göre ilgili makronun çalıştırılmasına dair bir örnek haırlamıştım.

Meğer, istenen şey daha kolaymış ... neyse, yine de buraya ekleyeyim artık....
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Merhaba;

Ben soruyu yanlış anlayıp, Excel'de menü çubuğuna bir ComboBox ekleyip, onun içinden yapılacak seçime göre ilgili makronun çalıştırılmasına dair bir örnek haırlamıştım.

Meğer, istenen şey daha kolaymış ... neyse, yine de buraya ekleyeyim artık....
görebilmek isterdim
 
Katılım
8 Mayıs 2005
Mesajlar
87
Excel Vers. ve Dili
Office 2010 - 2013 İngilizce
Sn. hsayar ne de güzel ifade etmiş: "görebilmek isterdim" diyerek

Ben de forumda buna yönelik arama yapıyordum tam olarak
Excel menüsüne eklediğim comboboxta seçtiğim veri (1. satırda yer alan tüm veriler) seçilen veriye göre sıralama yapacak

Herşeyi yaptım, sadece o veriyi sıralama ile ilişkilendirip sayfayı sıralandıramıyorum..

Örnek dosya yine de ekte, belki bir çözüm bulabiliriz..
 
Katılım
18 Mayıs 2005
Mesajlar
65
Excel Vers. ve Dili
Excel 2007 - ing
Sn. hsayar ne de güzel ifade etmiş: "görebilmek isterdim" diyerek

Ben de forumda buna yönelik arama yapıyordum tam olarak
Excel menüsüne eklediğim comboboxta seçtiğim veri (1. satırda yer alan tüm veriler) seçilen veriye göre sıralama yapacak

Herşeyi yaptım, sadece o veriyi sıralama ile ilişkilendirip sayfayı sıralandıramıyorum..

Örnek dosya yine de ekte, belki bir çözüm bulabiliriz..
MErhaba, bu soruna yanıt bulabildin mi? Ben de buna benzer bir şey deniyorum da
 
Katılım
8 Mayıs 2005
Mesajlar
87
Excel Vers. ve Dili
Office 2010 - 2013 İngilizce
Maalesef hala bulamadım ve kafayı yemek üzereyim
Normal combobox olsa hadi neyse, benzer 1 şey yapmıştım daha önce ama menü comboboxı ile seçilen veriyi alıp başka yerde kullanamıyorum bir türlü:(
 
Son düzenleme:
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 Sayın demirtaşın combosuna ben Aktifkitaptaki makroları nasıl getirebilirim. (combodan seçip çalıştıracağım)
 

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
görebilmek isterdim
Oldukça eski bir mesaj olduğu için, forumun taşınması sırasında eklediğim dosya silinmiş.

Neyse ki, bilgisayarımda halen bulunuyormuş ... Dosya açılınca, Excel'in menü çubuğunda bir ComboBox ortaya çıkar, yapılan seçime göre ilgili makro çalışır.

Kaybolan dosya ektedir.



.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkür ederim sn. haluk hocam peki combada tanımlamak yerine aktif kitaptaki makroları (sadece sub ile başlayanlar, private sub vs. hariç.) getirip onu çalıştırmak mümkün oluırmu.?
 

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
Ekteki dosyaya bir bakın .... eğer standart modüller içinde Private Sub kullanmadıysanız ( ki, doğrusu o dur...) istediğiniz gerçekleşir.



.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkürler hocam bunu istiyordum, yalnız ufak bir ilave lazım
yeni makro eklendiğinde Comboda gözükmüyor. bunun için ne gibi değişkli gerekir.
 

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
Ufak ilave isteğiniz, biraz daha fazla kafa yormak gerekiyor ....

Şimdilik, dosyayı açıp-kapatmakla güncelleyebilirsiniz...:mrgreen:
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
neyse hocam aklınıza gelince halledersiniz
hatta yapmışken eklneti olarak yapalım araçlar/makrolar iletişim kutusuna gitmekten bıktım.Birde orada tüm açık kitaptakiler var..
comboda aktif kitaptaki makroları gösteren bir eklenti çok güzel olacak.
açıp kapamak yerien auto_open ı çalıştırmakta yeterli geliyor:)
 
Katılım
8 Mayıs 2005
Mesajlar
87
Excel Vers. ve Dili
Office 2010 - 2013 İngilizce
Sn. Haluk,

ben daha çok help menüsünün yanında bir combobox olacağını düşünmüştüm ama, yaptığınız çalışma işime yarayacak, rutin işlerimi kolaylaştıracak

Sizin select case ile newcombo.text verisine bağlı olarak çalıştırdığınız ayrı makrolar yerine kendi sıralama makromu yazarak ufak bir değişiklik yaptım ve istediğimi elde ettim..

Sanırım her ihtiyacı olan da uygulamayı kendine göre uyarlayabilecektir..

Teşekkür ederim:)
 

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
Sayın demirtas;

Aynı ComboMenu'yu Excel'in Help-Yardım menüsünün yanında yerleştirmek için, aşağıdakini kullanabilirsiniz;

Kod:
Dim NewCombo As Office.CommandBarComboBox
Dim NewBar As Office.CommandBar
'
Sub Auto_Open()
    Call MyMenu
End Sub
'
Sub MyMenu()
    On Error Resume Next
    Application.CommandBars("Worksheet Menu Bar").FindControl(Tag:="MyComboTag").Delete
    On Error GoTo 0
    Set NewBar = Application.CommandBars("Worksheet Menu Bar")
    Set NewCombo = NewBar.Controls.Add(msoControlComboBox, Temporary:=True)
    With NewCombo
        .Text = "Secim yapin..."
        For Each MyMod In ThisWorkbook.VBProject.VBComponents
            If MyMod.Type = 1 Then
                Set MyProc = ThisWorkbook.VBProject.VBComponents(MyMod.Name).CodeModule
                With MyProc
                    LineStart = .CountOfDeclarationLines + 1
                    Do Until LineStart >= .CountOfLines
                        ProcName = .ProcOfLine(LineStart, 0)
                        LineStart = LineStart + .ProcCountLines(.ProcOfLine(LineStart, 0), 0)
                        NewCombo.AddItem ProcName
                    Loop
                End With
            End If
        Next
        .DropDownLines = 5
        .DropDownWidth = 90
        .OnAction = "MyCombo"
        .Tag = "MyComboTag"
    End With
End Sub
'
Sub MyCombo()
    Application.Run NewCombo.Text
End Sub
'
Sub Macro1()
    MsgBox "Birinci makro calistirildi !"
    NewCombo.Text = "Secim yapin..."
End Sub
'
Sub Macro2()
    MsgBox "Ikinci makro calistirildi !"
    NewCombo.Text = "Secim yapin..."
End Sub
'
Sub Auto_Close()
    On Error Resume Next
    Application.CommandBars("Worksheet Menu Bar").FindControl(Tag:="MyComboTag").Delete
    On Error GoTo 0
End Sub
 
Üst