• DİKKAT

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

TextBox'a girileni ListBox'ta listeme

  • Konbuyu başlatan Konbuyu başlatan SeSi
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,

Forumdan araştırarak bulduğum aşağıdaki kod ile TextBox'a yazılan c sütununda aranıyor ve listbox'a listeleniyor. Fakat Benim aradığım C sütununda 3.satırdan başlıyor ve 1500. satıra kadar devam ediyor. Kodlar çalışıyor, fakat 934. satırdan sonrakileri listelemiyor.
Nedeni ne olabilir?
Teşekkürler.

Kod:
Private Sub TextBox6_Change()
Dim MyRange As Range
Dim noA As Integer
ListBox1.Clear
noA = WorksheetFunction.CountA(Sheets("Sayfa1").Range("C:C"))
For Each MyRange In Sheets("Sayfa1").Range("C3:C" & noA) 
If Left(LCase(MyRange), Len(TextBox6)) = LCase(TextBox6) Then ListBox1.AddItem (MyRange) 
Next
TextBox5.Value = "Aşağıdaki Lİstede İstediğiniz İsmi Tıklayın"
End Sub
 
noA nın kaç olduğuna bağlı olduğuna göre buna bi bakar mısınız? döngüye başlamadan önce noA ne değer alıyor.

Kod:
noA = Sayfa1.[c65536].end(3).row

şeklinde daha sağlıklı olabilir.
 
Merhaba,

Kodu dediğiniz gibi yapınca sorunsuz çalıştı. Fakat şimdi hata mesajı çıkıyor. Mesajda;

Run-time error '32809':
Application-defined or object-defined error

yazıyor.

Nedeni ne olabilir?
 
F8 ile kodları adım adım çalıştırın, hangi satırda hata verdiğini bulacaksınız.

en son değiştirdiğimiz satırda [c65536] kısmında hata veriyorsa referanslarınızı kontrol edin.

hata veren satırı comment edip başka yerde hata olup olmadığına bakın

32809 e karşılık geleb hatayı şimdi hatırlayamıyorum
 
Merhaba,

Ekteki çalışmamı incelerseniz;
Arananı bulduğumuzda aynı isimde varsa, LixtBox'tan seçtiğimizde hep sayfadaki sıralamada en üstte olanı seçiyor. Örneğin alt alta 4 adet Firma1 var. Lixtbox'tan 4.sıradakini bile seçseniz sayfadaki en üstte olanın bilgileri geliyor.

Benim istediğim, LixtBox'ta 10 adet bile aynı isimden olsa hangini seçersem onun bilgileri gelsin.

Teşekkürler.
 
Selamlar,

Kullandığınız kodları aşağıdakiler ile değiştirip denermisiniz.

Kod:
Private Sub TextBox6_Change()
    Dim MyRange As Range
    Dim noA As Integer
    ListBox1.Clear
    noA = Sayfa1.[B65536].End(3).Row
    ListBox1.ColumnCount = 2
    ListBox1.ColumnWidths = "0;50"
    For Each MyRange In Sheets("REHBER").Range("B5:B" & noA)
    If Left(LCase(MyRange), Len(TextBox6)) = LCase(TextBox6) Then
    ListBox1.AddItem
    ListBox1.List(S, 0) = MyRange.Offset(0, -1)
    ListBox1.List(S, 1) = MyRange
    S = S + 1
    End If
    Next
    TextBox5.Value = "Aşağıdaki İsmi Tıklayın"
End Sub

Kod:
Private Sub ListBox1_Click()
    Dim X As Integer
    X = Sheets("REHBER").Range("A:A").Cells.Find(What:=ListBox1, LookIn:=xlValues).Row
    Cells(X, 1).Select
    TextBox1.Value = ListBox1
    TextBox10 = ActiveCell.Offset(0, 0).Value 'SIRA NO
    TextBox11 = ActiveCell.Offset(0, 4).Value
    TextBox11 = Format(TextBox11, "#### ### ## ##")
    TextBox12 = ActiveCell.Offset(0, 5).Value
    TextBox12 = Format(TextBox12, "#### ### ## ##")
    TextBox13 = ActiveCell.Offset(0, 6).Value
    TextBox13 = Format(TextBox13, "#### ### ## ##")
    TextBox5 = ""
    TextBox5.Visible = False
    TextBox14 = ActiveCell.Offset(0, 7).Value
    TextBox14 = Format(TextBox14, "#### ### ## ##")
    TextBox15 = ActiveCell.Offset(0, 9).Value
    TextBox15 = Format(TextBox15, "#### ### ## ##")
    TextBox16 = ActiveCell.Offset(0, 10).Value
    TextBox16 = Format(TextBox16, "#### ### ## ##")
End Sub
 
Sayın COST_CONTROL,

Elinize sağlık. Çok teşekkür ederim.

Saygılar.
 
Geri
Üst