bulduklarımı listboxa atma

Katılım
3 Ocak 2008
Mesajlar
166
Excel Vers. ve Dili
excel 2002 ve 2003
Merhaba arkadaşlar,

Bir form yaptım bir textbox1, label1 ve listbox1' den oluşuyor.

Amacım textboxta yazdığım kelime veya cümleyi sayfa1'de ki "B"
sütunundan bulup listboxa ekleyecek ve label1'e kaç adet bulduğunu yazacak.

Burada en büyük sıkıntım cümle içindeki kelimeleride listelemek istemem.

Örnek:
Fayans lavabo-1
Fayans lavabo-2
Eviye, Fayans -1
Sabunluk, Fayans-1


Yukarıda yazdıklarım gibi Sayfa1'in B sütununda çok ifadeler var. Ben Texbox1'e Fayans yazdığımda yukarıdaki gibi cümlenin içinde olsada listbox1'e eklemesini istiyorum.

SAYGILARIMLA ÜSTATLARA
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

TextBox a yazdığınız sözcük parçasını 1. sayfada arar ve ListBoxa getirir.
Aşağıdaki kod excelin kendi yardımından alınmış bir koddur, benim buna eklemem sadece aranan sözcüğü yazmak ve ListBoxa getirmek oldu :) Kırmızı olarak yazılanlar.

Kod:
Private Sub CommandButton1_Click()
Dim c As Range
ListBox1.Clear
If TextBox1.Value = "" Then Exit Sub
With Worksheets(1).Range("B:B")
    Set c = .Find([COLOR=red][B]TextBox1.Value[/B][/COLOR], LookIn:=xlValues, [B][COLOR=red]LookAt:=xlPart[/COLOR][/B])
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            [COLOR=red][B]ListBox1.AddItem Worksheets(1).Cells(c.Row, "B")
[/B][/COLOR]            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
End Sub
 

Ekli dosyalar

Katılım
3 Ocak 2008
Mesajlar
166
Excel Vers. ve Dili
excel 2002 ve 2003
Sağol

üstat gönderdiğini şimdi inceleme imkanım oldu. Çok teşekkür ederim. Tam istediğim gibi ..
Tekrardan çok teşekkür ederim.

Üstat nerden aldığını biraz açarsan hangi yardımın hangi kısmında yazıyor. Bilgi verirsen lüzumsuz yere sorular yöneltmemiş oluruz.

ÇOK TEŞEKKÜRLER.
SAYGILARIMLA
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Ben ne öğrendiğiysem çoğunu excelin yardım menüsünden öğrendim. Gerçekten excelin yardımı çok güçlü. Yukarıdaki kodları da VBA'nın yardım menusünden aldım. Her seferinde yeniden kodları yazmaktansa oradan alıp hemen kullanıyorum :) find diye arattırırsanız sizde rahatlıkla erişebilirsiniz.
 
Katılım
3 Ocak 2008
Mesajlar
166
Excel Vers. ve Dili
excel 2002 ve 2003
üstat bu yardımın türkçesi varmı dediğiniz gibi yaptım bir çokşey buldu sizin bana gönderdiğiniz kodlarla alakalı bir not göremedim.

Üstat ben bu işi beceremedim. Resim olarak göndermen mümkün mü?
Anlayışısızlığımı hoş gör.
 

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
necdet bey;

bu kod işime yaradı. ancak bir konum daha var. ürünlerimiz A ve B sütününda listeli. ben B sütününde bulunan ürün adına göre arama yaptırıyorum. A kolonunda ise bu ürünün stok kodu var. isterim ki listboxa (aynı listbox içinde) ürünün kodu ve adedini yan yana görmek istiyorum.

Ayrıca Ürünü seçtiğimde sadece ürünün adının textbox4 'e gitmesini istiyorum.

Ürünler birbirine çok benzer tanımlar içerdiği için ürünü seçemeden önce ürün kodundan kontrol ederek sonra ürünü seçmek istiyorum ki yanlış ürün seçilmesin

Şimdiden teşekkürler
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
üstat bu yardımın türkçesi varmı dediğiniz gibi yaptım bir çokşey buldu sizin bana gönderdiğiniz kodlarla alakalı bir not göremedim.

Üstat ben bu işi beceremedim. Resim olarak göndermen mümkün mü?
Anlayışısızlığımı hoş gör.

Malesef VBA daki yardımın dili İngilizcedir.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
necdet bey;

bu kod işime yaradı. ancak bir konum daha var. ürünlerimiz A ve B sütününda listeli. ben B sütününde bulunan ürün adına göre arama yaptırıyorum. A kolonunda ise bu ürünün stok kodu var. isterim ki listboxa (aynı listbox içinde) ürünün kodu ve adedini yan yana görmek istiyorum.

Ayrıca Ürünü seçtiğimde sadece ürünün adının textbox4 'e gitmesini istiyorum.

Ürünler birbirine çok benzer tanımlar içerdiği için ürünü seçemeden önce ürün kodundan kontrol ederek sonra ürünü seçmek istiyorum ki yanlış ürün seçilmesin

Şimdiden teşekkürler
Merhaba, Dosyayı inceleyiniz.

Yukarıdaki kodlar arasındaki farkı renklendirdim.

Kod:
Private Sub CommandButton1_Click()
Dim c As Range
[COLOR=red]Dim i As Long[/COLOR]
i = 0
ListBox1.Clear
[COLOR=red]ListBox1.ColumnCount = 2[/COLOR]
[COLOR=red]ListBox1.ColumnWidths = 40 & ";" & 60[/COLOR]
 
If TextBox1.Value = "" Then Exit Sub
With Worksheets(1).Range("B:B")
    Set c = .Find(TextBox1.Value, LookIn:=xlValues, LookAt:=xlPart)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            ListBox1.AddItem
                ListBox1.Column(0, i) = Worksheets(1).Cells(c.Row, "A")
                ListBox1.Column(1, i) = Worksheets(1).Cells(c.Row, "B")
            i = i + 1
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
End Sub

Listboxta çift tıklama ile çalışan kod
Kod:
[COLOR=red]Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)[/COLOR]
[COLOR=red]TextBox4 = ListBox1.Column(0)[/COLOR]
[COLOR=red]End Sub[/COLOR]
 

Ekli dosyalar

Üst