Soru VBA da çift koşullu Listbox

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
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

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
Dostlar selam,

Yardımcı olabilecek kime var mı ?
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
604
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
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 <=
 
Üst