سلام دوستان عزیز شب همگی بخیر
ببینید من یک شیت دارم که تعداد زیادی رکورد در اون هست چون نتونستم اونو آپ کنم مجبورم توضیح بدم
ستون B = تاریخ ستون C = مبلغ تراکنش ستون D = تعداد تراکنش و ستون آخر E = کد خودرو
اینجا یه اتفاقی میفته و اونم اینه که ستون E دارای رکورد های تکراری هست یعنی شماره خودروهای مشابه زیادی بدون فیلتر و نامرتب وجود داره
من میخواستم بر اساس کد هر خودرویی که توی ستون E هست اطلاعات فیلتر بشه و یک شیت جدید با همان کد خودرو ایجاد بشه و اطلاعات فیلتر شده اونجا قرار بگیره یا کپی بشه و نهایتا زیر ستونهای C - D هم جمع هر ستون آورده بشه
خب استاد شمس واقعا منو خجالت زده کردند و دو هزار خط کد منو به چند سطر تقلیل دادن یعنی یه چیز کاملا جدا از کد من (اینجاست که فرق جوجه اکسل با استاد مشخص میشه)
خب از اونجایی که دیگه نمی خوام مجددا زحمتی گردن ایشون بیفته خواستم از محتوای منظورم مطلع شده باشید و سورسی که ایشون برای من زدند رو کامنت گزاری کنید تا بفهمم دقیقا چه کاری انجام شده واقعا محبت میکنید از نتیجه همکاریتون منو مطلع کنید همینجا مجددا از همه شما دوستان گلم و از استاد شمس العلما واقعا قدردانی میکنم
مخصوصا این قسمت :
ببینید من یک شیت دارم که تعداد زیادی رکورد در اون هست چون نتونستم اونو آپ کنم مجبورم توضیح بدم
ستون B = تاریخ ستون C = مبلغ تراکنش ستون D = تعداد تراکنش و ستون آخر E = کد خودرو
اینجا یه اتفاقی میفته و اونم اینه که ستون E دارای رکورد های تکراری هست یعنی شماره خودروهای مشابه زیادی بدون فیلتر و نامرتب وجود داره
من میخواستم بر اساس کد هر خودرویی که توی ستون E هست اطلاعات فیلتر بشه و یک شیت جدید با همان کد خودرو ایجاد بشه و اطلاعات فیلتر شده اونجا قرار بگیره یا کپی بشه و نهایتا زیر ستونهای C - D هم جمع هر ستون آورده بشه
خب استاد شمس واقعا منو خجالت زده کردند و دو هزار خط کد منو به چند سطر تقلیل دادن یعنی یه چیز کاملا جدا از کد من (اینجاست که فرق جوجه اکسل با استاد مشخص میشه)
خب از اونجایی که دیگه نمی خوام مجددا زحمتی گردن ایشون بیفته خواستم از محتوای منظورم مطلع شده باشید و سورسی که ایشون برای من زدند رو کامنت گزاری کنید تا بفهمم دقیقا چه کاری انجام شده واقعا محبت میکنید از نتیجه همکاریتون منو مطلع کنید همینجا مجددا از همه شما دوستان گلم و از استاد شمس العلما واقعا قدردانی میکنم
کد:
Dim c As Range
For Each c In Sheet1.Range("A3:A13000")
Dim ws, m
For Each ws In Worksheets
m = 0
If ws.Name = c.Offset(0, 4).Value Then
m = 1
Exit For
End If
Next
If (m <> 0) Then
Else
If c.Offset(0, 4) <> "" Then
Sheets.Add After:=Sheets(Sheets.Count)
Application.ActiveSheet.Name = c.Offset(0, 4).Value
Dim n
n = 0
Dim cb As Range
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(0, 0).Value = "رديف"
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(0, 1).Value = "تاريخ توليد-تاريخ"
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(0, 2).Value = "مبلغ تراكنش"
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(0, 3).Value = "تعداد تراكنش"
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(0, 4).Value = "اتوبوس "
For Each cb In Sheet1.Range("A3:A13000")
If cb.Offset(0, 4).Value = c.Offset(0, 4).Value And cb.Offset(0, 4) <> "" Then
n = n + 1
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(n, 0).Value = n
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(n, 1).Value = cb.Offset(0, 1).Text
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(n, 2).Value = cb.Offset(0, 2).Text
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(n, 3).Value = cb.Offset(0, 3).Text
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(n, 4).Value = cb.Offset(0, 4).Text
End If
Next cb
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(n + 1, 3) = "=SUM(R[-" & n & "]C:R[-1]C)"
Sheets(c.Offset(0, 4).Value).Range("a2").Offset(n + 1, 2) = "=SUM(R[-" & n & "]C:R[-1]C)"
End If
End If
Next c
کد:
m = 0
If ws.Name = c.Offset(0, 4).Value Then
m = 1
Exit For
اگه خط به خط توضیح بدید تا سر در بیارم خیلی ممنون میشم شبتون شیک


کامنت