TextBox'a girileni ListBox'ta listeme

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
 
Katılım
16 Eylül 2005
Mesajlar
179
Excel Vers. ve Dili
Excel 2007 12.0
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.
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
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?
 
Katılım
16 Eylül 2005
Mesajlar
179
Excel Vers. ve Dili
Excel 2007 12.0
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
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,267
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Sayın COST_CONTROL,

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

Saygılar.
 
Üst