Listview e Son 5 kaydı alma

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
670
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Merhaba,

Aşağıdaki kodlar ile listviewe excel sayfasındaki tüm verileri alabiliyorum. Şöylesi birşey yapmak istedim. Excel sayfasında alt alta oluşan satırlardan sadece son 5 satırın verisini nasıl alabilirim. Burada iç içe döngü mü gerekli olur. Ayrıca userform üzerindeki textboxlara veri giriyorum ve bir buton ile excel sayfasına aktarmaktayım. Kaydet şeklindeki bu butonun altına nasıl bir kod ile sayfaya aktarılan son veriyi listviewe yansıtabilirim. Yani ben kaydet dedikçe listview kendini yenileyecek, sürekli son 5 satırı alacak.

Kod:
Private Sub UserForm_initialize()

Sheets("KAYIT").Select
Me.ListBox1.Visible = False
Me.ListBox2.Visible = False
Me.ListBox3.Visible = False
CheckBox1 = True
CheckBox2 = False
CheckBox3 = True
CheckBox4 = False


Dim i As Long
Dim veri As Worksheet
Set veri = Sheets("KAYIT")


    ListView1.ListItems.Clear
    ListView1.View = lvwReport
    ListView1.Gridlines = True
    ListView1.FullRowSelect = True
    'ListView1.CheckBoxes = True
    'ListView1.HotTracking = True
    ListView1.ColumnHeaders.Add , , "NO", 40, lvwColumnLeft
    ListView1.ColumnHeaders.Add , , "TARİH", 70, lvwColumnRight
    ListView1.ColumnHeaders.Add , , "TARTIM NO", 80, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "ADI SOYADI / FİRMA", 160, lvwColumnLeft
    ListView1.ColumnHeaders.Add , , "ARAÇ PLAKASI", 80, lvwColumnLeft
    ListView1.ColumnHeaders.Add , , "KALİBRASYON (mm)", 80, lvwColumnLeft
    ListView1.ColumnHeaders.Add , , "ÇIKIŞ NET (KG)", 80, lvwColumnRight
    ListView1.ColumnHeaders.Add , , "BİGBAG KG", 80, lvwColumnRight


For i = 2 To veri.Cells(65536, "A").End(xlUp).Row
    With ListView1
        .ListItems.Add , , veri.Cells(i, "A").Value
        .ListItems(i - 1).SubItems(1) = veri.Cells(i, "B").Value
        .ListItems(i - 1).SubItems(2) = veri.Cells(i, "C").Value
        .ListItems(i - 1).SubItems(3) = veri.Cells(i, "D").Value
        .ListItems(i - 1).SubItems(4) = veri.Cells(i, "E").Value
        .ListItems(i - 1).SubItems(5) = veri.Cells(i, "F").Value
        .ListItems(i - 1).SubItems(6) = Format(veri.Cells(i, "G").Value, "#,##0")
        .ListItems(i - 1).SubItems(7) = Format(veri.Cells(i, "H").Value, "#,##0")
        
    End With
Next i
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
For i = 2 To veri.Cells(65536, "A").End(xlUp).Row

Yerine son5 satırı aşağıdaki gibi alabilirsiniz.

For i = veri.Cells(65536, "A").End(xlUp).Row-4 To veri.Cells(65536, "A").End(xlUp).Row
 
Üst