commanbutton ile text değerini listboxta süzme

Katılım
24 Kasım 2009
Mesajlar
37
Excel Vers. ve Dili
2007 prof
Merhabalar bir konu hakkında yardımınız rica ederim.
dogru kodu bulamadım sanıyorsam.
şu kodda eksik olan nedir hata veriyor. textbox' ın değerini aratamıyorum.
yardımlarınızı rica ederim.
birde 60.000 satır var çok ağır çalışıyor listbox aramada

kod şu

Private Sub CommandButton109_Click()
TextBox1.Value
Dim sat, s As Integer
Dim deg1, deg2 As String
With ListBox1
.ColumnCount = 9
.ColumnWidths = "160,140,105,80,80,300,1,1,1"
End With
Sheets("LISTE").Select
For sat = 2 To Cells(65536, "A").End(xlUp).Row
deg1 = UCase(Replace(Replace(Cells(sat, "A"), "ı", "I"), "i", "İ"))
deg2 = UCase(Replace(Replace(TextBox1, "ı", "I"), "i", "İ"))
If deg1 Like "*" & deg2 & "*" Then
ListBox1.AddItem
ListBox1.List(s, 0) = Cells(sat, "a")
ListBox1.List(s, 1) = Cells(sat, "B")
ListBox1.List(s, 2) = Cells(sat, "c")
ListBox1.List(s, 3) = Cells(sat, "D")
ListBox1.List(s, 4) = Cells(sat, "E")
ListBox1.List(s, 5) = Cells(sat, "F")
ListBox1.List(s, 6) = Format(Cells(sat, "G"), "#,##0.00 TL")
ListBox1.List(s, 7) = Format(Cells(sat, "H"), "#,##0.00 TL")
ListBox1.List(s, 8) = Format(Cells(sat, "I"), "#,##0.00 TL")
s = s + 1
End If: Next
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bu kod yaramaz.
200 satır 300 satır için olur ama satır saysı 40 bin 50 bine çıktımı tospaa gibi gider
Arama için Find komutu kullanın.Ve listboxta listeleme içinde dizi yöntemini kullanın.
Ben bu yöntemlerle bir sürü dosya yaptım forumda.
Aradaki farkı çok net hissedeceksiniz.
Forumda arama yapınız.:cool:
 
Katılım
24 Kasım 2009
Mesajlar
37
Excel Vers. ve Dili
2007 prof
Bu kod yaramaz.
200 satır 300 satır için olur ama satır saysı 40 bin 50 bine çıktımı tospaa gibi gider
Arama için Find komutu kullanın.Ve listboxta listeleme içinde dizi yöntemini kullanın.
Ben bu yöntemlerle bir sürü dosya yaptım forumda.
Aradaki farkı çok net hissedeceksiniz.
Forumda arama yapınız.:cool:
evren bey örnek dosyayı ekte yollasam kodları nasıl düzelteceğim hakkında yardımcı alabilirmisiniz. find komutunu hiç kullanmadım

1. commandbutton 1 ve 2 den textbox içeriğini listboxta süzemiyorum hata veriyor.
2. çok ağır çalışıyor.

ilginiziçin şimdiden teşekkür ederim.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız ektedir.:cool:
Kod:
Private Sub CommandButton109_Click()
Dim sat As Long, s As Long, k As Range
Dim myarr(), adr As String, j As Byte
ListBox1.RowSource = vbNullString
sat = Cells(65536, "A").End(xlUp).Row
s = 1
ReDim myarr(1 To 9, 1 To sat)
Set k = Range("A2:A" & sat).Find(TextBox1.Text, , xlValues, xlPart)
If Not k Is Nothing Then
    adr = k.Address
    Do
        For j = 1 To 9
            myarr(j, s) = k.Offset(0, j - 1).Value
        Next j
        s = s + 1
        Set k = Range("A2:A" & sat).FindNext(k)
    Loop While Not k Is Nothing And k.Address <> adr
    ReDim Preserve myarr(1 To 9, 1 To s - 1)
    ListBox1.Column = myarr
End If
Erase myarr
End Sub
 

Ekli dosyalar

Üst