• DİKKAT

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

Hücreye makro atamak

  • Konbuyu başlatan Konbuyu başlatan artalan
  • Başlangıç tarihi Başlangıç tarihi
Katılım
20 Mart 2007
Mesajlar
3
Excel Vers. ve Dili
office 2003
Selam. Hücreye tıkladığımda, sağ tuşla tıkladığımda çıkan menünün içinde bulunan 'aşağı açılan listeden al' işlevinin açılmasını istiyorum. Günlerdir uğraşıyorum bir türlü yolunu bulamadım. Makroyla yapabilir miyiz? Yardımlarınız için şimdiden teşekkürler...
 
Merhaba,

Çalışma sayfasının kod bölümüne;

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, [[COLOR=red]A1:A10[/COLOR]]) Is Nothing Then Exit Sub
    SendKeys "%{Down}"
End Sub
.
 
Ömer Bey ilginize teşekkürler ama kod çalışmadı. Kod sayfasında kaydediyorum makrolarda gözükmüyor. Galiba isim sorunu var. Başka bir makro kaydedip bu kodu da onun üzerine yapıştırdım yine olmadı.
 
Eki inceleyiniz..

.
 

Ekli dosyalar

Teşekkürler Ömer Bey, imleç kodun sonunda iken kayıt etmişim başa alınca düzeldi. Şimdide aynı sayfada yanındaki hücrelere aynısını yapmaya çalışıyorum.
 
Eki inceleyiniz..

.

Teşekkürler Benimde işime yarayacak

Bu Kodu acaba geliştirmek mümkünmü mesela açılan Listede sıralamanın
Son Kullanılandan ilk kullanılana gibi sıralama yapılabilmesi mümkünmü
Normalde Harf sırasına göre diziyor.
Ama çok Kullandığımız bazı yazıları bulmak zaman alabiliyor.
 
Buradaki kodun amaçı düzenleme değil "aşağı açılan listeyi" çalıştırmaktır. Kısaca açılan listenin özellikleri ne ise onu uygulamaktadır.
Yapılan sadece fare nin sağ klik menüsünden seçmeli değil, hücre aktif olduğunda çalışması için yazılmıştır.

Bu istediğiniz hücreye tıklayınca açılacak form üzerinde yapılabilir.

.
 
Buradaki kodun amaçı düzenleme değil "aşağı açılan listeyi" çalıştırmaktır. Kısaca açılan listenin özellikleri ne ise onu uygulamaktadır.
Yapılan sadece fare nin sağ klik menüsünden seçmeli değil, hücre aktif olduğunda çalışması için yazılmıştır.

Bu istediğiniz hücreye tıklayınca açılacak form üzerinde yapılabilir.

.

Benim Listem baya kabarık bulmada zorlanıyorum çok kullanılanların öncelikle listenin başında sıralanmasını istiyorum nasıl olursa olsun bununla ilgili yapabileceğim birşey varmı acaba?
Form üzerinde yapılabilir demişsiniz böyle bir form için ne yapmalıyım.
 
Datanızın olduğu küçük bir örnek ekleyiniz..

.
 
Eki inceleyiniz.

B sütunu aktiv olduğunda form açılacaktır. Form da B sütununa girilen tüm veriler tekrarsız ve sıralı şekilde olacaktır. Eğer açılan formdan veri seçmeden kapatırsanız ( esc ile de kapatabilirsiniz ) bir üsteki veriyi kopyalayacaktır..

.
 

Ekli dosyalar

Eki inceleyiniz.

B sütunu aktiv olduğunda form açılacaktır. Form da B sütununa girilen tüm veriler tekrarsız ve sıralı şekilde olacaktır. Eğer açılan formdan veri seçmeden kapatırsanız ( esc ile de kapatabilirsiniz ) bir üsteki veriyi kopyalayacaktır..

.

Teşekkürler

Ancak Veri penceresine örnek "E" yazdığımda seçmeme fırsat vermeden veri giriliyor. "E" ile başlayan başka bir veri seçmeme izin vermiyor.
Sadece eskisi gibi Scroll barı yürütüp seçebiliyorum.
 
Eki inceleyiniz.

B sütunu aktiv olduğunda form açılacaktır. Form da B sütununa girilen tüm veriler tekrarsız ve sıralı şekilde olacaktır. Eğer açılan formdan veri seçmeden kapatırsanız ( esc ile de kapatabilirsiniz ) bir üsteki veriyi kopyalayacaktır..

.

Teşekkürler

Ancak Veri penceresine örnek "E" yazdığımda seçmeme fırsat vermeden veri giriliyor. "E" ile başlayan başka bir veri seçmeme izin vermiyor.
Sadece eskisi gibi Scroll barı yürütüp seçebiliyorum.

Herhalde son sorduğum konusunda birşey yapamadık.
Peki Şöyle birşey yapabilirmiyiz ekteki koda ilave yaparak açılan Liste Penceresini aşağıya doğru biraz büyütebilirmiyiz. eni olduğu gibi aşağıya doğru boyu açılanın iki katı kadar olabilir.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [B1:B65500]) Is Nothing Then Exit Sub
SendKeys "%{Down}"
End Sub
 
Herhalde son sorduğum konusunda birşey yapamadık.

Müsait olunca hazırlayacağım. Aceleci davranmamanızı rica ederim.

Peki Şöyle birşey yapabilirmiyiz ekteki koda ilave yaparak açılan Liste Penceresini aşağıya doğru biraz büyütebilirmiyiz. eni olduğu gibi aşağıya doğru boyu açılanın iki katı kadar olabilir.

Açılan listeyle ilgili olan düşüncelerimi daha önce belirtmiştim.

.
 
Ömer bey bekliyorum aceleci değilim kusura bakmayın.

Bu sıralar özel işlerim nedeniyle pek fazla zaman bulamadım maalesef.

Eki inceleyiniz. B sütunu aktiv olduğunda form açılacaktır,açılan formda TextBox ile istenen veriyi süzme metodu ile arayıp bulduktan sonra ListView den bulunan veriye fare ile çift tıklama yaparsanız aktiv olan hücreye veri yazılır.

Ayrıca formda işlem yapmadan Esc tuşu ile çıkış yaparsanız bir üst satırdaki veriyi boş olan hücreye kopyalar.

.
 

Ekli dosyalar

Bu sıralar özel işlerim nedeniyle pek fazla zaman bulamadım maalesef.

Eki inceleyiniz. B sütunu aktiv olduğunda form açılacaktır,açılan formda TextBox ile istenen veriyi süzme metodu ile arayıp bulduktan sonra ListView den bulunan veriye fare ile çift tıklama yaparsanız aktiv olan hücreye veri yazılır.

Ayrıca formda işlem yapmadan Esc tuşu ile çıkış yaparsanız bir üst satırdaki veriyi boş olan hücreye kopyalar.

.

Teşekkürler
Bu sefer istediğim gibi olmuş.
 
Ömer Beyin Son verdiği örneği kullanıyorum güzel ancak satıra geldiğimde pencere açılıyor ve açıkken başka hiçbir şey yapmama izin vermiyor. Pencereyi kapatmak gerekiyor.
Sitede başka bir konuda başka bir örnek gördüm ama biraz farklı çalışıyor.
O örnekte Liste açıldığında başka işlem yapılmasına izin veriyor ancak ondada bir sıkıntı var ne kadar sözcük varsa aynı olsa bile listeliyor. Harf sırasına göre değil karışık listeliyor. Ben sadece liste şeklini beğendim.
Acaba Ömer beyin verdiği dosyadaki listeyi bunun gibi yapabilirmiyiz.

Ömer beyin son çalışması B Sutununa tıklandığında çalışıyor.
Örnek
http://www.excel.web.tr/attachment.php?attachmentid=108626&d=1302612045

İstediğim Listeleme Şekli
Örnek
http://www.excel.web.tr/attachment.php?attachmentid=108576&d=1302527557

ilgilenen olursa Çok Teşekkürler
 
Sayfa1 deki koda aşağıdaki ilaveyi yapınız. ( Mavi ile işaretli.)

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    If Selection.Cells.Count > 1 Then Exit Sub
    If ActiveCell.Column <> 2 Then Exit Sub
 
    UserForm1.Show [COLOR=blue][B]False[/B][/COLOR]
    
End Sub
İstediğiniz buydu sanırım..

.
 
Sayfa1 deki koda aşağıdaki ilaveyi yapınız. ( Mavi ile işaretli.)

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    If Selection.Cells.Count > 1 Then Exit Sub
    If ActiveCell.Column <> 2 Then Exit Sub
 
    UserForm1.Show [COLOR=blue][B]False[/B][/COLOR]
    
End Sub
İstediğiniz buydu sanırım..

.

Teşekkürler Ömer bey,
Bir kelimeyle büyük bir sıkıntıdan kurtuldum.
 
Geri
Üst