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

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

قام بنشر

اخوانى الاعزاء

السلام عليكم ورحمة الله وبركاته

ارجو القاء نظرة على الكود التالى

الكود يعمل فى وجود المتغيرات الثلاثة طبيعى

سؤالى هو اذا غاب التاريخ من الى لماذا لا يبحث عن المتغير الاساسى

اشكركم

سعد عابد

Sub report1()


On Error Resume Next


Application.ScreenUpdating = False


For R = 5 To Sheets("مشتريات").[b10000].End(xlUp).Row


If Sheets("مشتريات").Cells(R, 6) = Sheets("report").[c3] Then


If Sheets("مشتريات").Cells(R, 5) >= Sheets("report").[g3] Then


If Sheets("مشتريات").Cells(R, 5) <= Sheets("report").[j3] Then


With Sheets("report").[b10000].End(xlUp)


.Offset(1, 0) = Sheets("مشتريات").Cells(R, 2)


.Offset(1, 1) = Sheets("مشتريات").Cells(R, 3)


.Offset(1, 2) = Sheets("مشتريات").Cells(R, 4)


.Offset(1, 3) = Sheets("مشتريات").Cells(R, 5)


.Offset(1, 4) = Sheets("مشتريات").Cells(R, 7)


.Offset(1, 5) = Sheets("مشتريات").Cells(R, 8)


.Offset(1, 6) = Sheets("مشتريات").Cells(R, 9)


.Offset(1, 7) = Sheets("مشتريات").Cells(R, 10)


End With


End If


Next


Application.ScreenUpdating = True


End Sub


قام بنشر

السلام عليكم و رحمة الله وبركاته

اخي سعد فين الملف

انته هنا حددت قيمة تاريخ البداية و النهاية

لذلك في حال ترك الخانتين فارتين سوف يعتبر التاريخ 0 صفر

اذا سوف يبحث عن التاريخ اكبر من او يساوي صفر الى تاريخ اضر من او يساوي صفر

طيب ايه الحل

تعطية شرط الذا كان خانة من تاريخ فارغة او تساوي صفر اذا تأخذ اصغر قيمة تاريخ موجودة في شيت مشتريات

و

تعطيه شرط اذا كان خانة الى تاريخ فارة او تساوي صفر اذا تأخذ اكبر قيمة تاريخ موجودة في شيت مشتريات

هل هذا واضح

قام بنشر

اخى فى الله احمد زمان(ابوابراهيم)

اولا وحشنا اسال الله ان يجمعنا فى جنة الخلد انشاء الله

درس جميل جدا ومعلومات قيمة

لكن حاولت وفشلت واليك الملف

report.rar

قام بنشر

السلام عليكم

تم تعديل الكود ليصبح


Sub report1()

Application.ScreenUpdating = False

On Error Resume Next

Set Mysh = Sheets("مشتريات")

Range("B7:H47").ClearContents

If [F3] = "" Then DateFrom = CDate(Application.Min(Mysh.[E5:E20])) Else DateFrom = [F3]

If [I3] = "" Then DateTo = CDate(Application.Max(Mysh.[E5:E20])) Else DateTo = [I3]

'========================================================

For r = 5 To Mysh.[b10000].End(xlUp).Row

If [C3] = Mysh.Cells(r, 6) And Mysh.Cells(r, 5) >= DateFrom And Mysh.Cells(r, 5) <= DateTo Then

Mysh.Cells(r, 2).Resize(1, 7).Copy Range("B" & [b10000].End(xlUp).Row + 1)

   End If

  Next r

Set Mysh = Nothing

End Sub

قام بنشر (معدل)

السلام عليكم

ربما هكذا


Sub report1()

On Error Resume Next

Dim A As Range, B As Range

Application.ScreenUpdating = False

Set A = Sheets("report").[G3]

Set B = Sheets("report").[J3]

For R = 5 To Sheets("مشتريات").[b10000].End(xlUp).Row

If Sheets("مشتريات").Cells(R, 6) = Sheets("report").[c3] Then

If Sheets("مشتريات").Cells(R, 5) >= A And Not IsEmpty(A) Then GoTo 0

If Sheets("مشتريات").Cells(R, 5) <= B And Not IsEmpty(B) Then GoTo 0

With Sheets("report").[b10000].End(xlUp)

.Offset(1, 0) = Sheets("مشتريات").Cells(R, 2)

.Offset(1, 1) = Sheets("مشتريات").Cells(R, 3)

.Offset(1, 2) = Sheets("مشتريات").Cells(R, 4)

.Offset(1, 3) = Sheets("مشتريات").Cells(R, 5)

.Offset(1, 4) = Sheets("مشتريات").Cells(R, 7)

.Offset(1, 5) = Sheets("مشتريات").Cells(R, 8)

.Offset(1, 6) = Sheets("مشتريات").Cells(R, 9)

.Offset(1, 7) = Sheets("مشتريات").Cells(R, 10)

End With

End If

0:

Next

Application.ScreenUpdating = True

End Sub

تم تعديل بواسطه عباد
قام بنشر

اخى وحبيبى فى الله

ابواحمد عبدالله المجرب

اشكرك كل الشكر كل يوم بنتعلم منك شئ جديد

بارك الله فيك

شكرا لك وجزاك الله خيرا

اخى وحبيبى ابونصار

احسن انك لم ترى الرد

علشان اعرف ان هناك اخوة فى الله هم كثر خلفى يساعدونى

اشكرك لانك عدلت الكود لكى افهم الخطأ فين

بارك الله فيكم

سعد عابد

قام بنشر

ولإثراء الموضوع

عدل الاسطر التالية:


If Sheets("مشتريات").Cells(R, 6) = Sheets("report").[c3] Then

If Sheets("مشتريات").Cells(R, 5) >= Sheets("report").[g3] Then

If Sheets("مشتريات").Cells(R, 5) <= Sheets("report").[j3] Then

عدلها الى:

If IIf(Sheets("report").[c3] = "", 1, Sheets("مشتريات").Cells(R, 6) = Sheets("report").[c3]) Then

If IIf(Sheets("report").[g3] = "", 1, Sheets("مشتريات").Cells(R, 5) >= Sheets("report").[g3]) Then

If IIf(Sheets("report").[j3] = "", 1, Sheets("مشتريات").Cells(R, 5) <= Sheets("report").[j3]) Then

قام بنشر

السلام عليكم و رحمة الله وبركاته

اخي سعد

مين قدك ياعم

وصلك الحل من 3 عباقرة

كل التحية والتقدير للجميع

اخي الحبيب ابو احمد

اخي العزيز ابو نصار

الأستاذ الفاضل صاحب الفضل الخالدي

قام بنشر

اخى احمد زمان

فعلا عندك حق وانا والله اشكرك كل الشكر على معلوماتك التى تعلمها لى ولغيرى

المساعدين كثر وهم اهل فضل

اشكركم جميعا

الاستاذ الخالدى

شكرا لك فهمت من تعديلك وتعديل ابونصار الكثير

اشكرك اخى الف شكر

سعد عابد

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information