سلام
من برای یک کاری گرفتار اکسل و VB شدم و دست و پا شکسته دارم میرم جلو
در بخشی از برنامه میام بر مبنای یک لیست دیگر، باید یه سری آیتم ها رو جمع کنم!

For d = date1 To date2    Dim O As New MyList
Str = 0
Pub = 0
Prd = 0
O.Ave_Product = lsh.Range("K1")
O.Ave_Story = lsh.Range("K2")
O.Day = d
For Each x In Lst
If CDate(x.key) = d Then
Str = Str + x.Story
Pub = Pub + x.Publish
Prd = Prd + x.Product
End If
Next x
O.Story = Str
O.Publish = Pub
O.Product = Prd
OutLst.Add O

Next d


اما وقتی خروجی می گیرم:
Dim z As Integerz = 1
For Each lx In OutLst
sh.Cells(z, 22) = OutLst(z).Day
sh.Cells(z, 23) = OutLst(z).Product
sh.Cells(z, 24) = OutLst(z).Publish
sh.Cells(z, 25) = OutLst(z).Story
sh.Cells(z, 26) = OutLst(z).Ave_Product
sh.Cells(z, 27) = OutLst(z).Ave_Story
z = z + 1
Next lx

همه خروجی ها یکسان هست. در حای که چک کردم که در مواردی شرط مورد نظر در کد بلاک اول اجرا شده و مقدار ها تغییر می کند اما خروجی بدین صورت هست:
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5
3/19/2020 0 0 0 2 5

مشکل چیست؟