اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

احبائى فى الله

تحية طيبة وبعد

برجاء مساعدتى فى ايجاد كود خاص باستدعاء بيانات من ورقة اكسيل بحيث انى اكتب مثلا اريد البيانات كلها من الفترة 1-9-2012 الى 20-9-2012 فيقوم باحضارها ... وعند تحديد اى فترة يقوم باستدعائهااا

وهل يمكن ان استدعى بيانات من اكثر من ورقة ... مثلا اذا كان ورقة رقم 1 هى خاصة بشهر 9 وورقة رقم 2 خاصة بشهر 10 فاذا اردت استدعاء فترة من 20-9-2012 الى 20-10-2012 هل يمكن تنفيذ ذلك ..

ولكم منى خالص الامنيات بالتوفيق وزادكم الله من علمة واكرمكم كثيرا

Book1vv.rar

قام بنشر

أخي العزيز mosha14

شرحك للمطلوب واضح جداً وهو إن شاء الله ممكن

وإخواننا خبراء الأكواد لن يقصروا معك إن شاء الله

بس الملف المرفق لا يعبر عمما طلبته في الشرح

فاقترح عليك عمل ملف آخر تضع فيه عدة أوراق وتسميها بأسماء الأشهر المطلوب استدعاء بياناتها وتضع فيها بيانات معينة كمثال

ثم تحدد الورقة المطلوب استدعاء البيانات إليها وفترة الإستدعاء من وإلى

وتحدد البيانات المطلوب استدعائها بالضبط من تلك الأشهر

والعفو

تقبل تحياتي

قام بنشر

أخي العزيز mosha14

شرحك للمطلوب واضح جداً وهو إن شاء الله ممكن

وإخواننا خبراء الأكواد لن يقصروا معك إن شاء الله

بس الملف المرفق لا يعبر عمما طلبته في الشرح

فاقترح عليك عمل ملف آخر تضع فيه عدة أوراق وتسميها بأسماء الأشهر المطلوب استدعاء بياناتها وتضع فيها بيانات معينة كمثال

ثم تحدد الورقة المطلوب استدعاء البيانات إليها وفترة الإستدعاء من وإلى

وتحدد البيانات المطلوب استدعائها بالضبط من تلك الأشهر

والعفو

تقبل تحياتي

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

قام بنشر

جزاك الله كل خير استاذ ابو حنين ,,, مجهود رائع ,, ربنا يكرمك بس لو امكن ننفذ نفس الفكرة بس بكود بدل المعادلات يكون اكثر روعة من حضرتك

قام بنشر

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

بارك الله بالأستاذ الفاضل أبو حنين

وهنا كود لأكثر من ورقة حسب فترة


Sub AL_KHALEDI()

L = Cells(Rows.Count, "C").End(xlUp).Row

Set Rn1 = Range(Cells(4, "C"), Cells(L, "C"))

Rn1.Offset(0, 1).ClearContents

For r = 1 To Rn1.Rows.Count

x = 0

For d = 0 To [D3] - [E3]

	 Set Rn2 = Sheets("" & "شهر " & Month([E3] + d))

	 L = Rn2.Cells(Rows.Count, "C").End(xlUp).Row

	 Set Rn2 = Range(Rn2.Cells(5, "C"), Rn2.Cells(L, "C"))

	 m = Application.Match(Rn1(r, 1), Rn2, 0)

	 If Not IsError(m) Then

		 x = x + Rn2(m, 1 + Day([E3] + d))

	 End If

Next d

Rn1(r, 2) = x

Next r

Set Rn1 = Nothing: Set Rn2 = Nothing

End Sub

استدعاء بيانات لفترة.rar

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

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

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

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

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

لا يعتمد الكود عند تجميع اوراق الشهر على التاريخ في الصف 3 , لكن الكود يعتبر اليوم الاول للشهر في العمود D واليوم الثاني في العمود E واليوم الثالث في العمود F وهكذا

بالنسبة لإضافة اوراق فيمكن اضافة اوراق بأشهر السنة , اما في حالة اضافة اشهر ولعدة سنوات فيجب ان يتضمن اسم الورقة الشهر والسنة واضافة دالة للكود لتحديد السنة.

  • 2 weeks later...
قام بنشر

جرب الكود التالي على اكسل 2007 فما فوق


Sub AL_KHALEDI()

With Sheets("البيانات")

Set Rn = Range(.Cells(4, 2), .Cells(Rows.Count, 2).End(xlUp))

Set Rn = Union(Rn, Range(.Cells(4, 12), .Cells(Rows.Count, 12).End(xlUp)))

End With

For A = 1 To 2

With Rn.Areas(A)

c1 = IIf(A = 1, 0, -1): c2 = IIf(A = 1, 0, 5)

For r = 0 To 1

	 Y = IIf(r = 0, "س", "م")

	 Cells(14 + r, 3 + c2) = Application.CountIfs( _

	 .Columns(1), Y, _

	 .Columns(4 + c1), ">=" & [A9] * 1, _

	 .Columns(4 + c1), "<=" & [B9] * 1, _

	 .Columns(5 + c1), "*")

	 For C = 0 To IIf(A = 1, 4, 5) - 1

		 Cells(14 + r, 4 + C + c2) = Application.SumIfs( _

		 .Columns(6 + C + c1), _

		 .Columns(1), Y, _

		 .Columns(4 + c1), ">=" & [A9] * 1, _

		 .Columns(4 + c1), "<=" & [B9] * 1)

	 Next C

Next r

End With

Next A

Set Rn = Nothing

End Sub

قام بنشر

جرب الكود التالي على اكسل 2007 فما فوق


Sub AL_KHALEDI()

With Sheets("البيانات")

Set Rn = Range(.Cells(4, 2), .Cells(Rows.Count, 2).End(xlUp))

Set Rn = Union(Rn, Range(.Cells(4, 12), .Cells(Rows.Count, 12).End(xlUp)))

End With

For A = 1 To 2

With Rn.Areas(A)

c1 = IIf(A = 1, 0, -1): c2 = IIf(A = 1, 0, 5)

For r = 0 To 1

	 Y = IIf(r = 0, "س", "م")

	 Cells(14 + r, 3 + c2) = Application.CountIfs( _

	 .Columns(1), Y, _

	 .Columns(4 + c1), ">=" & [A9] * 1, _

	 .Columns(4 + c1), "<=" & [B9] * 1, _

	 .Columns(5 + c1), "*")

	 For C = 0 To IIf(A = 1, 4, 5) - 1

		 Cells(14 + r, 4 + C + c2) = Application.SumIfs( _

		 .Columns(6 + C + c1), _

		 .Columns(1), Y, _

		 .Columns(4 + c1), ">=" & [A9] * 1, _

		 .Columns(4 + c1), "<=" & [B9] * 1)

	 Next C

Next r

End With

Next A

Set Rn = Nothing

End Sub

جرب الكود التالي على اكسل 2007 فما فوق

Sub AL_KHALEDI()

With Sheets("البيانات")

Set Rn = Range(.Cells(4, 2), .Cells(Rows.Count, 2).End(xlUp))

Set Rn = Union(Rn, Range(.Cells(4, 12), .Cells(Rows.Count, 12).End(xlUp)))

End With

For A = 1 To 2

With Rn.Areas(A)

c1 = IIf(A = 1, 0, -1): c2 = IIf(A = 1, 0, 5)

For r = 0 To 1

	 Y = IIf(r = 0, "س", "م")

	 Cells(14 + r, 3 + c2) = Application.CountIfs( _

	 .Columns(1), Y, _

	 .Columns(4 + c1), ">=" & [A9] * 1, _

	 .Columns(4 + c1), "<=" & [B9] * 1, _

	 .Columns(5 + c1), "*")

	 For C = 0 To IIf(A = 1, 4, 5) - 1

		 Cells(14 + r, 4 + C + c2) = Application.SumIfs( _

		 .Columns(6 + C + c1), _

		 .Columns(1), Y, _

		 .Columns(4 + c1), ">=" & [A9] * 1, _

		 .Columns(4 + c1), "<=" & [B9] * 1)

	 Next C

Next r

End With

Next A

Set Rn = Nothing

End Sub

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

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

قام بنشر

تجربة الكود ولكن الكود يقوم بجمع كامل القادمين والمغادرين للدولتين اي لا يفرزهما

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

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

اخي الكريم

الكود يقوم بجمع القادمين في خلايا القادمين والمغادرين في خلايا المغادرين ولكل دولة على حدى

مرفق الكود مع الملف

في حال كانت النتائج غير صحيحة ارجوا توضيح المطلوب بدقة مع تحديد النتيجة المفترضة

في امان الله

ST2.rar

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

تم تجربة الكود وكان رائعاً كصانعة

سلمت يداك وجزاك الله الف خير. بالنسبة للعمود " C " هو عامود زائد ومشوه منظر البرنامج هل يمكنني حذفه .

واخيراً لم يتبقى على اكتمال البرنامج الا

عمل فورم لادخال البيانات و

شاشة دخول متعدد الصلاحيات لعدد 8 مستخدمين

هل يمكنك مساعدتي

مرفق البرنامج مع محاولتي عمل فورم لادخال البيانات ولكن لم اوفق في ذلك

وتقبل شكري وتقديرعلى المجهود الذي بذلته.

ST2 (version 1).rar

قام بنشر

مرفق تعديل للكود بعد حذف العمود C

اذا كان لك استفسار سارد عليك بعد عودتي من سفر لعدة ايام

وبخصوص : عمل فورم لادخال البيانات و شاشة دخول متعدد الصلاحيات لعدد 8 مستخدمين

لم يسبق لي التعامل مع هذه الاكواد وستجد من الاخوة كل التعاون

في امان الله

ST2 (version 2).rar

قام بنشر

استاذ : الخالدي

سلمت وسلمت يداك

ارجو ان تعطينا مثال لو كانت البيانات رأسية اي ان التاريخ في عامود واحد وكان المطلوب حصر الصفوف التي تفي بالغرض بين التاريخين - الميلادي - وجمع بياناتها اسفل البيانات

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