udentr2002
Altın Üye
- Katılım
- 5 Kasım 2006
- Mesajlar
- 1,503
- Excel Vers. ve Dili
-
iş yerinde Office 365
evde Office 365
- Altın Üyelik Bitiş Tarihi
- 25-12-2029
Merhabaarkadaşlar sayfamda 1000 satır dan fazla veri girişi mevcut bu verileri forumda 11 stünluk listboxa alıyorum ve textboxun change özelliğine yazılan koda göre listboxda süzme işlemi yapıyorum yanlız veri girişim arttıkça textboxa süzme yapabilmek için yazı yazmaya başlayınca yavaşlama ve donma oluyor textboxun change olayına yazdığım kodlar aşağıdadır bu yavaşlamanın sebebi nedir çözemedim bunu engelleyebilmem için ne yapabilirim
textboxa harf girerken donuyor yada textboxda yazıan veriyi space tuşu ile silmeye başlarkende donuyor bu veri sayım arttınca olmaya başladı verilerin sayısı az iken böyle bir şey yoktu.
Şimdiden ilgilenen tüm arkadaşlarıma teşekkür ederim
Kod:
Private Sub TextBox15_Change()
On Error Resume Next
For X = 4 To 14
Controls("textbox" & X).Value = ""
Next
ListBox1.RowSource = Empty
ListBox1.Clear
ListBox1.ColumnCount = 11
For Each isim In Sheets("Veri").Range("a3:a" & Sheets("Veri").Range("a65536").End(3).Row)
If UCase(LCase(isim)) Like UCase(LCase(TextBox15)) & "*" Then
isim.Select
liste = ListBox1.ListCount
ListBox1.AddItem
ListBox1.List(liste, 0) = isim
ListBox1.List(liste, 1) = isim.Offset(0, 1)
ListBox1.List(liste, 2) = isim.Offset(0, 2)
ListBox1.List(liste, 3) = isim.Offset(0, 3)
ListBox1.List(liste, 4) = isim.Offset(0, 4)
ListBox1.List(liste, 5) = isim.Offset(0, 5)
ListBox1.List(liste, 6) = isim.Offset(0, 6)
ListBox1.List(liste, 7) = isim.Offset(0, 7)
ListBox1.List(liste, 8) = isim.Offset(0, 8)
ListBox1.List(liste, 9) = isim.Offset(0, 9)
ListBox1.List(liste, 10) = isim.Offset(0, 10)
ListBox1.List(liste, 11) = isim.Offset(0, 11)
TextBox4 = ActiveCell.Offset(0, 0).Value
TextBox5 = ActiveCell.Offset(0, 1).Value
TextBox6 = ActiveCell.Offset(0, 2).Value
TextBox7 = ActiveCell.Offset(0, 3).Value
TextBox8 = ActiveCell.Offset(0, 4).Value
TextBox9 = ActiveCell.Offset(0, 5).Value
TextBox10 = ActiveCell.Offset(0, 6).Value
TextBox11 = ActiveCell.Offset(0, 7).Value
TextBox12 = ActiveCell.Offset(0, 8).Value
TextBox13 = ActiveCell.Offset(0, 9).Value
TextBox14 = ActiveCell.Offset(0, 10).Value
End If
Next
If TextBox15.Text = "" Then
For X = 4 To 14
Controls("textbox" & X) = ""
Next
End If
For X = 4 To 14
If Controls("textbox" & X).Text = "" Then
Controls("textbox" & X).BackColor = vbWhite
Else
Controls("textbox" & X).BackColor = vbBlue
Controls("textbox" & X).ForeColor = vbWhite
End If
Next
End Sub
Şimdiden ilgilenen tüm arkadaşlarıma teşekkür ederim