ListBoxt'a Süzme Problemi

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025


Arkadaşlar resimde de anlatmaya çalıştığım gibi sorgulama yapmak istediğim de kayıtları Liste kutusunda süzmeyi bir türlü başaramadım. Bununla ilgili örnek dosya ektedir.
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Selam

http://www.excel.web.tr/showthread.php?t=56794&page=2&highlight=listbox+s%FCz

22. mesajdaki kod ile gayet güzel çalışıyor

Kod:
[FONT="Tahoma"]Private Sub Listele_Click()
kriter = Yeni_Kayit.adi
If kriter = Empty Then Exit Sub
Yeni_Kayit.Liste.RowSource = ""
say = WorksheetFunction.CountIf([B:B], kriter)
For b = 1 To say
adr = "B" & sat + 1 & ":b65536"
sat = WorksheetFunction.Match(kriter, Range(adr), 0) + sat
Yeni_Kayit.Liste.AddItem
For a = 1 To 10
Yeni_Kayit.Liste.List(c, a - 1) = Cells(sat, a)
Next
c = c + 1
Next
    Liste.ColumnHeads = False
    Liste.ColumnCount = 10
    Liste.ColumnWidths = "28;70;120;50;60;60;18;35;35;140"
End Sub[/FONT]
 
Son düzenleme:

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 ekte.:cool:
Kod:
Private Sub Listele_Click()
Dim k As Range, ilk_adr As String, a As Long
Liste.RowSource = vbNullString
ReDim myarr(1 To 10, 1 To 1)
Set k = Range("B2:B65536").Find(adi.Value, , xlValues, xlWhole, , 1)
If Not k Is Nothing Then
    ilk_adr = k.Address
    Do
        a = a + 1
        ReDim Preserve myarr(1 To 10, 1 To a)
        For j = 1 To 10
            myarr(j, a) = Cells(k.Row, j).Value
        Next j
        Set k = Range("B2:B65536").FindNext(k)
    Loop While Not k Is Nothing And k.Address <> ilk_adr
    Liste.Column = myarr
    Erase myarr
End If
Set k = Nothing
End Sub
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Selam

http://www.excel.web.tr/showthread.php?t=56794&page=2&highlight=listbox+s%FCz

22. mesajdaki kod ile gayet güzel çalışıyor

Kod:
[FONT="Tahoma"]Private Sub Listele_Click()
kriter = Yeni_Kayit.adi
If kriter = Empty Then Exit Sub
Yeni_Kayit.Liste.RowSource = ""
say = WorksheetFunction.CountIf([B:B], kriter)
For b = 1 To say
adr = "B" & sat + 1 & ":b65536"
sat = WorksheetFunction.Match(kriter, Range(adr), 0) + sat
Yeni_Kayit.Liste.AddItem
For a = 1 To 10
Yeni_Kayit.Liste.List(c, a - 1) = Cells(sat, a)
Next
c = c + 1
Next
    Liste.ColumnHeads = False
    Liste.ColumnCount = 10
    Liste.ColumnWidths = "28;70;120;50;60;60;18;35;35;140"
End Sub[/FONT]
Oradaki kodla bir müddet çalıştı ancak daha sonra nedenini bilmediğim bir sebeple bir daha çalışmadı. :(

Teşekkür ederim.
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Dosyanız ekte.:cool:
Kod:
Private Sub Listele_Click()
Dim k As Range, ilk_adr As String, a As Long
Liste.RowSource = vbNullString
ReDim myarr(1 To 10, 1 To 1)
Set k = Range("B2:B65536").Find(adi.Value, , xlValues, xlWhole, , 1)
If Not k Is Nothing Then
    ilk_adr = k.Address
    Do
        a = a + 1
        ReDim Preserve myarr(1 To 10, 1 To a)
        For j = 1 To 10
            myarr(j, a) = Cells(k.Row, j).Value
        Next j
        Set k = Range("B2:B65536").FindNext(k)
    Loop While Not k Is Nothing And k.Address <> ilk_adr
    Liste.Column = myarr
    Erase myarr
End If
Set k = Nothing
End Sub
Çok teşekkür ederim. :)
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
@Evren Gizlen
Katk&#305;lar&#305;n&#305;zdan dolay&#305; &#231;ok te&#351;ekk&#252;r ederim. Sorun &#231;&#246;z&#252;ld&#252; :)
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025


Arkadaşlar yine bir sorunla karşı karşı kaldım ve içerisinden çıkamadım. Sorunum:

"Hasta Yakını Ekleme" bölümünde yakının adını ve soyadını sorgulamak istiyorum. Tek kayıtlarda normal olarak buluyor ve Text kutularına aktırıyor ancak; isim benzerliği bulunan ve soyisimleri farklı olan kişilerde bir türlü sorgulama yapmıyor. Yaklaşık 1,5 gündür değişik kombinasyonlar denedim, forumdan değişik kodlarla uğraştım ama sonuç hala aynı. Örnek dosyayı ekledim.

Yardımı olacak arkadaşlara şimdiden teşekkürler.
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Ayr&#305;ca "Se&#231;iniz" yazan Combobox'lara veri aktar&#305;m&#305; da yapam&#305;yorum. :(
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Kimse yard&#305;m etmeyecek san&#305;r&#305;m :(
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Ayrıca "Seçiniz" yazan Combobox'lara veri aktarımı da yapamıyorum. :(
Kod:
Private Sub Per_Adi_Change()
 i = Per_Adi.ListIndex + 2
    Yakin_Ad = Cells(i, "C")
    Yakin_Tc = Cells(i, "D")
    Yakin_Karne = Cells(i, "E")
    Has_Yakin = Cells(i, "F")
Yakin_Ad.SetFocus
End Sub
 
Üst