• DİKKAT

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

vba ile hücre özel kısa yol menüsü yapılabilir mi ?

  • Konbuyu başlatan Konbuyu başlatan meh11
  • Başlangıç tarihi Başlangıç tarihi
Katılım
22 Aralık 2009
Mesajlar
23
Excel Vers. ve Dili
xp türkçe
Merhaba,
Excel'de hücreye sag tıklatınca kısa yol menüsü açılıyor ve komutları görüyoruz.
Bunun yerine, vba ile kendi kısa yol menümüzü yapıp, tanımladığımız işlemi(komutu) gösterip çalıştırabilirmiyiz ?
örneğin bir sütunda hücrelerde parça kodları olsun, kullanıcı herhangi bir kod hücresine sag tıklatacak, excel menüsü yerine tanımladığımız menü açılacak
tanımladıgımız işlemi seçip, yapacak; mesela parçanın fiziksel özelliklerini açılan
pencerede görecek, özel kısa yol menü mümkün değilse alternatif öneriniz olabilir mi ?
selam ve sevgiler ...
 
Selamlar,

Alternatif olarak hücreye çift tıklama ile açılacak bir userform işinize yaramaz mı?

Eğer cevabınız olumlu yönde olursa örnek dosya ekleyerek ne yapmak istediğinizi açıklayınız.
 
vba ile kısa yol menüsü,Korhan Ayhan'a cevap

Korhan Ayhan cevabınıza teşekkürler. Örnek dosyam yok.user form hiç kullanmadım, bu formda parça resmi göstermek mümkün müdür ?
basit bir form şekli gösterirmisiniz ? userform istemezsem özel kısa yol menü yapmak mümkün ? ilk defa soru-cevap yazıyorum,cevabı size özel mi göndermeliydim hatam varsa lütfen düzeltin
selamlar
 
Selamlar,

Mesajlarınızı forum geneline yazmalısınız. Kişiye özel yadığınızda yanıt almanız gecikebilir.

Ayrıca devam niteliğindeki mesajlarınızı açtığınız başlığa eklemelisiniz. Ayrı başlık açmanız için farklı bir sorunuzun olması gerekiyor.

En azından dosyanızın içinde neler olacağına dair küçük bir örnek hazırlayıp eklerseniz vereceğimiz cevaplar ona göre yönlenebilir.
 
Merhaba,

Küçük bir örnek ekledim bu mantıkla yapılabilir. Hücre üzerinde sağ click yaptıktan sonra açılan menünün en alt kısmındaki ilaveyi görebilirsiniz.


.
 

Ekli dosyalar

Geçmişte hazırladığım bir çalışmamda tasarladığım bir sağ-klik menüsü sanıyorum istediğinizi karşılayacaktır. Ekli dosyada sarı renkli alanda tasarlanan menü oluşacak, alan dışında normal excel menüsüne dönecektir. Sağ-klikten sonra ilk menüyü tıklarsanız Korhan beyin belirttiği gibi çıkacak bir userformdan gerekli verileri çağırabilirsiniz.
 

Ekli dosyalar

Sayın Levent Menteşoğlu
Çok güzel bir uygulama
Bu sağ klik menüsü içerisine sabit bir değerler listesi girebilirmiyiz.

Örneğin menü içerisine

Kitap
Defter
Kalem
Silgi
ve bunun gibi

Degerler yazmış olsak ve sağ klikleyip menü içerisinden "kalem"e tıklasak sağ kliklenen hücre içerisine "Kalem" yazdırabilirmiyiz.
Kendi projeme çok uygun bir işlem olacak
Saygılarımla
 
Sn cebelitarık ekli dosyada istediğiniz gibi bir uygulama hazırladım.
 

Ekli dosyalar

Sayın Levent Menteşoğlu
İlgin çok teşekkür ederim.

Koddaki rakamlar ne işe yarar rastgele sayılar mıdır.
.FaceId = 1145

liste girişini nasıl çogaltabilirim. Mesela 30 tane sabit giriş olacak
saygılarımla
 
Sayın Levent Menteşoğlu
.FaceId = 1145
lerin ne işe yaradığını çözdüm. listeye simge oluyorlarmış bu simgelerin toplu bir listesi varmıdır.
gerekeni içinden beğenip seçmek için.

Menüyü 30 adet listeye uzatabilirmiyiz.
menü1, menü2,..............menü30 gibi
Saygılarımla.
 
Sayın Korhan Ayhan, Ömer bey ve Levent Menteşoğlu ilginize çok teşekkür. Sayın Levent Menteşoğlu'nu yolladığı sag-click dosyası benim soruma en uygun çözümü veriyor.Levent bey'in
makrosunda kullandığı,faceid=1145,begingroup gibi ifadeleri, uzman olmadığım için anlayamadım.
Bunlar, vba'nın kapsamındamıdır yoksa başka bir dilin ögelerimidir?bunlar hakkında nasıl bilgi sağlarım.Bu cevapla konuyu kapatıyorum. Tasarıma resim ekleme işini kendim yapmaya
çalışacağım,böylece daha iyi öğreneceğimi sanıyorum, zorluk çekersem tekrar başka konu altında foruma iletirim. Tüm foruma selam ve sevgiler
 
Selamlar,

Sn. cebelitarık,

Ekteki örnek dosyayı incelermisiniz.

Ürün eklemek isterseniz modül içindeki kodlara ulaşın. Orada nasıl yapıldığını göreceksiniz. Eğer anlamadığınız bir yer olursa tekrar yardımcı olabilirim.

Eğer ürün isimleri bir sayfadan alınırsa daha sağlıklı olabilir.
 

Ekli dosyalar

Sayın Korhan Ayhan,Ömer bey,Levent Menteşoğlu ilginize teşekkür. Sayın Levent Menteşoğlu'nun
sağ klik-menu dosyası, benim soruma en uygun çözümü veriyor.Bu dosyanın makrosundaki faceid=1145,begin group vb ifadeleri anlayamadım.Bunlar vba'ya mı yoksa başka bir dile'mi ait ?
Bunlar hakkında nasıl bilgi elde ederim ? Bu cevapla soru, çözülmüş oluyor. Tasarıma devam edeceğim başka çözemediğim konu olursa foruma başvuracağım. Tüm foruma selam ve sevgiler
 
Selamlar,

Bahsettiğiniz terimler tabiki VBA 'ya aittir. Menülerle ilgili terimlerdir.

.FaceId = Menüdeki isimlerin sol tarafındaki resimleri ifade eder. Farklı sayısal değerler vererek denemeler yapabilirsiniz. Nette arama yaparak değişik kodlara ulaşabilirsiniz.

.BeginGroup = Menüde seçenekler arasına ayırıcı çizgi ekler. Yani gruplama işlemi görür. Bu satıra ait değerleri "True" yaparsanız çizgilerin eklendiğini görebilirsiniz.
 
Herkese merhabalar;

Öncelikle bu konuyu açan Sn meh11'e teşekkür ediyorum.Hocalarım da çok güzel dosyalar paylaşmışlar ellerine sağlık.Bu dosyalardan Korhan hocamızın paylaştığı 12 no'lu mesajdaki dosyaya bir iki eklemeyle kendi sorumu hazırladım.(Bu konunun devamı olarak ta düşünülebileceği için ayrı bir başlık açmıyorum.)

Dosyamda:bir tablo aralığındaki her hücreye aynı menünün değil de tıklanan hücrenin sağladığı kriterlere uygun menülerin her hücre için ayrı ayrı oluşması üzerine bir sorum var.Ayrıntılı açıklamayı örnek dosyamda yaptım.

Öncelikle Korhan Hocama ve ilgilenecek olan herkese teşekkür ederim.
 

Ekli dosyalar

Herkese merhabalar;

Öncelikle bu konuyu açan Sn meh11'e teşekkür ediyorum.Hocalarım da çok güzel dosyalar paylaşmışlar ellerine sağlık.Bu dosyalardan Korhan hocamızın paylaştığı 12 no'lu mesajdaki dosyaya bir iki eklemeyle kendi sorumu hazırladım.(Bu konunun devamı olarak ta düşünülebileceği için ayrı bir başlık açmıyorum.)

Dosyamda:bir tablo aralığındaki her hücreye aynı menünün değil de tıklanan hücrenin sağladığı kriterlere uygun menülerin her hücre için ayrı ayrı oluşması üzerine bir sorum var.Ayrıntılı açıklamayı örnek dosyamda yaptım.

Öncelikle Korhan Hocama ve ilgilenecek olan herkese teşekkür ederim.


böyle bir şeymi istemiştiniz.

Kod:
Sub SAĞ_TUŞ_MENÜ()
a = ActiveWindow.Selection.Row
b = ActiveWindow.Selection.Column
aranan3 = Worksheets(ActiveSheet.Name).Cells(a, "K").Value
aranan4 = Worksheets(ActiveSheet.Name).Cells(a, "L").Value
For X = Application.CommandBars("Cell").Controls.Count To 1 Step -1
Application.CommandBars("Cell").Controls(X).Delete
Next
 
For j = 2 To Worksheets("SERVİS").Cells(1, 255).End(xlToLeft).Column
aranan1 = Worksheets("SERVİS").Cells(1, j).Value
For i = 2 To Worksheets("SERVİS").[a65536].End(3).Row
aranan2 = Worksheets("SERVİS").Cells(i, "A").Value
If aranan1 & aranan2 = aranan4 & aranan3 Then
If Worksheets("SERVİS").Cells(i, j).Value <> "" Then
Set MENÜ_DETAY = Application.CommandBars("Cell").Controls.Add
With MENÜ_DETAY
.Caption = Worksheets("SERVİS").Cells(i, j).Value
.FaceId = 607
.OnAction = "ÜRÜN"
.BeginGroup = False
End With
End If
End If
Next
Next
End Sub
Sub ÜRÜN()
ActiveCell = CommandBars.ActionControl.Caption
End Sub
 
Halit hocam açıkçası bu kadar kısa zamanda bu kadar pürüzsüz ve güzel bir çözüm beklemiyordum bu soru için.Gerçekten harika olmuş tam ihtiyaç duyduğum şekilde çalışıyor.Ellerinize sağlık çok teşekkür ederim.

Bu çözüme ek olarak dosyada da açıkladığım gibi..Sağ kliğin orjinal menüsünü açan bir kısa yolu tüm hücrelerde gelen menünün en altına ekleyebilmemiz mümkün müdür?
 
Geçmiş yıllarda değerli dostum ve üstadım Haluk beyin hazırlamış olduğu ve tüm faceidlerin listesini veren ekteki dosyayı inceleyebilirsiniz. Dosyadaki butona tıkladığınızda çalışması biraz uzun sürebilir, mutlaka bitmesini bekleyin.
 

Ekli dosyalar

Halit hocam açıkçası bu kadar kısa zamanda bu kadar pürüzsüz ve güzel bir çözüm beklemiyordum bu soru için.Gerçekten harika olmuş tam ihtiyaç duyduğum şekilde çalışıyor.Ellerinize sağlık çok teşekkür ederim.

Bu çözüme ek olarak dosyada da açıkladığım gibi..Sağ kliğin orjinal menüsünü açan bir kısa yolu tüm hücrelerde gelen menünün en altına ekleyebilmemiz mümkün müdür?

bunu denermisin

Kod:
Sub SAĞ_TUŞ_MENÜ()
a = ActiveWindow.Selection.Row
b = ActiveWindow.Selection.Column
aranan3 = Worksheets(ActiveSheet.Name).Cells(a, "K").Value
aranan4 = Worksheets(ActiveSheet.Name).Cells(a, "L").Value
For X = Application.CommandBars("Cell").Controls.Count [COLOR=red]To 15 Step[/COLOR] -1
Application.CommandBars("Cell").Controls(X).Delete
Next
 
For j = 2 To Worksheets("SERVİS").Cells(1, 255).End(xlToLeft).Column
aranan1 = Worksheets("SERVİS").Cells(1, j).Value
For i = 2 To Worksheets("SERVİS").[a65536].End(3).Row
aranan2 = Worksheets("SERVİS").Cells(i, "A").Value
If aranan1 & aranan2 = aranan4 & aranan3 Then
If Worksheets("SERVİS").Cells(i, j).Value <> "" Then
Set MENÜ_DETAY = Application.CommandBars("Cell").Controls.Add
With MENÜ_DETAY
.Caption = Worksheets("SERVİS").Cells(i, j).Value
.FaceId = 607
.OnAction = "ÜRÜN"
.BeginGroup = False
End With
End If
End If
Next
Next
End Sub
Sub ÜRÜN()
ActiveCell = CommandBars.ActionControl.Caption
End Sub
 
Levent Hocam bu konuyla ilgilenecek olanlar için çok gerekli ve güzel bir dosya..Kendi adıma paylaştığınız için çok teşekkür ederim..
 
Geri
Üst