اذهب الي المحتوي
أوفيسنا

تقرير مشترك للعملاء والموردين كشف حساب من شيت المشتريات وشيت المبيعات والخزينة


marwa41
إذهب إلى أفضل إجابة Solved by الرائد77,

الردود الموصى بها

تقرير من صفحة المشتريات والمبيعات  والخزينة بين تاريخين المجموعة لو اخترت مورد يظهر فى الاسم اسماء الموردين لو اخترت عميل يظهر اسماء العملاء ويتم احضار البيانات على اساس من التاريخ والى تاريخ  والاسم الاساسى بشرط اساسى الاسم

شيت حسابات.xlsm

رابط هذا التعليق
شارك

تفضل

Sub repport()

Dim smch As Worksheet
Dim smb As Worksheet
Dim tres As Worksheet
Dim targ As Worksheet
Set smch = Sheets("المشتريات")
Set smb = Sheets("المبيعات")
Set tres = Sheets("الخزينة")
Set targ = ActiveSheet
lrm = smch.Range("c" & Rows.Count).End(xlUp).Row
lrmb = smb.Range("c" & Rows.Count).End(xlUp).Row
lrtres = tres.Range("c" & Rows.Count).End(xlUp).Row

lrtg = targ.Range("a" & Rows.Count).End(xlUp).Row
targ.Range("a9:e" & lrtg).ClearContents
If targ.Range("d1") = "مورد" Then

For Each cell In smch.Range("e5:e" & lrm)

If cell.Value = targ.Range("d3") And cell.Offset(, -2).Value >= targ.Range("b2") And cell.Offset(, -2).Value <= targ.Range("b3") Then
lrtg = targ.Range("a" & Rows.Count).End(xlUp).Row

With targ
.Cells(lrtg + 1, 1) = cell.Offset(, -2).Value
.Cells(lrtg + 1, 2) = cell.Offset(, -1).Value
.Cells(lrtg + 1, 3) = cell.Offset(, 5).Value
For Each cell1 In tres.Range("j5:j" & lrtres)
lrtg = targ.Range("a" & Rows.Count).End(xlUp).Row

If cell1.Offset(, -4).Value = targ.Range("d3") And cell1.Value >= targ.Range("b2") And cell1.Value <= targ.Range("b3") Then
.Cells(lrtg + 1, 4).Offset(-1, 0) = cell1.Offset(, -6).Value
End If
Next cell1
End With
End If
Next
Else
For Each cell In smb.Range("e5:e" & lrmb)

If cell.Value = targ.Range("d3") And cell.Offset(, -2).Value >= targ.Range("b2") And cell.Offset(, -2).Value <= targ.Range("b3") Then
lrtg = targ.Range("a" & Rows.Count).End(xlUp).Row

With targ
.Cells(lrtg + 1, 1) = cell.Offset(, -2).Value
.Cells(lrtg + 1, 2) = cell.Offset(, -1).Value
.Cells(lrtg + 1, 3) = cell.Offset(, 5).Value
For Each cell1 In tres.Range("j5:j" & lrtres)
lrtg = targ.Range("a" & Rows.Count).End(xlUp).Row

If cell1.Offset(, -5).Value = targ.Range("d3") And cell1.Value >= targ.Range("b2") And cell1.Value <= targ.Range("b3") Then
.Cells(lrtg + 1, 4).Offset(-1, 0) = cell1.Offset(, -6).Value
End If
Next cell1
End With
End If
Next


End If


End Sub

 

شيت حسابات (1).xlsm

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم مجهود رائع جدا بارك الله فيكم وجزاكم الله خيرا

لكن عند استدعاء التاريخ والبيانات يعتمد على البيانات فقط فى شيت المبيعات لا يضع الخزينة كتاريخ الايداع وعندما لا  يكون هناك بيانات فى المبيعات مثلا يقوم باخفاء كل شئ مثل الصورة المرفقة حضرتك عندما تكون فيه بيانات مبيعات بتاريخ مثلا 1/1 ودفع بتاريخ 1/1 ايضا يقوم بترتيبهم اسف بعض وليس فى سطر واحد

عندما اختار فى المربع الاصفر العملاء يظهر اسفله الاسماء قائمة منسدلة 

 

 

Untitled.png

رابط هذا التعليق
شارك

على حسب ملفك المرفق. انظر المشتريات  و الخزينة .

 

على حسب جدول التقرير .ييا اخي كيف تأتي بالبيانات من الخزينة الى التقرير اسفل و ليس اصلا نفس الجدول.

الكود  يعمل و ياتي لك حسب المورد و العميل . على أاساس  يأتي بالمبلغ فقط من الخزينة و  لقد وضعت انت في ملفك الاول الخزينة فوق المبلغ. أي ياتي بالمبلغ من االخزينة. و الكود يعمل جيدا حسب هذا

image.png.11ee29cad40f088a3c59bc2a9bd7da1c.png

و هذه من التقرير 

رimage.png.2bb3d139b4efea5ab2b4f3c365dad54d.pngو هذه  من الخزينة.  

image.png.60206817169b0714da78d93b7162c46a.png

 

و هذا عند تنفيذ الكود مثلا للمورد 1.. يطهر العمليات ما ببين التاريخيين . يعمل عادي.

 

image.png.b71b041a53029cf08a88fc13296d8063.png

رابط هذا التعليق
شارك

  • أفضل إجابة

تفضل أخي

جلب المبلغ فقط حسب التاريخ في العمود A بدون تكرار.

اختر من الخلية d1  عميل أو مورد ثم اضغط على جلب

شيت حسابات (1).xlsm

  • Like 1
رابط هذا التعليق
شارك

تسلم استاذى 

لكن يوجد ملحوظة 

عند وجود مبلغ فى الخزينة فى تاريخ ليس به فاتورة مبيعات او فاتورة مشتريات لا يستدعى المبلغ 

من فضلكم التعديل البسيط ده 

عند سداد مبالغ فى الخزينة وليس امامها فاتورة مبيعات او موردين لا تستعدى المبلغ فى التقرير

رابط هذا التعليق
شارك

اريد فقط احضار المبيعات عند اختيار العملاء وايضا اختيار ما تم دفعه من العملاء للخزينة سواء تاريخ او رقم الاذن او المبلغ وكل اذن وتاريخ ومبلغ فى صف بمفرده واسفل منه رتاريخ الفاتورة ورقم الفاتورة والاصناف والكمية والمبلغ 

كشف حساب عميل او مورد بكل تفاصيله

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information