ödeme tarihi gelen müşteriyi listboxta listeleme

Katılım
7 Nisan 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
arkadaşlar ekteki dosyada ben butona basına anamenü ile birlikte bana
senet ödemeleri buüg olan yada geçmiş olan müşterileri listbozta sıralasın. bunu nasıl sağlarım.
aslında bi döngü oluşacak ama . bi türlü yapamadım.
yapmak istediğimi biraz açıklayacak olursam.

eğer(ac="ödendi";eğer(af=""ödendi";"";"") ;eğer(aa<=now();"bunu listeye alsın";"değil ise döngü bitsin"))
tam anlatamadım. ancak. şöyleki
ac = burada 1. taksidin ödendi/ ödenmedi hücresi.
eğer ilk taksit ödendi ise ikinci taksidi sorgula ( af hücresi)
eğer ac= ilk taksit ödenmedi ise bu seferde ilk taksidin tarihine baksın ve bu da şidmi() den küçük eşit se bu müşteriyi listeye alsın. değilse . o müşteri için aramayı bitirsin.
ikinci müşteriye geçsin ve aynı işlemleri yapsın.
bu döngüyü nasıl oluşturabilirm.
bir türlü yapamadım ?
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
A&#351;a&#287;&#305;daki kodlar&#305; deneyiniz.

Kod:
Private Sub CommandButton1_Click()
With Me.ListBox1
    .Clear
    .ColumnCount = 4
    .ColumnWidths = "20;120;60;50"
    .AddItem
    .List(0, 0) = "S&#305;ra"
    .List(0, 1) = "M&#252;&#351;teri Ad&#305;"
    .List(0, 2) = "Tarih"
    .List(0, 3) = "Tutar"
    .List(0, 4) = "A&#231;&#305;klama"
End With
s = 1
For i = 2 To 100  ' [COLOR=yellowgreen]100 say&#305;s&#305;n&#305; sayfan&#305;zdaki sat&#305;r say&#305;s&#305; kadar d&#252;zeltiniz.[/COLOR]
    For j = 3 To 15 Step 3
    If Cells(i, 26 + j) = "&#214;denmedi" And CDate(Cells(i, 26 + j - 2).Value) <= Date Then
    ListBox1.AddItem
    ListBox1.List(s, 0) = s
    ListBox1.List(s, 1) = Cells(i, "b").Value
    ListBox1.List(s, 2) = Cells(i, 26 + j - 2).Value
    ListBox1.List(s, 3) = Cells(i, 26 + j - 1).Value
    ListBox1.List(s, 4) = Cells(i, 26 + j).Value
    s = s + 1
    End If
    Next j
Next i
End Sub
 
Katılım
7 Nisan 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
Aşağıdaki kodları deneyiniz.

Kod:
Private Sub CommandButton1_Click()
With Me.ListBox1
    .Clear
    .ColumnCount = 4
    .ColumnWidths = "20;120;60;50"
    .AddItem
    .List(0, 0) = "Sıra"
    .List(0, 1) = "Müşteri Adı"
    .List(0, 2) = "Tarih"
    .List(0, 3) = "Tutar"
    .List(0, 4) = "Açıklama"
End With
s = 1
For i = 2 To 100  ' [COLOR=yellowgreen]100 sayısını sayfanızdaki satır sayısı kadar düzeltiniz.[/COLOR]
    For j = 3 To 15 Step 3
    If Cells(i, 26 + j) = "Ödenmedi" And CDate(Cells(i, 26 + j - 2).Value) <= Date Then
    ListBox1.AddItem
    ListBox1.List(s, 0) = s
    ListBox1.List(s, 1) = Cells(i, "b").Value
    ListBox1.List(s, 2) = Cells(i, 26 + j - 2).Value
    ListBox1.List(s, 3) = Cells(i, 26 + j - 1).Value
    ListBox1.List(s, 4) = Cells(i, 26 + j).Value
    s = s + 1
    End If
    Next j
Next i
End Sub
Sayın Ripek, öncelikle cevabınız için ne kadar teşekkür etsem azdır.
çok kötü bir dilde anlatmama rağmen, ne demek istediğimi anlayıp tam istediğm gibi bir kod yazdığınız için size çok teşekkür ediyorum.
ayrıca sizden bir ricam daha olacak.
bu listelenen müşteriler den herhangi birini çift tıklayınca. userform2 deki ilglili kutucuklara müşterinin bilgisinin gitmesini nasıl sağlarız acaba?
Mesela deneme1 isimli müşteri nin ödemesi gecikmiş diyelim. ve listede yer alıyor. ben bunu çift tıklayınca. userform 2 ye gitsin ve deneme1 isimli müşterinin tüm bilgilerini ilgili tebox lara yazsın. bunu yapabilir miyiz acaba?
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Kodlarınıza aşağıdakileri ilave ediniz.

Kod:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox1.ListIndex < 1 Then Exit Sub
    veri = ListBox1.List(ListBox1.ListIndex, 1)
        a = [b2:b65536].Find(veri).Row
            UserForm2.TextBox1 = Cells(a, "b").Value
            UserForm2.TextBox2 = Cells(a, "c").Value
            UserForm2.TextBox3 = Cells(a, "d").Value
            UserForm2.TextBox4 = Cells(a, "e").Value
            UserForm2.TextBox5 = Cells(a, "f").Value
        Unload UserForm1
    UserForm2.Show
End Sub
 
Katılım
7 Nisan 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
Kodlarınıza aşağıdakileri ilave ediniz.

Kod:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox1.ListIndex < 1 Then Exit Sub
    veri = ListBox1.List(ListBox1.ListIndex, 1)
        a = [b2:b65536].Find(veri).Row
            UserForm2.TextBox1 = Cells(a, "b").Value
            UserForm2.TextBox2 = Cells(a, "c").Value
            UserForm2.TextBox3 = Cells(a, "d").Value
            UserForm2.TextBox4 = Cells(a, "e").Value
            UserForm2.TextBox5 = Cells(a, "f").Value
        Unload UserForm1
    UserForm2.Show
End Sub
cevabınız için size çok teşekkür ediyorum. Bilgini ne kadar büyük bir güç olduğunu tekrar gösterdiniz.
sağolun.
 
Üst