PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مانده گیری لیست بدهکاران



Alireza
2015/06/27, 08:49
سلام خدمت دوستان عزیز
لیست بدهکارانی دارم بشکل فایل پیوست
من مانده بدهی هر بیمه نامه رو با یک شرط لازم دارم یعنی مثلاً در شیت دیگه یا فایل دیگه من بگم اقساط سررسید کوچکتر از 94/03/31 محاسبات برای هر بیمه نامه بشکلی انجام بشه که تمامی اقساطی که سررسید شده منهای وصولی ها(تاریخ های کوچکتر از 94/03/31 ) بشه و مانده بدهی هر بیمه نامه بتفکیک محاسبه بشه .
مچکرم

mohammad_ashooryan
2015/06/27, 09:45
سلام
ابتدا با استفاده از فرمولي كه جناب وطن پرست توي قسمت آموزشي سايت براي يونيك كردن ليست قرار داده بودن ليست بدهكاران رو يونيك كردم.
سپس با استفاده از suomproduct اينكار رو انجام دادم.
ببينيد همين منظورتونه.
7568

ebitary
2015/06/27, 10:04
سلام
با اجازه اساتید
این فایل رو هم ببینید

Alireza
2015/06/27, 10:31
ممنون از پاسخ عزیزان
اولین نکته اینه که فقط شماره بیمه مد نظر نیست من باید سرفصل ،سال و بیمه رو تفکیک کنم
نکته دوم اینه که من میخوام توی فایل دیگه این فایل رو خلاصه کنم یعنی با کد Vb برای هر بیمه نامه با هر تعداد گردش یک ردیف ایجاد کنم و بعد با شرطی که دارم مانده هر بیمه نامه رو محاسبه کنم.

Sub Macro1()



Workbooks.Open Filename:="D:\report.XLSX"

Dim a, b As Range
For Each a In Sheet1.Range("A1:A100")
For Each b In Workbooks("report.XLSX").Worksheets("report").Range("l1:l100")

If b.Value <> a.Value Then
If a.Value = "" Then

a.Value = b.Value


End If
End If
Next

Next



End Sub


این کد نیاز داره تکمیل بشه که از ورود اطلاعات تکراری به فایل اصلی جلوگیری بشه
ممنونم

Alireza
2015/07/01, 08:55
سلام
جواب سوال خودم (شاید برای دوستان مفید باشه )

Private Sub CommandButton1_Click()
Workbooks.Open Filename:="D:\report.XLSX"

Windows("report.XLSX").Visible = False

Dim a, b As Range

For Each b In Workbooks("report.XLSX").Worksheets("report").Range("L1:L10000")
For Each a In Sheet1.Range("A1:A1000")
If Application.WorksheetFunction.CountIfs(Sheet1.Rang e("A1:A1000"), b.Value, _
Sheet1.Range("B1:B1000"), b.Offset(0, -6), Sheet1.Range("D1:D1000"), _
b.Offset(0, -3)) = 0 And a.Value = "" Then

a.Value = b.Value
a.Offset(0, 2).Value = b.Offset(0, -4).Value
a.Offset(0, 1).Value = b.Offset(0, -6).Value
a.Offset(0, 3).Value = b.Offset(0, -3).Value

a.Offset(0, 4).Value = Application.WorksheetFunction.SumIfs(Workbooks("report.XLSX").Worksheets("report").Range("B:B"), _
Workbooks("report.XLSX").Worksheets("report").Range("l:l"), a.Value, _
Workbooks("report.XLSX").Worksheets("report").Range("F:F"), a.Offset(0, 1), _
Workbooks("report.XLSX").Worksheets("report").Range("I:I"), a.Offset(0, 3), _
Workbooks("report.XLSX").Worksheets("report").Range("C:C"), "<=" & Sheet1.Range("i1")) - _
Application.WorksheetFunction.SumIfs(Workbooks("report.XLSX").Worksheets("report").Range("A:A"), _
Workbooks("report.XLSX").Worksheets("report").Range("l:l"), a.Value, _
Workbooks("report.XLSX").Worksheets("report").Range("F:F"), a.Offset(0, 1), _
Workbooks("report.XLSX").Worksheets("report").Range("I:I"), a.Offset(0, 3), _
Workbooks("report.XLSX").Worksheets("report").Range("C:C"), "<=" & Sheet1.Range("i1"))
Sheet1.Range("E1") = "ÌãÚ ÈÏåí"
If a.Offset(0, 4).Value = 0 Then Rows(a.Row).Delete Shift:=xlUp

Exit For
End If
Next

Next
Windows("report.XLSX").Visible = True
Workbooks("report.XLSX").Close SaveChanges:=False
End Sub