• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru VBA da çift koşullu Listbox

Katılım
20 Nisan 2012
Mesajlar
78
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Merhabalar,

Ekteki çalışmada Userform3 otelde konaklayan misafirleri gösteriyor. Ancak burada gösterilecek misafirlerin şu koşula uyması gerekiyor:

  • Data sayfası D sütünundaki çıkış tarihi "L1" deki bugün tarihinden büyük olmalı ve aynı zamanda c sütundaki giriş tarihi L1 deki bugün tarihinden küçük veya eşit olmalı.

Aşağıdaki kod sadece çıkış tarihi l1 deki bugünden büyük olanları getiriyor. Ancak bu durumda otele yarın gelecek olanlar dagösteriliyor ki bunu istemiyorum.

Private Sub UserForm_Activate()
Dim sh As Worksheet, i As Long, sonsat As Long, X As Long
Dim k As Integer
Set sh = Sheets("data")
ListBox1.Clear
ListBox1.ColumnCount = 8
ListBox1.IntegralHeight = False
ListBox1.ColumnHeads = False
sonsat = sh.Cells(Rows.Count, "B").End(xlUp).Row
For i = 2 To sonsat
If sh.Cells(i, "D").Value >= Range("L1").Value Then
ListBox1.AddItem
For k = 0 To 8
ListBox1.List(X, k) = sh.Cells(i, k + 1).Value
Next k
X = X + 1
End If
Next i
End Sub


Bu formülü aşağıdaki kırmızı alanı ekledim ama olmadı

Private Sub UserForm_Activate()
Dim sh As Worksheet, i As Long, sonsat As Long, X As Long
Dim k As Integer
Set sh = Sheets("data")
ListBox1.Clear
ListBox1.ColumnCount = 8
ListBox1.IntegralHeight = False
ListBox1.ColumnHeads = False
sonsat = sh.Cells(Rows.Count, "B").End(xlUp).Row
For i = 2 To sonsat
If sh.Cells(i, "D").Value >= Range("L1").Value And sh.Cells(i, "C").Value < Range("L1").Value Then
ListBox1.AddItem
For k = 0 To 8
ListBox1.List(X, k) = sh.Cells(i, k + 1).Value
Next k
X = X + 1
End If
Next i
End Sub

yardımınızı rica ederim.
 

Ekli dosyalar

Dostlar selam,

Yardımcı olabilecek kime var mı ?
 
Kodunuza eşittir ilave edin ve Datada ki C ve D sütunlarını ve L1 hücresini tarih olarak biçimlendirin ve yazdığınız tarihlerin excel tarih formatına uygun olup olmadığını kontrol edin. Bu düzenlemeleri yaptıktan sonra düzgün filtreleme yapması lazım. :)
Kod:
(i, "C").Value <=
 
Geri
Üst