• DİKKAT

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

Doğrulama listesinde arama

Katılım
2 Ekim 2010
Mesajlar
33
Excel Vers. ve Dili
2010
Merhaba,

Doğrulama listesi yaptım fakat aşağı açılan menüyü açtığımda birkaç kelime yazarak ilgili stok kartına benzeyenleri listelemiyor. Bu durumu nasıl sağlarım acaba bilen varsa yardımcı olursa çok sevinirim.

Selamlar,,
 
Bilen vardır muhakkak, yardımcı olmaya da çalışırlar.
Veri Doğrulama ile yaptığınız açılır menüye nasıl birkaç kelime yazdınız onu anlamadım.

Dosyanız ekleyebilir misiniz ?
 
Merhaba,

Mesela doğrulama ile ilgili bir liste tanımladık. Liste çok satırlı ve geniş. Kullanıcı "1000W" yazdığı anda başı "1000W ile başlayan stok kartlarını getirmeli veya hücre içinde tavsiye etmelidir. B6 hücresinde denemenizi rica ederim. Umarım anlatabilmişimdir.

Selamlar,

Örnek ektedir.
 

Ekli dosyalar

Fuat Bey, sayfaya bir ComboBox ilave edin, adına Emre yazın ve ComboBox'ın verileri alacağı alanı seçip, alan adını "veri" yapın.

Kod:
Dim nvE As Object

Private Sub Emre_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
   If KeyCode = 13 Then
      nvE.Visible = False
      ActiveCell.Offset(1, 0).Select
   End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   On Error Resume Next
   Set nvE = ActiveSheet.OLEObjects("Emre")
   On Error GoTo 0
   If nvE Is Nothing Then
      With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
                                      Width:=Target.Width, _
                                      Height:=Target.Height)
         .Name = "Emre"
      End With
      Set nvE = ActiveSheet.OLEObjects("Emre")
   End If

   Set Target = Intersect(Target, Range("B:B"))
   If Target Is Nothing Then
      nvE.Visible = False
      nvE.LinkedCell = ""
      Exit Sub
   ElseIf Target.Count > 1 Or Target.Row = 1 Then
      nvE.Visible = False
      nvE.LinkedCell = ""
      Exit Sub
   End If

   With nvE
      Application.ScreenUpdating = False
      .Top = Target.Top
      .Left = Target.Left
      .ListFillRange = "veri"
      .LinkedCell = Target.Address
      .Enabled = True
      .Visible = True
      .Activate
   End With
End Sub
Dosyayı da ekliyorum...
 

Ekli dosyalar

Merhaba,

Mesela doğrulama ile ilgili bir liste tanımladık. Liste çok satırlı ve geniş. Kullanıcı "1000W" yazdığı anda başı "1000W ile başlayan stok kartlarını getirmeli veya hücre içinde tavsiye etmelidir. B6 hücresinde denemenizi rica ederim. Umarım anlatabilmişimdir.

Selamlar,

Örnek ektedir.

Merhaba
B6 hücresinde doğrulama mevcut değil. Ayrıca listeyi nereden alacak veriler sekmesininden mi_? Veriler sekmesi sıralı olmasının sizin için bir sıkıntısı var mı_?
 
Murat bey cevap için çok teşekkür ederim.

Bu durumu kod yazmadan doğrulama işleminin standart özellikleri ile yapmak istiyorum. Çünkü bu dosya zaman zaman 2003 formatındaki office programında da çalıştırılacak. Böyle olunca uyumsuzluklar meydana gelebiliyor.

En önemlisi ise tablo çok dinamik olduğu için zaman zaman kullanıcı satır silip aralara satır ekleyecektir. Bu durumda combobox ekleme ve çıkarma olacağı için sıkıntı olacaktır.

Kısacası doğrulamanın standart veya formul ile böyle bir durumu sağlamak mümkünmüdür.

Selamlar,
 
Dediğiniz sıkıntıların olacağını sanmıyorum...
Yazdıklarınızdan da eklediğim dosyayı denemediğinizi düşünüyorum...

Dosyayı Excel 97-2003 Çalışma Kitabı olarak kaydederseniz, her versiyonda çalışır.

İstediğiniz kadar satır ekleyip silin farketmez. Hangi hücreyi seçerseniz ComboBox orada görüntülenir.

Hoşça kalın !!!
 
Evet veriler sayfasından alacak. Ayrıca sıralı olmasının hiçbir mahsuru yok.

Selamlar

Merhaba
Önce Sayfadaki verileri ad'a göre sıralayın.
Bir ad tanımlayın.
Adı :
Kod:
MALZEMENİN_CİNSİ
Başvuru yerine
Kod:
=veriler!$A$2:$A$1048576
Bunu yazın ve tanımlayı bitirin.
Veri - Doğrulama - Liste - Kaynak bölümüne
Kod:
=DOLAYLI("'veriler'!A"&KAÇINCI($B6&"*";MALZEMENİN_CİNSİ;0)+1&":A"&EĞERSAY(MALZEMENİN_CİNSİ;$B6&"*")+KAÇINCI($B6&"*";MALZEMENİN_CİNSİ;0))
Bu formülü yazın ve Üstten Girdi İletisine geçin Hücre Seçildikten Sonra Girdi İleisi Göster'in tik'ini kaldırın. Hata Uyarısı Kısmına Geçin Geçersiz veri girildikten sonra hata uyarısı gösterin tik'ini kaldırın ve doğrulamayı bitin.
Hücreye herhangi bir verinin ilk harfini girin ve yan tarafta bulunan ok'a tıklayın sonuçları gözlemleyin.
Dosyanız Ekte.
 

Ekli dosyalar

Murat bey kusura bakmayın.

Sizi yanlış anlamışım denedim. Çok güzel bir şekilde çalışıyor. Elinize sağlık. Peki birşey daha sormak istiyorum. Kullanıcı combobox tan seçme yerine elle birşey yazmak istediğinde ne gibi bir değişiklik yapmak gerekiyor.

Selamlar,
 
Sorun değil Fuat Bey,

Öyle bir özelliğin olmadığını biliyorum... :dusun:
 
Murat bey,

Uygulamada bir sorun yaşıyorum. Kodlamayı yaptıktan sonra kaydediyorum daha sonra dosyayı açtığımda uyguladıklarım yok oluyor. Nasıl kaydetmem gerekiyor veya hangi ayarı yapmak gerekiyor acaba?

Selamlar,
 
Kusura bakmayın bir şey analamadım ?

Sizin bana gönderdiğiniz dosya üzerinde istedinizi yaptım zaten.
Siz daha ne kodlaması yapıyorsunuz, onu anlamadım ?
Başka kodlar mı ilave etmeye çalışıyorsunuz ?

Benim bildiğim iki tane tane basit kaydetme yöntemi var. Herkes böyle kaydeder.
1.si Menüdeki Kaydet ikonuna basılır.
2.si de onun Klavye ile yapılanı, Ctrl + S tuşlarına basılır.
Kodla yapılan aynı işlem olduğu için onu saymıyorum...

Kaydet dediyseniz kaydeder, Exce'in kaydetmeme gibi bir lüksü yok...

Diğer dosyalarınızda bu tür kaydetmeme sorunu oluyor mu ?

İlk sorudan cevaplamaya başlarsanız sevinirim...
 
Murat bey,

Uygulamada bir sorun yaşıyorum. Kodlamayı yaptıktan sonra kaydediyorum daha sonra dosyayı açtığımda uyguladıklarım yok oluyor. Nasıl kaydetmem gerekiyor veya hangi ayarı yapmak gerekiyor acaba?

Selamlar,

Farklı Kaydet - Makro içerebilen excel çalışma dosyası olarak kayıt yapın. Sorun çözülecektir.
 
Fuat Bey, sayfaya bir ComboBox ilave edin, adına Emre yazın ve ComboBox'ın verileri alacağı alanı seçip, alan adını "veri" yapın.

Kod:
Dim nvE As Object

Private Sub Emre_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
   If KeyCode = 13 Then
      nvE.Visible = False
      ActiveCell.Offset(1, 0).Select
   End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   On Error Resume Next
   Set nvE = ActiveSheet.OLEObjects("Emre")
   On Error GoTo 0
   If nvE Is Nothing Then
      With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
                                      Width:=Target.Width, _
                                      Height:=Target.Height)
         .Name = "Emre"
      End With
      Set nvE = ActiveSheet.OLEObjects("Emre")
   End If

   Set Target = Intersect(Target, Range("B:B"))
   If Target Is Nothing Then
      nvE.Visible = False
      nvE.LinkedCell = ""
      Exit Sub
   ElseIf Target.Count > 1 Or Target.Row = 1 Then
      nvE.Visible = False
      nvE.LinkedCell = ""
      Exit Sub
   End If

   With nvE
      Application.ScreenUpdating = False
      .Top = Target.Top
      .Left = Target.Left
      .ListFillRange = "veri"
      .LinkedCell = Target.Address
      .Enabled = True
      .Visible = True
      .Activate
   End With
End Sub
Dosyayı da ekliyorum...

Merhaba Murat bey,

Yukarıdaki kodlama çok güzel çalışıyor. Fakat şöylede bir sorum var: Örneğin combobox a tıkladığımda içine "şalter" yazdığımda bana içinde şalter yazılı stok kartlarını anında süzsün istiyorum aynı zamanda a dan zye de sıralama yapsın açılan listede. Bu yapılabilir mi acab diye sormak istedim. Yardımcı olabilirseniz çok sevinirim.

Selamlar,
 
bulgur üretim randıman acillllll

arkadaşlar yeni konu nereden acılıyor bılmedıgım ıcın bu konu baslıgı altına yazıyorum.Arkadaslar benım acılen bulgur üretim randıman ve malıyet hesaplama tablolarına ıhtıyacım var.YARDIMCI OLURSANIZ COK SEVINIRIM
 
Lütfen konuyu bu tip sorularla dağıtmayalım. Biraz daha dikkatli inceleseydiniz Aşağıdaki ana konular içinde konu açabiliyor olduğunuzu görürdünüz.
 
Merhaba Murat bey,

Yukarıdaki kodlama çok güzel çalışıyor. Fakat şöylede bir sorum var: Örneğin combobox a tıkladığımda içine "şalter" yazdığımda bana içinde şalter yazılı stok kartlarını anında süzsün istiyorum aynı zamanda a dan zye de sıralama yapsın açılan listede. Bu yapılabilir mi acab diye sormak istedim. Yardımcı olabilirseniz çok sevinirim.

Selamlar,

Varmıdır acaba cevap verebilecek?
 
Geri
Üst