نجوم المشاركات
Popular Content
Showing content with the highest reputation on 09/04/16 in all areas
-
استعمل هذا الكود Sub MyNmbr() Dim x As Integer, i As Integer x = 1 For i = 2 To Range("a1").Value * 3 Step 3 Cells(i, 3) = x x = x + 1 Next End Sub3 points
-
3 points
-
ما شاء الله تبارك الله كفيتم ووفيتم كتب الله لكم الأجر وغفر لكم الذنب وأعانكم لكل خير عظيم الشكر وجزيل الامتنان لكم ..3 points
-
السلام عليكم ورحمة الله وبركاته اكتب هذه المعادلة فى الخلية H3 =IF(OR($D3:$G3="ح");"ح";IF(OR($D3:$G3="غ");"غ";SUM($D3:$G3))) ثم اضغط على CRTL + ALT + SHIFT ثم اسحب نزولا3 points
-
أخي الكريم سيد يرجى وضع عناوين مناسبة ومعبرة عن الطلب ..بارك الله فيك قم بالتالي : انسخ الكود لموديول جديد والصقه في الموديول .. في ورقة العمل المسماة "قوائم" وفي الخلية D1 ضع الصف المطلوب جلب القوائم له وليكن الرقم 1 للصف الأول في نفس ورقة العمل وفي الخلية المجاورة في الخلية E1 ضع الفصل المطلوب جلب القوائم له وليكن 1 أيضاً أي 1 / 1 ... ثم ارسم زر أمر واعمل كليك يمين عليه ثم Assign Macro واختر اسم الماكرو Test ليكون مرتبط بالتنفيذ .. انقر على زر الأمر لتنفيذ الكود ..وياريت تراجع النتائج بشكل جيد الكود من هنا تقبل تحياتي2 points
-
تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة طلب كود ترحيل تم ارفاق كود الحل من الفاضل ا / ياسر خليل أبو البراء و لا تنسونا من صالح الدعاء تحياتى رابط الملف من هنا2 points
-
السلام عليكم اخي عمر ، ان حجم الملفات مرتبط بالمجموعة و ليس لكل عضوية ، تم النقل لمجموعة المشرفين السابقين ، و هي حاليا ليس لديها صلاحيات ادارية و لكن حجم التحميل اكبر.2 points
-
شوف الرابط التالي لتعرف كيفية التحميل .. من هنا2 points
-
ديدو نازل أسئلة في كل حاجة في موضوع واحد .. ممكن نسميه الموضوع الجامع لكل استفسارات أحمد ديدو ... راجع التوجيهات وخلي كل سؤال بموضوع مستقل ، مع استيفاء الشروط من إرفاق ملف وتوضيح تام للطلب ..2 points
-
2 points
-
السلام عليكم اعتذر على التقصير فى المتابعة على ارض الواقع للجميع ، و نظرا لعدم توجدي بشكل تفصيلي فى كافة الاقسام ، فالترقيات تتم بناء على ترشيحات من الاخوة القائمين على الافسام المختلفة و المراقبين ، و تناقش فى قسم فريق الموقع قبل التنفيذ ، و هذا يحدث الان ، و سيتم التواصل مع من سيتم ترشيحهم من الاخوة خلال ايام. الانضمام الي فريق الموقع هو تطوع و مشاركة فى جهد اداري اضافي ، و عن نفسي اعبره تطوع اضافي بشكل اكبر من كونه ترقية، حيث ان بقاء صلاحيات المشرف مرهون برغبته فى الاستمرار فى المشاركة فى الجهد الاداري. و فى الحقيقة حين لا يتمكن المشرف من القيام به يتم نقله من مجموعة المشرفين الي مجموعة اخرى تضم فريق الموقع السابق جتى لا تتواجد صلاحيات ادارية مع عدد كبير فى نفس التوقيت مما قد يحدث نوع من التضارب فى تثبيت المواضيع و خلافه. و قد حدث اكثر من مرة ان ترك احد الاخوة الاشراف ثم عاد للمشاركة به حين سمحت ظروفه و ذلك بحسب الية الترقيات المتفق عليها و المثبتة فى القسم المفتوح. العناوين الغير واضحة هي مسؤولية مشتركة، فالحالة المثالية يندر حدوثها و هي ان يقرأ العضو الجديد القواعد جيدا قبل المشاركة. و طبعا هذا نادرا ما يحدث و عليه فيتم التنبيه من المشرف مرة او اثنان مع التعديل، فليس من المفترض ان يستمر عضو نفس الخطأ عدة مرات بعد تنبيهه و تعديل العنوان ، و فى بعض الاقسام الاخرى يتم اغلاق الموضوع مع كتابة السبب اذا تكرر نفس الخطأ. أخي ابو تامر ، أرحب بعودتك للمشاركة ، و اذا تُفضل ضم الحساب القديم للحساب الحالي ، ارجو اخباري. (هل رقم الهاتف القديم مازال كما هو ؟) و اذا غيرت رأيك مستقبلا فى أي وقت بخصوص الاشراف و رغبت فى المساهمة مرة أخرى فارجو اخباري.2 points
-
لسلام عليكم موعدكم شبه الأسبوعى مع شروح أكسيس الاحترافية هذه المرة الفيديو ليس احترافيا بل هو فيديو أساسى لمن يريد تصميم قاعدة بيانات قوية البنيان يمكنك أن تعرف متفرقات كثيرة فى أكسيس لكن بدون ما تتعلمه من هذين الفيديوهين تبقى دائرا في حلقة مفرغة هما فيديوهان الأول تفكير خارج أكسيس بهدوء قبل الدخول بشاشة أكسيس ==== وصف الفيديو بصندوق الوصف بيوتيوب== الكنز فى تصميم قاعدة البيانات الإطار النظرى لقاعدة البيانات قبل فتح الأكسيس بعد فهم هذا الفيديو و السابق له ستقطع خطوات كبيرة فى فهم الأكسيس راجع الفيديو الثانى العملى ===== الفيديو النظرى الأول الثانى1 point
-
السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله مع التحديث الجديد .. للأسف لم أجد التوجيهات التي تم وضعها من قبل ، وهذه القواعد والأسس هامة جداً ليدرك الأعضاء كيفية التعامل مع المنتدى طبعاً الموضوع سيكون متجدد .. سيتم وضع القواعد مرة أخرى فالرجاء الرجاء أن تساعدوني في اتمام الأمر .. كل عضو يذكرني بتوجيه من هذه التوجيهات ليتم إرساء القواعد ، إذ أن نجاح أي مؤسسة يعتمد في المقام الأول على قواعد ومنهج ثابت للسير على دربه التوجيهات والقواعد التي يجب مراعاتها التوجيه الأول : قبل طرح موضوع جديد يتعلق بطلب محدد يرجى استخدام خاصية البحث أولاً ، فإذا لم يجد طارح الموضوع بغيته ، فعليه أن يقوم بطرح موضوع جديد ، وفي هذه الحالة على طارح الموضوع أن يعلم أن حسن السؤال شطر الإجابة ، فاللباقة واللياقة والكياسة من الصفات التي يجب أن يتحلى بها طالب العلم. التوجيه الثاني : عند طرح موضوع جديد ، يتم وضع عنوان مناسب للطلب بحيث يفهم الطلب قبل الإطلاع عليه ، وعلى طارح الموضوع أن يبتعد عن العناوين الغير مجدية مثل : ( طلب مساعدة - الرجاء المساعدة - ساعدوني من فضلكم - عاجل وهام - الحقوني - نداء للعباقرة - نداء للعمالقة - إلى آخر تلك العناوين ...) ، وأمر آخر ألا يكون العنوان على شكل سؤال أو طلب .. نبتعد عن كلمة "طلب" مثال تطبيقي : نفترض أنني أريد معادلة تجمع القيم في عمودين العنوان المناسب للطلب يكون بهذا الشكل : معادلة جمع القيم في عمودين والنتائج في عمود آخر التوجيه الثالث : أن يتم توضيح المطلوب بالموضوع بشكل يزال معه أي لبس ، وفي نفس الوقت يراعى الإجمال في الطلب ، فأقصر الخطوط هو الخط المستقيم ، بمعنى "لا إطالة مملة ولا اختصار مخل" ، أي لا يكون طرح الموضوع مختصر للغاية بل يجب أن يستوفي جميع العناصر المطلوبة ، ومن ضمنها أن يحدد طارح الموضوع هل الحل المطلوب بالمعادلات أم بالأكواد أم بكلاهما لتكون الأمور واضحة بالنسبة لمن يريد تقديم المساعدة ، وأن يقوم صاحب الموضوع بإرفاق ملف به بيانات وهمية لتوضيح طلبه وللوصول إلى حل سريع ودقيق ، وإذا صعب على طارح الموضوع شرح المطلوب يمكنه إرفاق بعض النتائج المتوقعة كي يسهل الوصول لحل. التوجيه الرابع : نلاحظ أن شكل المنتدى لا يعجب معظم الأعضاء ، فلما لا نغير بأيدينا الشكل العام للمشاركات ، فيفضل على سبيل المثال استخدام حجم خط كبير 22 على سبيل المثال وجعل الخط عريض Bold مما يجعل المشاركة واضحة ومقروءة بشكل جيد ، كما يمكن استخدام الألوان أي قم بتنسيق المشاركة بشكل جذاب يجعل القاريء لا ينفر منها. التوجيه الخامس : بعد الانتهاء من الموضوع والوصول لحل يرضي صاحب الموضوع ، يرجى أن يتم تحديد أفضل إجابة من خلال النقر على علامة الصح الموجودة بجانب كل مشاركة ، وأن يسجل صاحب الموضوع إعجابه من خلال النقر على "سجل اعجاب بهذا" كنوع من رد الجميل لمن قدم المساعدة ، ويمكن أيضاً أن يقوم بتقييم المشاركة تقييم إيجابي كنوع من التقدير ، وأن تشكر من قدم المساعدة فمن لم يشكر الناس لا يشكر الله. فيما يخص لو كان هناك أكثر من إجابة للموضوع ، يمكن لصاحب الموضوع عمل مشاركة جديدة يجمع فيها كل الحلول ويختار هذه المشاركة كأفضل إجابة التوجيه السادس : لا تكن لحوحاً ، يكفي أن أعضاء المنتدى يقدمون وقتهم و خبرتهم مقابل لا شيء وعندهم أعمال أخرى (مشاغلهم الخاصة) يقومون بها ، و إذا تأخر الرد ، فمن الممكن أن يكون أحد الأعضاء يقوم بمحاولة الإجابة ، وهذا يستغرق بعض الوقت خاصةً إذا كان الموضوع صعباً. التوجيه السابع : حمل الملف المرفق دون زركشات (ألوان و تنسيقات مختلفة) مما يزيد من حجم الملف و أحياناً تكون الألوان مقززة بشكل ينفر منها المساعد (خاصةً إذا كانت ألوان الخلايا غير متناسقة مع لون الخط) التوجيه الثامن : تأكد أن الملف المرفوع غير مصاب بفيروس و غير محمي بكلمة سر ، وإلا لن تجد المساعدة من قبل الأعضاء. التوجيه التاسع : متابعة صاحب الموضوع لموضوعه والتفاعل معه ، فلا يعقل أن يطرح أحدهم موضوع ولا يتابعه إلا بعد مرور وقت طويل ، فهذا يعد من اللامبالاة الغير مرغوب فيها ، والتي تنفر الجميع من العضو. التوجيه العاشر : عدم التسجيل في المنتدى بأكثر من حساب ، وأن يكون اسم الظهور باللغة العربية ومعبر عن الاسم الحقيقي أي (تعريب اسم العضو) ، فلا يجوز أن يكون اسم الظهور اسم واحد وفقط بل أن يكون ثنائي على الأقل أو أن يكون اسم ولقب ، ولذا يرجى عدم استخدام الأسماء المستعارة أو الأسماء باللغة الأجنبية ، فاللغة العربية هي هويتنا ولابد من الحافظ عليها. ** يتم تغيير اسم الظهور أو اسم المستخدم من خلال إعدادات الحساب ثم التبويب اسم المستخدم ، قم بتغيير الاسم ثم انقر كلمة حفظ التوجيه الحادي عشر : عدم طرح أكثر من موضوع لنفس الطلب من نفس العضو ، فهذا يعد مخالفة صريحة ، وليعلم العضو الذي يقوم بذلك أن تكرار الموضوع لن يجدي نفعاً في حالة عدم توضيحه للمطلوب. وفي حالة أن قام العضو بذلك عن طريق الخطأ يقوم العضو بالتنويه في الموضوع وطلب حذف الموضوع نظراً لتكراره. التوجيه الثاني عشر : على من يقدم المساعدة أن يكون مثالاً يحتذى به في العطاء والصبر والحلم وكرم الأخلاق وحسن الإجابة ، يجتذب بتلك الصفات عقول الآخرين وأفئدتهم التوجيه الثالث عشر : عند طرح موضوع يفضل أن يكون هناك طلب واحد فقط إذ أن الموضوع الذي تكثر فيه الطلبات ينفر الأعضاء الذين يريدون تقديم يد المساعدة ، وعلى رأي المثل (من يطارد عصفورين يفقدهما) فما بالك لو طاردت أكثر من طلبين أقصد أكثر من عصفورين ، يمكنك أن تتعامل بذكاء بأن تطرح الموضوع بطلب واحد حتى إذا تم على خير قم على الفور بطرح موضع جديد بطلب جديد وهكذا إلى أن يتم الأمر التوجيه الرابع عشر : يرجلا عدم إرسال رسائل خاصة للأعضاء لطلب المساعدة بشكل شخصي ، لأن هذا الأمر يضايق الكثير من الأعضاء ، وتأكد أن العضو إذا كان لديه معلومة أو يستطيع أن يفيد بشيء ووقته يسمح بذلك فلن يتأخر عنك ، يكفي أن تكتب كلمة "للرفع" في موضوعك ، ليشاهده أكبر عدد من الأعضاء. ** كيفية رفع الصور في المشاركات : ******************************* دمتم على طاعة الله1 point
-
سلام عليكم عود على بدء بشرى للمبتدئين في أكسيس سنبدأ إن شاء الله سلسلة شروح جديدة نركز فيها على الأساسيات فى أكسيس و موضوعات مهمة للمبتدئين و ربما للمتوسطين و أرجو من الله أن تنتفعوا بها أبدأ اليوم بما يسمى حقول البحث فى أكسيس و مكانها الصحيح فى البرنامج وفقكم الله https://m.youtube.com/watch?v=Zl7jU0Q195o _________1 point
-
1 point
-
السلام عليكم ورحمة الله تعالى وبركاته كل عام وانتم الى الله اقرب http://store1.up-00.com/2016-09/147276120351.swf1 point
-
الأخ الكريم فايز فراج السلام عليكم تم انشاء صفحة جديدة باسم رصد الدور الثانى يتم الترحيل لها . عسى ان يكون هذا هو المطلوب abo_abary_الصف الأول الإبتدائي 2016.rar1 point
-
وعليكم السلام أخي الكريم عند طرح موضوع يجب شرح المطلوب في الموضوع نفسه حتى يتسنى للأخوة معرفة ما إذا كان لديهم علم بالموضوع أو لا .. راجع التوجيهات التي في صدر المنتدى1 point
-
بعد اذن اخي ابو حنين نفس العمل لكن بالمعادلات ضع هذه المعادلة في الخلية D2 واسحب نزولاً =IF(MAX($D$1:D1)+1>$A$1,"",IF(MOD((ROWS($A$1:A1)-1),3)<>0,"",MAX($D$1:D1)+1)) للتوضيح المرفق في الحالة العامة (المرفق ) يجب وضع هذه المعادلة في الخلية D2 عندها يمكن تغيير القيمتين في A1 & F1 =IF(MAX($D$1:D1)+1>$A$1,"",IF(MOD((ROWS($A$1:A1)-1),$F$1+1)<>0,"",MAX($D$1:D1)+1)) تسلسل الى salim.rar1 point
-
مزيد من التوضيح لتجد استجابة أفضل وضح المطلوب بالصور .. لايوجد شيت اسم "شيت دور ثاني" ..إنما يوجد ورقة عمل باسم "شيت" وورقة باسم "دور ثاني" ..أيهما الورقة المصدر وما هي شروط الترحيل؟ وفي أي عمود يقع شرط الترحيل؟ وما هي الورقة الهدف ؟ وفي أي صف ستكون النتائج ....؟؟ رغم أنه من الممكن تخمين المطلوب إلا أنني أفضل دائماً تفصيل المسألة بشكل دقيق ... أرجو ألا تنزعج من ذلك الأمر1 point
-
الأخ الكريم عمر ضاحى السلام عليكم جرب المعادلة التالية ضعها فى c9 واسحبها نزولا =SUMPRODUCT(--('ALL-INF'!$I$3:$I$1000=Final!D9)*--('ALL-INF'!$E$3:$E$1000)) abo_abary_Sample.rar1 point
-
استعمل هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 6 Then If Target.Row > 9 And Target.Row < 61 Then Target.Offset(, 3).Value = Target.Offset(, 2).Value * Target.Value [H61] = Application.WorksheetFunction.Sum(Range("I10:I60")) [H64] = [H61] + [H62] - [H63] End If End If End Sub1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته رابط آخر على الميديا فاير http://www.mediafire.com/download/6996qz5l077zqc1/العيادة.accdb للدخول لقاعدة البيانات 123 جزاكم الله خيراً1 point
-
السلام عليكم ورحمة الله تعالى وبركاته اخى الحبيب عند محاولة التحميل ظهرت لى الرسالة الاتية تحتاج إلى إذن هل تريد الدخول؟ اطلب من المالك الدخول أو بدّل إلى حساب له إذن الدخول. اعرف المزيد أنت مسجّل الدخول باسم cai.me80914@gmail.com.1 point
-
السلام عليكم : توجد لدي مشكلة بتحميل الملف1 point
-
1 point
-
ياسر خليل أبو البراء عادل ابوزيد الاخوه الافاضل بارك الله فيكم و انعم الله عليكم من بركاته فى هذه الايام المباركه اللهم ارحم و اغفر لأخونا عماد الحسامى و اجعل جميع اعماله فى ميزان حسناته و اللهم اغفر لجميع موتى المسلمين اللم اشفى جميع مرضى المسلمين شفاءً لا يغادر سقماً1 point
-
الشكر للجميع علي ما قدموه من جهد رائع ومميز الاستاذ سليم حصابيا المرفق ليس به فيرس الا ان التنشيط من خلال الكراك يحدث تلك المشكلة بالنسبة فكرة الاستاذ عمر القوائم ثابتة لاربع فصول لكن الفكرة رائعة اشكرك حل الاستاذ عيد رائع وديناميكي وهو المطلوب والاستاذ ياسر الذى لا يكل ولا يمل مهندس المنتدى وصاحب الخطوط العريضة شكرا على التوضيح لم ارى حل الاستاذ سليم اشكرك حتى اراك1 point
-
1 point
-
1 point
-
1 point
-
اخى الفاضل احمد يرجى وضع كل استفسار بموضوع مستقل مع توضيح العنوان المناسب له لسهوله البحث عنه من قبل الاعضاء وان بحثت قليلا ستجد ما تريد بالمنتدى ارجو ان لا تغضب من كلامى ولكن هذا لمصلحة الجميع تقبل تحياتى1 point
-
جزاك الله كل خير ابو حنين بالنسبه لاخفاء الصفوف الزائده او الاعمده قف على اخر صف او عمود كل على حده حدده ثم كنترول شيفت وسهم لاسفل ان كان صف وان كان عمود سهم للشمال لو الصفحه اتجاها يمين ولو اتجاها شمال يبقى سهم يمين لحاد كده تمام ثم تضغط كليك يمين وتختار اخفاء سيتم اخفاء ما قمت بتحديده بالتوفيق1 point
-
اخوانى واحبابى رابط لشرح سى شارب مع الاكسيل جلب محتوى ملف Excel وعرضه في أداة DataGridView بلغة سي شارب بالتوفيق1 point
-
السلام عليكم محاولة اتمنى ان يكون المطلوب واتمنى من الاخوة ان يبسط المعادلة المصنف1.rar1 point
-
يمكنك أن تقوم بعملية فلترة للتاريخ ولكن رجاءً ضع بيانات في الملف المرفق فيما لا يقل عن 15 أو 20 صف للعمل عليها ولتجربة الكود اللازم .. وسؤال هل هناك شروط أخرى غير التاريخ الموجود في الخلية B3؟؟ وهل تريد إزالة الفلترة بعد الطباعة أم تريد الفلترة فقط ... وزر الطباعة سيكون مخصص له زر آخر؟1 point
-
الأخ محمد ربما يفيدك الملف التالي إلى حين إرفاق ملفك الأصلي ولكن الفكرة واحدة حيث يتم كتابة التاريخين ، وإذا كان تاريخ واحد يكتب التاريخ في الخليتين ...ثم يتم جلب البيانات وإعداد التقرير Report Data Between Two Dates.rar1 point
-
1 point
-
اللهم ارحم امواتنا واموات المسلمين وتغمدهم اللهم برحمتك الواسعة واحسن اليهم باحسانك وانعم عليهم بنعمك يا كريم ونقهم من الذنوب والخطايا كما ينقى الثوب الابيض من الدنس اللهم امين يا رب العالمين اخى الحبيب واستاذى العزيز الغالى ياسر نعم الشرح شرحت فاوفيت فشملت ففهمت فتح الله عليك بنعمه وفضله واحسانه وكل عام والاسرة الكريمة بخير وبصحة والستر وجميع اخواننا فى المنتدى والعالم كله1 point
-
السلام عليكم طرحت قبل عدة ايام موضوع كيف يتم حصر ايام الاجازة للموظف . ولم احصل على جواب . ولا يعتبر هذا تقصير من قبل الاخوة الاعضاء وذلك لمشاغلهم الكثيرة ربي يعينهم على قضاء جميع حوائجهم . ولماذا لا يعتبر هذا تقصير منهم لان كل ما املك من معلومات هو منهم فكيف يبخلون وكل ما نملك منهم وفقهم الله لخدمة اخوانهم . احبتي بعد الثناء على الله جل في علاه وبحمدة استطعت حل المشكلة بطريقتين الاولى بالماكرو والثانية بطريقة (VB) ولكي تعم الفائدة ارفق لكم الحل مع تمنياتي للجميع بالخير ودمتم في رعاية الله MM.rar1 point
-
شفت لما الموضوع بقا واضح لقيت الحل علطول إزاي ؟؟!! عشان متتعصبش علينا .. وامسك أعصابك يا أبو الفتوح يا روح الروح إليك المعادلة التالية وهي معادلة صفيف (يعني بعد ما تدخل المعادلة في الخلية الهدف قوم بالضغط على 3 مفاتيح مع بعض CTRL + SHIFT + ENTER) والحل دا هيغنيك عن استخدام أعمدة مساعدة =INDEX($D$2:$D$6,MATCH(C12&""&D12,$C$2:$C$6&""&$E$2:$E$6,0)) & "-" & INDEX($F$2:$F$6,MATCH(C12&""&D12,$C$2:$C$6&""&$E$2:$E$6,0)) لو حصل معاك خطأ غير الفاصلة العادية في المعادلة إلى فاصلة منقوطة ... والحمد لله أن تم المطلوب والموضوع على خير1 point
-
إليك الشرح أخي عادل أرجو أن يفي بالغرض وتستفيد منه أنت وغيرك إن شاء الله ولا ننسى أن ندعوا لأخونا الحبيب الغائب عن العين الحاضر في القلب دائماً (عماد الحسامي) ادعو له بالمغفرة والرحمة فهو في دار البقاء ونحن في دار الفناء اللهم اغفر له وارحمه واعف عنه ، واجعل منزلته في الجنة الفردوس الأعلى ، ومتعه بلذة النظر إلى وجهك الكريم يا كريم يا الله والآن مع الكود مشروح بالتفصيل لكل سطر من أسطره رابط الشرح من هنا تقبل تحياتي1 point
-
أخي الكريم عادل أسأل الله العظيم رب العرش العظيم أن يشفي والدك شفاءً لا يغادر سقماً بالنسبة لشرح الكود سأحاول العمل على طلبك في أقرب فرصة إن شاء المولى1 point
-
1 point
-
أخي الحبيب سليم بارك الله فيك وجزاك الله كل خير بينما كنت تقدم الحل لأخونا محمد السباعي كنت منهمك في الكود التالي (الذي تعدى معي حد الجنون ..!! أكثر من ساعة ونصف وربما ساعتين في هذا الكود) هو كود مجنون بحق .. حاولت فيه بقدر المستطاع أن أجعله كون مرن يصلح لأي موضوع شبيه بهذا الموضوع (خصوصاً أن هذا الموضوع يتكرر في كثير من الأحيان) وهو أن يكون هناك ورقة عمل رئيسية بها عمودوالمطلوب ترحيل القيم في هذا العمود إلى الورقة المناسبة ، وأضفنا إليه من قبل إمكانية إنشاء ورقة عمل إذا لم تكن موجودة .. الكود المجنون من العيار الثقيل وأرجو أن يبدي الأعضاء أي ملاحظات عليه لتطويره بحيث يصلح لهذه المشكلة أياً كان شكلها وحجمها وأبعادها ... الكود بالشكل التالي Sub Transfer_Data_Using_Filter_By_List() 'Author : YasserKhalil 'Release : 01 - 09 - 2016 '------------------------ Dim dictPerson As Object, dictSheet As Object, mtx(), isFound As Boolean Dim I As Long, v1 As Variant, v2 As Variant, arr As Variant, arrCol As Variant Dim rng As Range, arrHeader As Variant Dim cnt As Integer, counter As Integer Dim Rc As Long, Gc As Long, Bc As Long '=========================================================================================== 'Column Number To Be Filtered Const iCol As Integer = 5 'Sheet Name (The Source Sheet) Const sSheet As String = "DATA" 'Data Range Including Header Set rng = Sheets(sSheet).Range("A5:E" & Sheets(sSheet).Cells(Rows.Count, iCol).End(xlUp).Row) 'Row Number For Destination Sheets (5 = Row 5) Const destRow As Integer = 5 'Column Number For Destination Sheets (1 = Column A) Const destCol As Integer = 1 'Column Widths For Output Sheets arr = Array(14, 50, 15, 14) 'Columns Order To Be Copied. So Column 4 In Data Sheet To Be Copied To Column 1 To Destination Sheet arrCol = Array(4, 3, 1, 2) 'Columns Order To Be Copied. So Column 4 In Data Sheet To Be Copied To Column 1 To Destination Sheet arrHeader = Array("القيمة", "البيان", "التوجيه المحاسبي", "التاريخ") '=========================================================================================== Application.ScreenUpdating = False mtx = rng.Value Set dictPerson = CreateObject("Scripting.Dictionary") For I = 2 To UBound(mtx, 1) If Not dictPerson.Exists(mtx(I, iCol)) Then dictPerson.Add mtx(I, iCol), mtx(I, iCol) Next I Set dictSheet = CreateObject("Scripting.Dictionary") For I = 1 To Worksheets.Count If Not dictSheet.Exists(Worksheets(I).Name) Then dictSheet.Add Worksheets(I).Name, Worksheets(I).Name Next I dictSheet.Remove (sSheet) For Each v1 In dictPerson isFound = False For Each v2 In dictSheet If v1 = v2 Then isFound = True Exit For End If Next v2 If Not isFound Then If MsgBox(v1 & " Does Not Exist." & vbCrLf & "Create This Sheet ? ", vbOKCancel) = vbOK Then Worksheets.Add After:=Sheets(sSheet) ActiveSheet.Name = v1 ActiveSheet.DisplayRightToLeft = True Else dictPerson.Remove v1 End If End If Next v1 For Each v1 In dictPerson Sheets(v1).Cells.Clear rng.AutoFilter Field:=iCol, Criteria1:=v1 With rng.Offset(1) For counter = LBound(arrCol) To UBound(arrCol) .Columns(arrCol(counter)).SpecialCells(xlCellTypeVisible).Copy Sheets(v1).Cells(destRow + 1, destCol + counter).PasteSpecial xlPasteValues Sheets(v1).Columns(destCol + counter).NumberFormat = .Columns(arrCol(counter)).NumberFormat Next counter Sheets(v1).Cells(destRow, destCol).Resize(1, UBound(arrHeader) + 1).Value = arrHeader End With With rng(1, 1) Rc = .Interior.Color Mod 256 Gc = Int(.Interior.Color / 256) Mod 256 Bc = Int(Int(.Interior.Color / 256) / 256) Sheets(v1).Cells(destRow, destCol).Resize(1, UBound(arrHeader) + 1).Interior.Color = RGB(Rc, Gc, Bc) End With With Sheets(v1) With .Cells .ReadingOrder = xlRTL .Font.Name = "Arial" .Font.Size = 11 .HorizontalAlignment = xlCenter: .VerticalAlignment = xlCenter .RowHeight = 19 .ColumnWidth = 9 End With With .Cells(destRow - 1, destCol) .Offset(1).CurrentRegion.Borders.Value = 1 .Value = v1 .Resize(1, UBound(arrHeader) + 1).Interior.Color = vbYellow .Resize(1, UBound(arrHeader) + 1).HorizontalAlignment = xlCenterAcrossSelection End With With .Rows(destRow - 1).Resize(2) .RowHeight = 25 .Font.Bold = True .Font.Size = 13 End With For cnt = LBound(arr) To UBound(arr) .Columns(destCol + cnt).ColumnWidth = arr(cnt) Next cnt Application.Goto .Range("A1") End With Next v1 Application.Goto Sheets(sSheet).Range("A1") rng.AutoFilter Application.CutCopyMode = False Application.ScreenUpdating = True MsgBox "Done...", 64 End Sub فمت بوضع التعليقات باللغة الإنجليزية (معلش تعود مش أكتر) سأقوم بشرحها لمن يهمه الأمر أول سطر في التعليق يتعلق برقم العمود الذي يحتوي على القيم التي سيتم فلترتها السطر التالي يكتب اسم ورقة العمل التي تحتوي على البيانات (الورقة الرئيسية) السطر التالي نطاق البيانات المراد العمل عليها السطر التالي رقم الصف المراد وضع البيانات فيه السطر التالي رقم العمود المراد وضع البيانات فيه .. مثال لو أردنا وضع البيانات في الخلية H3 هذا يعني أن رقم الصف هو 3 ورقم العمود هو 8 السطر التالي عرض الأعمدة في المخرجات ..بما أننا تعاملنا في المخرجات مع 4 أعمدة فيكتب 4 أرقام ..يمكنك ببساطة زيادة أو نقصان العدد السطر التالي ترتيب الأعمدة وهذا السطر مهم للغاية ..فقد لاحظت أن الترتيب ليس بالضبط كترتيب الورقة الرئيسية وهذا ما دفعني إلى كتابة الكود في الحقيقة .. المهم هنا الرقم 4 هو رابع عمود في ورقة البيانات ، والرقم 3 هو ثالث عمود في ورقة البيانات ، والرقم 1 أول عمود في ورقة البيانات ، والرقم 2 هو ثاني عمود في ورقة البيانات ، وسيتم ترحيلهم بنفس الترتيب إلى الأوراق الجديدة السطر التالي هو خاص بالعناوين التي ستوضع في الأوراق الأخرى والتي سيتم ترحيل البيانات إليها ، وقد قمت بذلك أيضاً لأنني لاحظت أن هناك تغيير في العناوين (العمود "مدين" يسمى في المخرجات باسم "القيمة") المهم الأربعة سطور الأخيرة يجب أن يكون كل منها محتوي على 4 عناصر حسب عدد الأعمدة المطلوبة في المخرجات أسأل الله العظيم أن يكون الكود مفيد لكم وأعتذر عن الإطالة .. ولكن كان لابد من التوضيح التام لما هو مهم في الكود لتتمكنوا من استخدامه بسهولة ويسر .. لتجربة الكود بشكل أعمق اختر في الخلية E12 ايصال تسوية ، وهي ورقة عمل غير موجودة لتشاهد ورقة العمل وهي تنشأ وتوضع فيها البيانات .. ولك الحرية في تلك النقطة (لك أن تنشيء ورقة العمل أو تلغي ... لابد أن يكون هناك مرونة) تقبلوا وافر تقديري واحترامي رابط الملف المرفق من هنا1 point
-
1 point
-
السلام عليكمعلى الوعد نلتقىفى يوم الجمعة المباركمع فيديوهات شرح موضوعات احترافية فى قواعد بيانات أكسيسيمكنكم تطبيق الشرح على أكسيس 2010 20132016فالجوهر واحدو إن اختلف الشكلفيديو اليومتريد أن تنتقل بين السجلات ليس بمقدار سجل واحد للأمام و سجل للخلفبل بمقدار عدد من السجلات تحدده أنتهذا الفيديو هو طلبكمع الكود البسيطالفيديوhttps://youtu.be/I3e3O_xG5C81 point
-
1 point
-
شد انتباهي هذا الموضوع طلب معادلة ترجمه أسماء الأشخاص ولما كان هذا الملف في مكتبتي احببت ان يستفيد منه الاخوة الكرام الملف عبارة عن وظيفة اضافية عليك اولا اضافته الى ملفك Translation Names .rar و هذا شرح فيديو لكيفية عمل الملف Translation Names.rar1 point