ListBoxtan TextBox ile arama sorunu

Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba arkadaşlar.
Derlediğim bazı kodlarla TextBox'tan veri filitrelemesi yapıyorum.
Buraya kadar bir sorun yok. Lakin filtre ettiğim verinin üzerine çift tıkladığımda
(çift tıklayınca TextBoxlara verler geliyor) hata alıyorum. Acaba sorun nedir?
Birde bu aranan veriler alfabetik olarak gelmiyor...
DOSYA EKTEDİR...

KODLARIM:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox1.ListIndex < 0 Then Exit Sub
TextBox2.Text = ListBox1.Column(2)
TextBox3.Text = ListBox1.Column(3)
TextBox4.Text = ListBox1.Column(4)
TextBox5.Text = ListBox1.Column(5)
TextBox6.Text = ListBox1.Column(6)
TextBox7.Text = ListBox1.Column(7)
TextBox8.Text = ListBox1.Column(12)
TextBox9.Text = ListBox1.Column(17)
TextBox10.Text = ListBox1.Column(31)
TextBox11.Text = ListBox1.Column(32)
TextBox12.Text = ListBox1.Column(33)

CommandButton1.Enabled = True 'False yaparsanız kaydet butonu pasif olur
CommandButton2.Enabled = True
CommandButton3.Enabled = True
End Sub

Private Sub TextBox13_Change()

Dim k As Range, adrs As String, j As Byte, a As Long
ReDim myarr(1 To 8, 1 To 65536)
If TextBox13.Text = "" Then
ListBox1.RowSource = "satış!A2:H" & Sheets("satış").[A65536].End(xlUp).Row
Exit Sub
End If
With Worksheets("satış")
ListBox1.RowSource = ""
If .FilterMode Then .ShowAllData
Set k = .Range("C2:C65536").Find(TextBox13.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
adrs = k.Address
Do
a = a + 1
For j = 1 To 8
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 8, 1 To a)
ListBox1.Column = myarr
End If
End With

End Sub
 

Ekli dosyalar

Son düzenleme:

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
:)

Arama şeklini 4 seçeneğe göre ayarladım. kontrol edin sonraki isteğinize geçelim. :) iyi çalışmalar.
 

Ekli dosyalar

Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Sorunu çözdüm arkadaşlar.
Merak edenler için kodu veriyorum...
Yalnız filitreleme yapıca tarihlerim 1/2/212 şeklinde değişiyor.
Normalde 01.02.2012 şeklindedir. Bunu nasıl düzeltebilirim?

Private Sub TextBox13_Change()

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ış!A2:H" & Sheets("satış").[A65536].End(xlUp).Row
Exit Sub
End If
With Worksheets("satış")
ListBox1.RowSource = ""
If .FilterMode Then .ShowAllData
Set k = .Range("C2:C65536").Find(TextBox13.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 Sub
Yalnız burada bir şey sormak istiyorum.
ListBox'ın başında bulunan başlık var. Burası arama yaptıktan sonra kayboluyor.
Bir çalışmada görmüştüm. Üzeri tıklanır bir şekilde ve hücre aralıkları değiştirilebiliyordu. Ayrıca tıklandığında verileri alfabetik sıralıyordu...
Böyle bir şey yapmak mümkün mü?

 
Son düzenleme:

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
süzme yapıldıktan sonra seçtiğiniz satır textboxlara gelmiyor bu şekilde. :(
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Çalışmanıza baktım. Süper olmuş...
adrese ile göre arama kriterleri de muazzam...

Edit. Bende sorunyoktu ama sizin açlışmada en son çıkan tarih formatı yanlış geliyor.
01.02.2012 olan tarih filitrelemeden sonra 40056 gibi oluyor?
 

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
sayfadaki kayıt şekli ile aynı süzme işlemini yapın süzülen verilerden istediğinizi seçin o zaman sayfadaki şekli nasılsa onun aynısını getiriyor sayfadaki kayıt yerini kontrol edin bence :)
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Değil Ulutan Bey.
Kontrol ettim. Randevu tarihine dikkat ederseniz oraya doğru yazılmış tarih,
çift tıklandığında "41004" texboxa böyle geliyor? Birde başlık olarak gelen ilk satır süzme sırasında kayboluyor. Çok önemli değil ama yukarıdaki resimdeki gibi bir şekil yapılabilir mi? :)
 

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
bende kontrol ettim şimdi user form açıldığında süzme işlemi yapmadan direk listboxdaki kayıtlardan birisini seçince dediğiniz gibi fakat süzme işlemi yaptıkdan sonra birisini seçerseniz tarih formatında veriyor sonucu. ama öncelikle sayfada tarih kayıtlı olan yerleri bir kontrol edin oradaki bazı satırlarda tarih formatında değiş veriler.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Sayfa üzerinde hücreyi tarih formatında biçimlendirince yada üzerine çift tıklatınca düzeliyor.
Ama sorun aşağıdaki gibi userforma yanlış geliyor. Kaydet deyince de yanlış kaydediyor?
Acaba sorun kodlarda olabilir mi? Çünkü hücreleri sayı yada tarih olarak biçimlendirdim.
Userform bunları veri olarak gönderiyor. Sanırım böyle bir sorun olması gerek.


 

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
kontrol edebildinizmi hala sorun aynı şekildemi. eğer geğişen bir şey yoksa gmail lütfen :)
 
Üst