• DİKKAT

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

Çoklu Sezgisel arama

  • Konbuyu başlatan Konbuyu başlatan xemdarx
  • Başlangıç tarihi Başlangıç tarihi
Katılım
11 Şubat 2010
Mesajlar
202
Excel Vers. ve Dili
13 türkçe
Selamlar,
Dosyada arama özelliğini D,E ve F sütununa göre süzüp sonucu B sütunu olarak listboxta listeleyebilir miyiz?
 

Ekli dosyalar

Merhaba.

Anladığım kadarıyla ; UserForm üzerinden deneme isimli sayfanın D, E ve F sütunlarını kapsayacak şekilde
arama yapmak ve bulunan verilere ait A ve B sütunu değerlerini ListBox'ta listeletmek istiyorsunuz.

Ancak arama işlemi için Userform'daki ListBox'un hemen üzerinde bir Combobox (sağ kenarında OK işareti görünmese de) yerleştirmişsiniz.
Arama işlemi için bir Combobox yerine TextBox kullanmanızını yerinde olacağını düşünüyorum.

ListBox'un hemen üstündeki Combobox'u silip onun yerine bir TextBox ekleyin (ben TextBox99 adını verdim) ve bu nesne için aşağıdaki kod blokunu kullanın.
Dikkat: kod, deneme isimli sayfanın H sütununu bulunan veri satırlarını işaretlemek için kullanıyor.
.
Kod:
[B]Private Sub [COLOR="Red"]TextBox99[/COLOR]_Change()[/B]
Set d = Sheets("deneme")
son = d.Cells(Rows.Count, 1).End(3).Row
If Replace([COLOR="Red"]TextBox99[/COLOR], " ", "") = "" Then
    d.Range("[B][COLOR="Blue"]H[/COLOR][/B]2:[B][COLOR="blue"]H[/COLOR][/B]" & son).ClearContents
    ListBox1.RowSource = "deneme!A2:C" & son
Else
    ListBox1.RowSource = "": ListBox1.Clear
    d.Range("[B][COLOR="blue"]H[/COLOR][/B]2:[B][COLOR="blue"]H[/COLOR][/B]" & son).ClearContents
    x = 0
    For Each hcr In d.Range("[B][COLOR="Blue"][SIZE="4"]B[/SIZE][/COLOR][/B]2:[B][COLOR="blue"][SIZE="4"]F[/SIZE][/COLOR][/B]" & son)
        If Len(hcr.Value) <> Len(Replace(hcr.Value, [COLOR="Red"]TextBox99[/COLOR], "")) And d.Cells(hcr.Row, "[B][COLOR="blue"]H[/COLOR][/B]") = "" Then
            ListBox1.AddItem
            ListBox1.List(x, 0) = d.Cells(hcr.Row, "A")
            ListBox1.List(x, 1) = d.Cells(hcr.Row, "B")
            ListBox1.List(x, 2) = d.Cells(hcr.Row, "C")
            d.Cells(hcr.Row, "H") = "x"
            x = x + 1
        End If
    Next
End If
[B]End Sub[/B]
 
Ömer Bey, denedim oluyor fakat eksik. Sadece sayı değerlerini yazınca buluyor. Metin yazınca (c sütunu) işlem olmuyor.. Teşekkürler
 
Tekrar merhaba.

Konu açılış mesajınızdaki cümle, arama işlemini D,E ve F sütunlarında yapmak istediğiniz şeklinde anlaşılıyor.

Önceki cevabımda For Each hcr In d.Range("D2:F" & son) satırında
(kırmızı renklendirdiğim kısmı, ki aramanın yapılacağı alan anlamına geliyor)
B2:F olarak değiştirin.
Ben önceki cevabımı güncelledim.
.
 
Selamlar Ömer Bey,
Textboxu space ile silince aşağıdaki uyarı çkıyor.
 

Ekli dosyalar

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    20.5 KB · Görüntüleme: 4
H sütunu yerine T seçtim. B2:F yerine de B2:E . Sorun ne olabilir?
 
Space silme aracı değildir. Boşluk bırakma aracıdır.
Kodların başına aşağıdaki satırı ekleyip deneyin.
On Error Resume Next
 
Space tuşuna basmak silme değil, BOŞLUK karakteri yazma işlemi.

Herneyse; önceki cevabımı tekrar güncelledim, sayfayı yenileyerek önceki kod cevabımı tekrar kontrol edin.
.
 
Arkadaşlar, backspace demek istemiştim. Neden cahil ilan ediyorsunuz?
 
Arkdaşlar, backspace demek istemiştim. Neden hemen cahil ilan ettiniz?
 
Merhaba,

Arkadaşlar sizi cahil ilan etmemişler. Bilgilendirme yapmışlar. Bence fazla alınganlık göstermişsiniz.
 
Geri
Üst