- Katılım
- 19 Haziran 2007
- Mesajlar
- 418
- Excel Vers. ve Dili
- excel 2007
Merhaba.
TextBox ile kişi arama yapıyorum. Lakin dosyamda 10.000 veri olunca arama işlemi biraz yavaş oluyor. Aşağıdaki kodlar ile yapılan arama için bir öneriniz olabilir mi?
Ayrıca aynı hücrede bulunan ad ve soyad için soyadı araması da eklemek istiyorum.
Şayet olabilirse, aynı texbox ile olmaz ise farklı bir texbox ile soyadı araması nasıl yapabilirim?
Saygılarımla.
TextBox ile kişi arama yapıyorum. Lakin dosyamda 10.000 veri olunca arama işlemi biraz yavaş oluyor. Aşağıdaki kodlar ile yapılan arama için bir öneriniz olabilir mi?
Ayrıca aynı hücrede bulunan ad ve soyad için soyadı araması da eklemek istiyorum.
Şayet olabilirse, aynı texbox ile olmaz ise farklı bir texbox ile soyadı araması nasıl yapabilirim?
Saygılarımla.
Kod:
Private Sub TextBox13_Change() 'KİŞİ ARA
Dim k As Range, adrs As String, j As Byte, A As Long
ReDim myarr(1 To 50, 1 To 65536)
If TextBox13.Text = "" Then
ListBox1.RowSource = "satış!A1:U" & Sheets("satış").[a65536].End(xlUp).Row
Exit Sub
End If
If Left(TextBox13.Text, 1) <> "-" Then
TextBox2000.Text = TextBox13.Text
With Worksheets("satış")
ListBox1.RowSource = ""
If .FilterMode Then .ShowAllData
Set k = .Range("C2:C65536").Find(TextBox2000.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
adrs = k.Address
Do
A = A + 1
For j = 1 To 50
myarr(j, A) = .Cells(k.Row, j).Value
Next j
Set k = Range("C2:C65536").FindNext(k)
Loop While Not k Is Nothing And k.Address <> adrs
ReDim Preserve myarr(1 To 50, 1 To A)
ListBox1.Column = myarr
End If
End With
End If
End Sub
Ekli dosyalar
-
354.8 KB Görüntüleme: 53