ListBox'a Yıla Göre Veri Almak

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Aşağıdaki kod ile ListBox1'e VERİLER sayfası "B2:B" aralığından veri alıyorum,

İsteğim, ListBox1 ;

Eğer KAYIT sayfası "AF2" hücresinin tarihi geçmiş yıl ise ( örn:2020 ), VERİLER sayfası "B2:B" aralığından,

Eğer KAYIT sayfası "AF2" hücresinin tarihi bu yıl ise ( örn:2021 ), VERİLER sayfası "D2 : D" aralığından veri alsın istiyorum.

Kod:
Private Sub UserForm_Initialize()
Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000

    Dim a As Long      
 
    a = Sheets("VERİLER").Range("B65536").End(3).Row
    ListBox1.RowSource = "VERİLER!B2:B" & a
    a = Empty      
       
End Sub
Teşekkür ederim.
 

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
Deneyiniz.
Kod:
    Dim a As Long
 Dim b As Long
 If Year(Sheets("KAYIT").Range("AF2").Value) < Year(Date) Then
    a = Sheets("VERİLER").Range("B65536").End(3).Row
    ListBox1.RowSource = "VERİLER!B2:B" & a
    a = Empty
Else
    b = Sheets("VERİLER").Range("D65536").End(3).Row
    ListBox1.RowSource = "VERİLER!D2:D" & b
    a = Empty
End If
 

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,106
Excel Vers. ve Dili
office2010
Bende yazmıştım alternatif olsun.

Kod:
Private Sub UserForm_Initialize()
    Set s1 = Sheets("VERİLER")
    Set s2 = Sheets("KAYIT")
    t1 = Year(Date)
    t2 = s2.[AF2]
    If t2 >= t1 Then
        sut = 4
    ElseIf t2 < t1 Then
        sut = 2
    End If
    son = s1.Cells(Rows.Count, sut).End(3).Row
    If son > 1 Then
        a = s1.Cells(2, sut).Resize(son - 1).Value
        ListBox1.List = a
    End If
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Orion1 merhaba,

Çözüm için teşekkür ederim,

Saygılarımla.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Ziynettin merhaba,

Alternatif çözüm için teşekkür ederim,

Saygılarımla.
 
Üst