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

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      25

    • Posts

      13165


  2. محمد حسن المحمد

    • نقاط

      8

    • Posts

      2220


  3. ضاحي الغريب

    ضاحي الغريب

    أوفيسنا


    • نقاط

      7

    • Posts

      2282


  4. خالد الرشيدى

    خالد الرشيدى

    الخبراء


    • نقاط

      5

    • Posts

      889


Popular Content

Showing content with the highest reputation on 08/08/15 in all areas

  1. السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله موضوع المصفوفات موضوع معقد ومتشعب للغاية ، لا أقصد أنه مستحيل ، ولكنه يحتاج إلى خبرة كبيرة لكي تستطيع أن تتعامل معها ، لذا ارتأيت أن أتعلم التعامل مع المصفوفات ، ولكن لكي أتعلم المصفوفات لابد أن أقدم المعلومة في أسلوب سلس وبسيط .. فهيا بنا سوياً نتعلم معاً ... أنا مثلي مثلكم في الموضوع أنا مجرد متعلم مبتديء فيما يخص هذا الفرع هنتكلم ببساطة ونحاول بقدر الإمكان إننا نبعد عن الأمور المعقدة ، فلنهضم سوياً البدايات ، وبمرور الوقت سنصل إلى الهدف الأكبر إن شاء الله عارفين المتغير Variable لما نحب نخزن قيمة خلية على سبيل المثال كنا نضع قيمة الخلية في متغير بهذا الشكل (بفرض أنه هناك نص في الخلية A1 والمطلوب تخزين قيمة الخلية في متغير ) Sub StringVariable() Dim strName As String strName = Range("A1").Value MsgBox strName End Sub قمنا بالإعلان عن المتغير وفي السطر التاني وضعنا قيمة للمتغير بحيث يساوي قيمة الخلية A1 وفي آخر سطر أظهرنا قيمة المتغير من خلال رسالة في المثال تم تخزين قيمة خلية واحدة ... طيب لو عندي 100 اسم في العمود الأول ..هل كل خلية هعمل متغير وأخزن فيه قيمة الخلية ( طبعاً مستحيـــــــــــــــــــــــــــــــــــل ) من هنا نعرف أهمية التعامل مع المصفوفة ، لإنك من خلال المصفوفة تقدر تخزن أي صف وأي عمود أو حتى أي نطاق مكون من صفوف وأعمدة لو هنتعامل مع صف واحد يبقا المصفوفة (ذات بعد واحد) ، لو مع عمود واحد (بردو ذات بعد واحد) ، لكن لوهنتعامل مع صفوف وأعمدة يبقا في الحالة دي (المصفوفة ذات بعدين ..بعد الصفوف وبعد الأعمدة) نرتاح شوية بعد ماعرفنا ايه فايدة المصفوفة وننتقل لمثال عملي بسيط لكيفية الإعلان عن المصفوفة ..... ارتحنا ..الحمد لله .. ننتقل إلى الجزء الثاني شكل المصفوفة :المصفوفة تتكون من عناصر وكل عنصر له رقم (يعني زي كتاب وله فهرس ..كل صفحة في الكتاب ليها رقم في الفهرس) المصفوفة زي الكتاب ... والعناصر زي الصفحات .. وكل عنصر له رقم في الفهرس زي ما كل صفحة ليها رقم في فهرس الكتاب محرر الأكواد بيتعامل مع المصفوفات ويبدأ يضع فهرس للعناصر بس مش بيبدأ برقم واحد بيبدأ برقم صفر مثال : لو مصفوفة مكونة من 4 عناصر يبقا الفهرس هيكون بالشكل ده ( 0 - 1 - 2 - 3 ) يعني أول عنصر له رقم الفهرس صفر ، وتاني عنصر له رقم الفهرس واحد ، وتالت عنصر له الرقم 2 ، والرابع والأخير له الرقم 3 .... تعبتكم معايا في الفهرس سؤال : هل ممكن إني أخلي محرر الأكواد يغير طريقة الفهرسة لعناصر المصفوفة بحيث يبدأ من رقم 1 ؟ الإجابة نعم (بس اصبر عليا عشان بتوه وبنسى) مثال تطبيقي : ضع الكود التالي في محرر الأكواد Sub OneDimensionalArrayA() Dim Arr(0 To 3) As String Arr(0) = "A" Arr(1) = "B" Arr(2) = "C" Arr(3) = "D" End Sub السطر الأول بنعلن عن المصفوفة بعد اسم المتغيرArr وضعنا بين قوسين حجم المصفوفة من 0 إلى 3 أي أن الفهرس يبدأ من 0 إلى 3 (إذاً عدد عناصر المصفوفة كام ؟ عد من 0 إلى 3 هتلاقي الناتج 4 أي 4 عناصر بالمصفوفة) من محررالأكواد روح للقايمة View وانقر على الأمر Locals window هيظهر نافذة نقدر من خلالها نتابع عمل الكود ضع مؤشر الماوس في أي مكان داخل الإجراء الفرعي المسمى OneDimensionalArrayA ثم من لوحة المفاتيح اضغط F8 ... سنجد السطر التالي مظلل بالأصفر Sub OneDimensionalArrayA() بص كويس على نافذة Locals ستجد المتغير من النوع مصفوفة المسمى Arr على يمينه علامة زائد انقر عليها هيفتح لك عناصر المصفوفة ستجد العنصر الأول بهذا الشكل Arr(0) وهكذا مع بقية العناصر ..كيف عرف محرر الأكواد أن العناصر 4 عناصر ؟؟ لأننا حددنا حجم المصفوفة بين الأقواس نلاحظ أيضاً في نافذة Locals في العمود المسمى Value أن العناصر لا تحمل أي قيمة بعد ، سنجد "" (أقواس تنصيص) أي أنها فارغة ... هذا هو شكل المصفوفة أي أنه يعد بمثابة متغير واحد يحمل عدة متغيرات ... اضغط F8 مرة أخرى ستجد السطر التالي مظلل بالأصفر Arr(0) = "A" لا يوجد أي تغيير في نافذة Locals ... نلاحظ أنه بعد الضغط على F8 والخروج من السطر الأصفر الحالي يتم تنفيذ السطر ..أي أن التنفيذ بعد الخروج من السطر نضغط F8 للمرة الثالثة لتنفيذ السطر السابق سنجد في نافذة Locals في العمود Value أن العنصر الذي له رقم الفهرس صفر يحمل القيمة A أكمل بالضغط على F8 وبعد كل ضغطة لاحظ النافذة جيداً لتعرف التغيرات ماذا كان يحدث في أسطر الكود ..؟ تقوم الأسطر بتعيين قيمة لكل عنصر داخل المصفوفة الآن جرب بنفسك الكود التالي Sub OneDimensionalArrayB() Dim Arr(1 To 4) As String Arr(1) = "A" Arr(2) = "B" Arr(3) = "C" Arr(4) = "D" End Sub لاحظ أننا يمكننا تغيير بداية الفهرسة من صفر إلى 1 كما بالمثال .. لاحظ التغيرات ..بما أن عدد العناصر أربعة تم تغيير الرقم 3 الذي هو آخر رقم بالفهرس إلى 4 .. وفي الأسطر تم التعديل ليناسب التغيير الذي تم بالسطر الأول ننتقل لآخر جزئية الآن .. معرفة أول رقم في الفهرس وآخر رقم في الفهرس نعود للمثال الأول Sub OneDimensionalArrayA() Dim Arr(0 To 3) As String Arr(0) = "A" Arr(1) = "B" Arr(2) = "C" Arr(3) = "D" MsgBox LBound(Arr) MsgBox UBound(Arr) End Sub لمعرفة أول رقم في الفهرس نستخدم الكلمة LBound ثم نفتح قوس ونكتب اسم المصفوفة المطلوبة >> الناتج في المثال سيكون رقم 0 لمعرفة آخر رقم في الفهرس نستخدم الكلمة UBound ثم نفتح قوس ونكتب اسم المصفوفة المطلوبة >> الناتج في الثال سيكون رقم 3 جرب بنفسك تغيير أبعاد المصفوفة من 0 إلى 3 ، وخليها من 1 إلى 4 وغير ما يلزم وشوف النتائج Sub OneDimensionalArrayB() Dim Arr(1 To 4) As String Arr(1) = "A" Arr(2) = "B" Arr(3) = "C" Arr(4) = "D" MsgBox LBound(Arr) MsgBox UBound(Arr) End Sub وإلى لقاء آخر ...دمتم على طاعة الله *********************************************** الجزء الثاني إخواني وأحبابي في الله .. بعد أن تعرفنا على الشكل العام للمصفوفة وعرفنا أنها مكونة من عناصر وكل عنصر له رقم في فهرس المصفوفة نتعرف الآن على طريقة أخرى لتخزين قيم المصفوفة .. في السابق خزنا كل قيمة داخل عنصر تباعاً أي تم تعيين قيمة لكل عنصر ..عنصر عنصر الطريقة التي سنتعلمها الآن هي كيفية تخزين مجموعة من القيم مرة واحدة بسطر واحد .. الأمر في منتهى اليسر ، سنقوم باستخدام كلمة Array ثم نفتح قوس بالضغط على Shift + 9 ثم نضع القيم بالترتيب المطلوب وكل قيمة توضع داخل أقواس تنصيص ويفصل بين كل عنصر وعنصر فاصلة وليس فاصلة منقوطة وفي نهاية المطاف نغلق القوس بالضغط على Shift + 0 اختصار للكلام الكتير شوف السطر ده ..هنخزن قيم المصفوفة بهذا الشكل Arr = Array("A", "B", "C", "D") تم تخزين 4 قيم داخل المصفوفة .. لمعرفة أول الفهرس نستخدم كلمة LBound ولمعرفة رقم آخر الفهرس نستخدم كلمة UBound كما عرفنا من قبل لو ضغطنا F8 وتفحصنا نافذة الـ Locals سنجد أن الفهرس يبدأ من صفر .. إذاً أرقام الفهرس هنا في السطر السابق ستكون 0 ، 1 ، 2 ، 3 طيب نضع المثال بالكامل ثم نقوم بشرحه وتشريحه Sub OneDimensionalArray3() Dim Arr Arr = Array("A", "B", "C", "D") Range("A1").Resize(1, UBound(Arr)) = Arr Range("A2").Resize(UBound(Arr), 1) = Application.Transpose(Arr) End Sub في المثال تم الإعلان بشكل عام عن المصفوفة دون تحديد أبعادها كما فعلنا من قبل تم وضع قيم المصفوفة في السطر الثاني كما أسلفنا المطلوب الآن أن نعرف كيف نقوم بوضع قيم المصفوفة داخل نطاق وهذا الأمر في غاية الأهمية السطر الثالث يقوم بوضع القيم في الصف الأول بدايةً من الخلية A1 إلى ؟؟ النهاية مجهولة في الغالب ..عشان كدا بنعتمد على آخر رقم في المصفوفة باستخدام UBound بمعنى آخر : فيه خاصية اسمها Resize (إعادة تحجيم) فالسطر بيقول ايه؟ انطلاقاُ من الخلية A1 سيتم تحديد حجم النطاق طبقاً للأرقام داخل الخاصية Resize الرقم الأول يمثل عدد الصفوف والرقم الثاني يمثل عدد الأعمدة .. بما إننا عايزين نضع القيم في الصف الاول فقط يبقا عدد الصفوف هيكون واحد .. أما عدد الاعمدة هيكون مرتبط بطول المصفوفة وعشان نعرف طول المصفوفة زي ما قلنا نعرف آخر رقم فيها باستخدام كلمة UBound ..طيب جميل أوي لحد دلوقتي !! نيجي للقاضية . طول المصفوفة في المثال 4 عناصر لكن لو استخدمنا كلمة UBound عشان نعرف آخر رقم يبقا في الحالة دي هيكون الناتج 3 مش 4 (يا دي الحيرة) المشكلة إن المصفوفة بتبدأ من صفر عشان كدا نهايتها عند الرقم 3 .. لو تركنا المثال زي ما هو كدا ..ايه اللي هيجرا .. الجزء التاني الخاص بعدد الأعمدة اللي هو ده UBound(Arr) الناتج هنا لو حسبنا بشكل يدوي يساوي 3 إذاً سيتم تحجيم النطاق بمقدار صف واحد و3 أعمدة .. فلو بصينا على الورقة بعد تنفيذ الكود هنلاقي القيمة A في الخلية A1 ، والقيمة B في الخلية B1 ، والقيمة C في الخلية C1 ووقف لحد هنا .لأننا حددنا عدد الأعمدة 3 من خلال رقم آخر فهرس في المصفوفة .. طيب إزاي نحل الإشكالية دي ؟؟ ببساطة إحنا عارفين إن المصفوفة بدأت من الصفر يبقا في الحالة دي عشان نحدد عدد الأعمدة نزود واحد وخلصت الحكاية يعني السطر هيكون بالشكل ده Range("A1").Resize(1, UBound(Arr) + 1) = Arr فيه طريقة تانية نخلص من المشكلة بشكل نهائي إننا نضع جملة Option Base 1 يتم وضعه خارج الكود في قسم الإعلانات العامة في الموديول وفي الحالة دي مفيش داعي نزود واحد في السطر لأننا حلينا المشكلة بشكل تاني يعني الكود هيكون بالشكل ده Option Explicit Option Base 1 Sub OneDimensionalArray3() Dim Arr Arr = Array("A", "B", "C", "D") Range("A1").Resize(1, UBound(Arr)) = Arr Range("A2").Resize(UBound(Arr), 1) = Application.Transpose(Arr) End Sub ننتقل لآخر سطر ونعرف ايه الاختلاف .. ركز وحاول دايماً تشوف الفرق .. في السطر السابق للسطر الأخير وضعنا قيم المصفوفة في الصف الأول في الأربعة أعمدة A - B - C - D في السطر الأخير يتم وضع القيم بشكل رأسي وليس أفقي أي وضعها في عمود (والمصفوفة تتعامل مع الصفوف بشكل أيسر لأنها تعتبر على شكل صف في المثال الذي نقوم بشرحه) السؤال إزاي هنخلي المصفوفة تقرا القيم بشكل رأسي .. الموضوع بسيط جداً بس نشرحه من خلال الإكسيل الأول روح لورقة العمل وحدد أي مجموعة قيم في صف واحد ... يعني مثلاً حدد النطاق A1:D1 واعمل Copy نسخ وتعال في أي خلية بعيد شوية واعمل كليك يمين ثم Paste Special أي لصق خااااص وعلم علامة صح على الخيار Transpose الموجود في النافذة اللي هتظهر لك ولاحظ ما يحدث هتلاقي القيم اتغيرت من الشكل الأفقي للشكل الرأسي وهو دا حل المشكلة .. أي لوضع القيم في عمود نستخدم الجملة Application.Transpose عشان نحول المصفوفة من شكل أفقي لشكل رأسي طبعاً مننساش إن خاصية Resize هنا هتختلف : بمعنى عدد الصفوف هنا يمثل عدد عناصر المصفوفة أما عدد الأعمدة فعمود واحد ... بص للسطرين عشان تعرف الفرق ما بين وضع القيم بشكل أفقي ووضعها بشكل رأسي مش هطول عليكم عشان نقدر نستفيد وأنا معاكم بستفيد مثلكم تماماً .. تقبلوا تحياتي وإلى لقاء آخر متجدد بإذن الله ********************************************************************** الجزء الثالث إخواني الكرام نتعرف اليوم على الحلقات التكرارية للمصفوفة أو تحديداً لعناصر المصفوفة نفترضأن لدينا مصفوفة مكونة من 5 عناصر ونريد وضع قيم هذه المصفوفة في 5 صفوف في النطاق A1:A5 (تعلمنا أننا يمكننا ذلك في سطر واحد ..راجع ما سبق) ولكن كنوع من التدريب على استخدام الحلقات التكرارية سنقوم بعمل حلقة تكرارية لوضع قيم عناصر المصفوفة في الخمس خلايا لعمل حلقة تكرارية نقوم أولاً بالتفكير .. ما هو المتغير الذي سيجعلنا نقوم بالحلقة التكرارية (هنا قد يكون المتغير الصف .. لأننا نريد أن نضع قيمة في الصف رقم 1 ثم الصف رقم 2 ثم الصف رقم 3 وهكذا ... وقد يكون المتغير عناصر المصفوفة لأننا نتعامل مع العنصر رقم 1 ثم العنصر رقم 2 ثم العنصر رقم 3 وهكذا) بذلك تتضح الحلقة التكرارية أننا نريد أن نقوم بتنفيذ سطر محدد عدد من المرات بالمثال يتضح المقال Sub LoopArrays() Dim I As Integer Dim Arr(1 To 5) As Integer Arr(1) = 10 Arr(2) = 20 Arr(3) = 30 Arr(4) = 40 Arr(5) = 50 For I = LBound(Arr) To UBound(Arr) Cells(I, "A") = Arr(I) Next I End Sub هذا هو الكود بالكامل .. نبدأ في عملية التشريح السطر الأول دا المتغير اللي هنخزن فيه قيمة المتغير أثناء الحلقة التكرارية.. بمعنى مع كل لفة مع كل حلقة تكرارية فيه راجل ماسك الراية ومع كل لفة بيرفع راية جديدة المتغير I في السطر الأول سيكون بمثابة حكم الراية ..في أول لفة تلاقيه رافع راية احدة (حسب نقطة البداية ...يعني ممكن تكون نقطة البداية لا تساوي 1 ...ممكن الحلقة التكرارية تبدأ من أي رقم تاني غير الواحد ...المهم في المثال إحنا هنبدأ من 1) ... نرجع تاني لحكم الراية ..مع اللفة التانية هيكون قيمة المتغير 2 ومع اللفة التالتة هيكون 3 وهكذا .... السطر التاني اتعودنا عليه ..الإعلان عن مصفوفة أحادية الأبعاد بدايتها 1 ونهايتها 5 (ممكن نكتب بين القوسين 5 بس .. بس هتقابلك مشكلة إن المصفوفة هتترقم في الحالة دي بدايةً من الصفر ...راجع الجزء الأول والثاني) الأسطر التالية بيتم فيها تخزين قيم المصوفة : العنصر الأول في المصفوفة هيكون قيمته 10 ، والثاني 20 وهكذا نيجي بقا للحلقة التكرارية في نهاية الكود ... بعد الإعلان عن المصفوفة وتخزين القيم لعناصر المصفوفة ، تيجي الحلقة التكرارية عشان نقدر نعدي على كل عناصر المصفوفة بنستخدم الجملة For بعديها حكم الراية .... بعد كدا علامة يساوي ونحدد نقطة الإنطلاق أونقطة البداية ونقطة النهاية وبين البداية والنهاية كلمة To نقطة البداية هتكون رقم الفرس لأول عنصر في المصفوفة : ودي عرفنا إزاي نجيبها من خلال LBound وبين قوسين بنكتب اسم المصفوفة ونفس الكلام مع نقطة النهاية ودي هتكون رقم الفهرس لآخر عنصر في المصفوفة وبردو عرفنا إزاي نجيبها من خلال كلمة UBound وبين قوسين اسم المصفوفة يبقا خلاصة السطر الأول في الحلقة التكرارية ..بنقول إننا هنبدأ منين وننتهي فين ولازم القفلة يعني جملة For لازم يكون ليها مقابل أوقفلة والقفلة هي السطر Next I ... دي زي الترس اللي بيدور العجلة (حلو التشبيه ده) والترس ده يقف لما حكم الراية يوصل لنقطة النهاية بلغة البرمجة : لما المتغير I يساوي نقطة النهاية (زي المثال نقطة النهاية تساوي 5) لما المتغير I يساوي 5 ، بكدا تتوقف الحلقة التكرارية ..أي يتوقف الترس المهم في الكود كله السطر اللي بين سطري الحلقة التكرارية (هو دا اللي هيتنفذ مع كل لفة) Cells(I, "A") = Arr(I) كلمة Cells اللي يعرف شوية في البرمجة يعرف إنها متبوعة بين قوسين برقم الصف ورقم أو اسم العمود فلو كنا في اللفة الأولى يبقا المتغير I يساوي واحد ...في الحالة دي رقم الصف هو 1 واسم العمود A أي الخلية A1 >> ملحوظة هامة ممكن نشيل حرف "A" ونضع مكانه رقم العمود 1 بالشكل ده cells(I,1) يبقا الخلية A1 تساوي ؟؟؟ مجهول !!! تساوي العنصر في المصفوفة الذي يحمل رقم الفهرس ..يعني إحنا قلنا إن المتغير I يساوي واحد إذاً الخلية A1 تساوي أول عنصر في المصفوفة ثم تبدأ اللفة الثانية ويتغير المتغير I يصبح 2 فنبدأ بالتعامل مع الصف الثاني والعمود الأول أي الخلية A2 ونقول تساوي قيمة ثاني عنصر من عناصر المصفوفة وهكذا وهكذا أرجو أن أكون وفقت في توصيل المعلومة شكل سلس يسهل معه فهم البرمجة وفهم كيفية التفكير العلمي والكروي والميكانيكي (حيث تحدثنا بلغة البرمجة وتطرقنا للغة كرة القدم وأخيراً عملنا بالميكانيكا مع التروس) تقبلوا تحياتي
    5 points
  2. اخي الكريم أ/ ياسر خليل ابوالبراء الأخ الفاضل / محمد حسن السلام عليكم ورحمة الله وبركاته اولا اتقدم بالشكر للاستاذ محمد حسن لاعادة طرح الموضوع والشكر كل الشكر علي الشرح الجميل الميسر الذي قدمه احي ابوالبراء بارك الله فيهما وجزاهم خيرا تصحيح بالنسبة للفورم -من اعدادي وليس من اعداد استاذي ومعلمي الاستاذ عبدالله باقشير مع انه يسعدني ويشرفني ان يكون عملي البسيط من اعمال استاذنا خبور خير اللهم يسير له امره وامر جميع اخواننا باليمن الشقيق ويخرجهم من محنتهم علي خير ويكتب لهم من بعد العسر يسر ان شاء الله تعالى وجب التنويه للتوضيح مع تحياتي
    5 points
  3. أخي الحبيب الغالي أبو يوسف إذا حضر الماء بطل التيمم ما بالك وصاحب الفورم نفسه موجود .. هل يفتى ومالك في المدينة ؟ أنا منشغل بموضوع آخر ألا ووهو المصفوفات وأترك المجال للاستفادة من أستاذنا وحبيبنا الغالي المتميز الرائع ضاحي اللي مش غريب علينا أبداً تقبل وافر تقديري واحترامي
    2 points
  4. السلام عليكم أخي الفاضل ضاحي الغريب...يشرفنا ويسعدنا أن تكون مشاركا ومساهما فعالا بهذا البحث وكما يقال تطلب الحاجات من أهلها وأنت قامة شامخة مشهود لها بهذا المنتدى العملاق..فأنت والأخ الحبيب أبو البراء والأخ عبد الله رواد عظام نرجع إليهم لنرتقي معا نحو غد مشرق بعون الله تعالى ...شكرا لمروركم العطر ...تقبلوا تحياتي..والسلام عليكم. أرى أن يعدل اسم عنوان البحث ليصبح دراسة متأنية لفورم سند صرف أعده الأستاذ ضاحي الغريب... إحقاقا للحق إلا إذا سمح الأستاذ ضاحي بإبقاء العنوان على حاله..تقبلوا تحياتي.
    2 points
  5. اخى واستازى الحبيب أبو البراء هذه الكلمات وخصوصا انها من حضرتك شرف كبير لى ... شكرا جزيلا لك وان شاء الله سأقوم بتقديم الشرح حال الانتهاء منه تقبل خالص احترامى وتقديرى لشخصكم الكريم
    2 points
  6. بارك الله فيك أخي الغالي بكارعلى المعلومة المفيدة صحيح كلامك ممكن الجن الأزرق ميعرفش يظهرها لكن العفريت الأخضر (اللي هو العبد لله ...) يقدر يظهرها بسهولة تقبل تحياتي
    2 points
  7. أخي الكريم أنيس إثراءً للموضوع إليك المعادلة التالية علها تفي بالغرض =LOOKUP(2,1/($B$2:$B5=$B5),$C$2:$C5)+LOOKUP(2,1/($B$2:$B4=$B5),$E$2:$E4) Store.rar
    2 points
  8. الاخ الكريم على حسب فهمى لطلبك تفضل المرفق به طلبك بعد تسجيل كل عمليات المصروفات يمكنك معرفه مجموع المصروفات باحدى الطريقتين الطريقه الاولى فى شيت التسجيل ستجد خلية مظلله باللون البرتقالى قم بعمل فلتر للفرع والتاريخ المطلوب وشاهد المجموع بالخلية المظلله باللون البرتقالى الطريقه الثانيه فى شيت المجموع اكتب التاريخ المطلوب ثم اخترمن القائمة الفرع وشاهد المجموع بالاسفل مهم للغاية.zip
    2 points
  9. السلام عليكم أخويّ الكريمين : أشكركما على تواضعكما واستجابتكما الطيبة لنصحي فما قيمة الأب إن لم يكن ناصحاً وموجهاً لأبنائه فعثرة لحظة قد تجر عثرات إن لم نتراجع عنها أو نعدلها والله لا أعرف الأخ تيبازي عن كثب ولا أدري من أين هو إلا أنها كلمة حق أردت أن أجهر بها ..فنحن أمة تأمر بالمعروف وتنهى عن المنكر وتؤمن بالله العظيم..والاعتراف بالذنب فضيلة أما الإصرار عليه والعياذ بالله تقبلوا تحيات أب محب رحيم بأبنائه...ولكم في رسول الله أسوة حسنة لمن كان يرجو الله واليوم الآخر...والسلام عليكم ورحمة الله وبركاته.
    2 points
  10. السلام عليكم ورحمة الله وبركاته إخواني الكرام سأقوم برفع الملف مرة أخرى مصحوب بكلمة المرور لدخول البرنامج كلمة المرور: 111 بعد دخول البرنامج سيظهر الفورم المسمى Toumana قم بالنقر على "اغلاق" لرؤية ورقة العمل .. لدراسة أي ملف يجب أولاً وقبل كل شيء دراسة ورقة العمل .. يتمثل المصنف في ورقة عمل واحدة مسماة DATA بها التفاصيل ( م - التاريخ - الاسم - البيان - المبلغ "والحقل الأخير مقسم إما إلى نقداً أو إلى شيكات" وعند التعامل مع الشيكات يذكر تفاصيل الشيك من رقم وتاريخ ومبلغ والبنك) تبدأ البيانات من الصف التاسع .. هناك نطاقات مسماة Names Ranges للإطلاع عليها اذهب للتبويب Formulas ثم Name Manager ستجد أن هناك أربعة نطاقات مسماة : الأول باسم About يشمل البيانات في العمود P الثاني باسم Bank يشمل أسماء البنوك في العمود Q الثالث باسم Names يشمل قائمة الأسماء في العمود O الرابع باسم No ويمثل الأرقام المسلسلة في العمود الأول يوجد بورقة العمل جدول به البيانات التي تظهر بالفورم مثل : اسم الشركة والمستلم والمحاسب والمدير وعنوان الشركة ومعلومات أخرى وبداية التسلسل هذا كان الشكل العام لورقة العمل ***************************************************** ننتقل لمحرر الأكواد ونبدأ في دراسة الفورم الموجودة لن أطيل في الشرح حتى يستطيع الجميع متابعة القليل ، فقليل دائم خير من كثير منقطع الفورم الأول وهو فورم الدخول والذي يمثل بوابة الدخول (معاك مفتاح هتدخل ..مش معاك مفتاح يبقا لمؤاخذة بلاش شغل كسر البرامج ) بيانات الفورم : الاسم البرمجي STARTUP وعنوان الفورم (العنوان الذي يظهر في شريط عنوان الفورم SIGN IN) كيف يتم تغيير الاسم الافتراضي للفورم USERFORM1 مثلاً ؟ يتم ذلك من خلال نافذة الخصائص وتظهر أسفل نافذة المشروع وإذا لم تكن ظاهرة يمكنك الضغط على F4 لإظهارها أول خاصية اسمها Name وتمثل الاسم البرمجي ، وهنا تم تغيير الاسم البرمجي ليكون STARTUP وتغيير خاصية العنوان Caption لتكون SIGN IN (دخول) وتم وضع خلفية للفورم من خلال الخاصية Picture ..عندما تنقر على كلمة Picture في نافذة الخصائص سيظهر مربع صغير عليه ثلاث نقاط اضغط عليه هيفتح لك نافذة تقدر من خلالها تحدد مكان الصورة المطلوب إنها تكون خلفية للفورم (سأرفق مع الملف المرفق صورة للتجربة عليها) الأدوات المستخدمة في الفورم : Label1 - Label2 - TextBox1 - CommanButton1 - CommandButton2 وظيفة كل أداة : Label1 يظهر مكانها أثناء تشغيل الفورم التاريخ الحالي: اليوم والتاريخ الأداة Label 2 مجرد عنوان "أدخل كلمة المرور" ولتغيير العنوان ستجد الخاصية Caption كما أشرنا إليها عند التحدث عن الفورم الأداة TextBox1 وهي مربع نص لإدخال كلمة المرور وفيه خاصية مهمة جداً في الأداة اسمها PasswordChar ضع علامة نجمة * في المربع المقابل لها في نافذة الخصائص ، ودي فايدتها إن لما المستخدم يكتب كلمة المرور تظهر على شكل نجوم (عشان عيون المتطفلين ..أمثالي) الأداة CommandButton1 (زر أمر للدخول ..لاختبار كلمة المرور بالطبع ) الأداة Commandbutton2 وهو زر أمر للخروج من البرنامج وبكدا نكون اتعرفنا على شكل وهيكل ورقة العمل وشكل فورم الدخول إلى لقاء آخر مع عضو آخر يقوم بتقديم المزيد وتقديم ما فاتني من معلومات .. كل يجود بما عنده .. لا تجعلوا الأمر يتوقف عند عضو بعينه تقبلوا تحياتي الأدوات المستخدمة في الفورم المسمى STARTUP : سند صرف3.rar
    2 points
  11. بسم الله والصلاة والسلام على رسول الله وعلى آله وصحبه ومن والاه أما بعد: السلام عليكم ورحمة الله وبركاته.. دراسة متأنية لفورم الأخ العزيز عبد الله باقشير(خبور خير)وفقه الله.سند صرف وإيصال قبض يرجى مشاركة المهتمين بالفورم لتصل الفائدة إلى الجميع على شتى اهتماماتهم. حيث سيقوم الإخوة خبراء إكسيل الكرام - حيث شجعني أخي الحبيب في الله ياسر خليل أبو البراء على طرح هذا الموضوع الرائع نستقطب به الجهود ...نحلل بياناته ...نسبر أغواره ...ليبقى أثراً طيباً يفتخر كل منا بمساهمته بهذا الصرح العملاق... راجياً أن ينال حظاً طيباً وافراً من اهتمامكم ولكم جزيل الشكر والله من وراء القصد ..والسلام عليكم ورحمة الله وبركاته للأسف لم أستطع رفع الملفات
    1 point
  12. اخى الفاضل جرب المرفق لعلة المطلوب New Microsoft Excel Worksheet_2.rar
    1 point
  13. موضوع المصفوفات أنا نفسي مبتديء فيه والله ..بس عشان أتعلم بفكر بصوت عالي ومعاً نرتقي سوياً ونتعلم سوياً في انتظار مساهماتك في موضوع المصفوفات
    1 point
  14. اخي ابو البراء انت باسلوبك السلسل وروحك الخفيفة تعطي الموضوع نكهة خاصة نكهة ابوالبراء ولا اعتقد اننا نستطيع تعويضها باي نكهات صناعية وبالنسبة لطلب اخي محمد حسن تعديل علي شاشة الدخول ممتاز ورائع مع ملاحظة تغيير لون التاريخ الي اي لون فاتح حتي يظهر مع الخلفية وتغير السند الي سند قبض التعديل مضبوط ولا توجد عليه ملاحظات وطلبه (( هل يمكن أن تكون البيانات متراكبة كما هو الحال في(رقم الإيصال عند تسجيل بيانات جديدة و البحث برقم الإيصال عند البحث))) لا استطيع فهمه جيدا برجاء التوضيح البحث برقم الايصال موجود
    1 point
  15. ماشى ياعم ياسر قصدك كده يعنى Sub OneDimensionalArray() Dim Arr(1 To 7) As String Arr(1) = "sat" Arr(2) = "san" Arr(3) = "mon" Arr(4) = "tu" Arr(5) = "wen" Arr(6) = "th" Arr(7) = "fra" Cells(1, 1).Resize(1, 7) = Arr End Sub تقبل تحياتى
    1 point
  16. السلام عليكم ورحمة الله وبركاته...جزاكم الله خيرا وهل يستغنى بالصيام عن الصلاة..ففي كل خير. وأنا من متابعي موضوع المصفوفات إلا أنني أتابعه بصمت لقلة علمي وخبرتي به.
    1 point
  17. السلام عليكم ورحمة الله وبركاته...موضوع رائع أخي الحبيب أبو البراء ومتابعة حثيثة ...ما شاء الله بارك الله..أتابع أعمالكم الرائعة بصمت .. أحسنتم أحسن الله إليكم.والسلام عليكم.
    1 point
  18. بسم الله ما شاء الله عليك أخي الحبيب إبراهيم .. هو دا الشغل ولا بلاش أفكار جميلة جداً وتثري الموضوع بشكل كبير .. لكن ما زلت أصمم على عدم استخدام الحلقات التكرارية لتنفيذ المطلوب .. حيث يمكن بسطر واحد فقط عمل اللازم ... فكر شوية .. هسهل عليك الموضوع أكتر المصفوفة عبارة عن قيم زي ما اتعلمنا .. القيم دي بتكون بالظبط زي شكل الصف بمعنى إن قيم المصفوفة شبيهة بالصف فلما نقول إن المصفوفة لها 7 قيم يبقا كل قيمة في عمود في صف واحد ... هسهلها أكتر فيه خاصية اسمها Resize حاول تستغلها ..... تقبل تحياتي
    1 point
  19. جرب الملف المرفق فيه تطبيق المعادلة التي لم تعمل معك Sumproduct.rar
    1 point
  20. الاخ الحبيب سعد عابد الحمد لله أن وفقني لبدء الموضوع وإن شاء الله تتابع معنا الموضوع من البداية حتى نصل سوياً لخط النهاية الأخ الغالي ياسر فتحي عوداً حميداً .. بتغطس كل فترة تروح فين ؟ مشكور على كلماتك الطيبة ودعائك الطيب المبارك .. حاول تتابع معانا وتسأل أو تأتي بمعلومة بس خليك حنين علينا والمعلومة تكون بسيطة ومركزة ومصحوبة بمثال تطبيقي ليفهمها الجميع .. تقبلوا تحياتي
    1 point
  21. اخى الكريم لا اعلم طريقة تغيير اسم الظهور وليست موجوده بالاعدادت الشخصيه الخطأ اللذى وقعت فيه اعتقدت ان الكود سيعمل اتوماتك عند اختيار الشهر المراد ظهور الموظفين به ولكنى وانا احاول فى الكود وباعد الضغط على زر تنفيذ الكود من شاشة محرر الاكواد وجدته نفذ الكود فعملت حينها زر امر ووضعت الكود به واشتغل تمام اختار الشهر واضغط على زر الامر ياتى بالموظفين جزاك الله كل خير
    1 point
  22. السلام عليكم أخي الفاضل اعمل كليك يمين على ورقة العمل Sheet1 ثم اختر الأمر View Code والصق الكود التالي .. Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Dim strSheet As String If InStr(Target.Parent, "!") > 0 Then strSheet = Left(Target.Parent, InStr(1, Target.Parent, "!") - 1) Else strSheet = Target.Parent End If On Error Resume Next Sheets(strSheet).Visible = True Sheets(strSheet).Select End Sub Private Sub Worksheet_Activate() Dim WS As Excel.Worksheet For Each WS In ThisWorkbook.Worksheets If WS.Name <> "المراجعه" Then WS.Visible = (WS.Name = Me.Name) End If Next End Sub تقبل تحياتي
    1 point
  23. جرب المعادلة التالية في الخلية G6 =SUMPRODUCT(--(MONTH($B$2:$B$12)=G4)*($A$2:$A$12=G5)) بفرض أن الخلية G4 بها رقم الشهر 7 مثلاً والخلية G5 بها كلمة جديد مثلاً
    1 point
  24. السلام عليكم ورحمة الله وبركاته اخى واستاذى ياسر مشكورا على الموضوع الشيق والممتع بجد ان متأكد ان شاء الله الاستفاده ستكون كبيره زادك الله من فضله وعلمه ................................ واسمح لى بالاجابه على السؤال Sub OneDimensionalArray() Dim Arr(1 To 7) As String Arr(1) = "sat" Arr(2) = "san" Arr(3) = "mon" Arr(4) = "tu" Arr(5) = "wen" Arr(6) = "th" Arr(7) = "fra" MsgBox LBound(Arr) MsgBox UBound(Arr) End Sub تقبل تحياتى
    1 point
  25. بارك الله فيك اخي ا/ محمد حسن وجزانا الله واياكم وجزي جميع القائمين والمساهمين والسائلين في جامعتنا اوفيسنا كل خير علي ماقدموه بالنسبة للفورم ان شاء الله اقوم بشرحه بالتفصيل خطوة خطوة لتعميم الفائدة واهلين فيك وبالنسبة للعنوان لا يحتاج لتغير يسعدنا ويشرفنا اسم اخانا وحبيبنا الغائب الحاضر باعماله وروحه معنا اخي ابوعلي الاستاذ عبدالله باقشير له منا جمعيا كل الحب والاحترام والدعاء بتيسر امره تقبل تحياتي
    1 point
  26. السلام عليكم و رحمة الله وبركاته بارك الله فيك أستاذنا الغالي محمد حسن المحمد على ما تبذله هنا في المنتدى من مجهودات في شتى المجالات .. جزاك الله خيرًا و زادها بميزان حسناتك ..تحياتي
    1 point
  27. السلام عليكم ورحمة الله الأخ عبدالعزيز هذا الكود الأربعة الاسطر الأخيرة خاص بتعبئة الكمبوبكس من العمود الخاص برقم الشيك ويعمل معي لكـــن مشكلته انة يظهر الفراغات إن شاء الله بحاول معه بدون فراغات إن امكن. Private Sub UserForm_Activate() 'هذا الكود المكون من 11 سطر خاص بخصائص الكمبوبكس '============================================================================= Dim J As Long Dim ws As Worksheet Set ws = Sheets(1) With Me.CkqTxt .ListRows = 12 .TextAlign = fmTextAlignCenter With .Font .Name = "Times New Roman" .Size = 12 .Bold = True End With '============================================================================== هنا الكود الخاص بتعبئة الكمبو من العمود الخاص برقم الشيك For J = 9 To ws.Range("F" & Rows.Count).End(xlUp).Row .AddItem ws.Range("F" & J) Next J End With End Sub
    1 point
  28. إليك الكود التالي عله يفي بالغرض Sub VacationReport() 'يقوم الكود بعمل تقرير بأسماء الموظفين الذين زادت أيام الأجازات عن 4 أيام 'بفرض أن لكل موظف ورقة عمل وتبدأ أوراق عمل الموظفين من الورقة رقم 5 إلى 'آخر ورقة بالمصنف ، قم باختيار الشهر من ورقة العمل المراد عمل التقرير بها 'التي تحتوي على قائمة منسدلة بأسماء شهور السنة ثم نفذ الكود [B3] من الخلية '------------------------------------------------------------------------- 'الإعلان عن المتغيرات Dim WS As Worksheet, Str As String Dim I As Long, Found As Range Dim lRow As Long 'تعيين المتغير ليساوي ورقة تقرير الخصم Set WS = Sheets("تقرير خصم 5%") 'تعيين المتغير ليساوي اسم الشهر الموجود بالخلية Str = WS.Range("B3").Value 'رقم أول صف سيتم إدراج النتائج به lRow = 7 'إلغاء خاصية اهتزاز الشاشة Application.ScreenUpdating = False 'مسح محتويات النطاق الذي سيتم إدارج النتائج به WS.Range("A7:C1000").ClearContents 'حلقة تكرارية لأوراق العمل من الورقة رقم 5 إلى آخر ورقة عمل في المصنف For I = 5 To Sheets.Count 'سطر لايجاد النطاق الذي يحوي على اسم الشهر داخل ورقة العمل الخاصة بالموظف Set Found = Sheets(I).Columns("I:I").Find(Str) 'إذا وجد نتيجة للبحث عن اسم الشهر يتم تنفيذ الأسطر التالية If Not Found Is Nothing Then '[Found] إيجاد قيمة الخلية التي تقع في العمود السابق للمتغير '[H] أي أنها تجلب عدد إجمالي عدد أيام الأجازات من العمود 'فإذا كانت قيمة الخلية أكبر من أو يساوي 4 أيام يتم تنفيذ المطلوب وجلب البيانات If Found.Offset(0, -1) >= 4 Then 'في ورقة الموظف [B2] الخلية في الصف المحدد في ورقة التقرير في العمود الأول تساوي الخلية WS.Cells(lRow, 1) = Sheets(I).Range("B2") 'في ورقة الموظف [A1] الخلية في الصف المحدد في ورقة التقرير في العمود الثاني تساوي الخلية WS.Cells(lRow, 2) = Sheets(I).Range("A1") 'الخلية في الصف المحدد في ورقة التقرير في العمود الثالث تساوي قيمة الخلية 'التي تحتوي إجمالي الأجازات والتي تقع في العمود السابق للنطاق المتغير WS.Cells(lRow, 3) = Found.Offset(0, -1) 'زيادة قيمة الصف المحدد بمقدار واحد للانتقال إلى صف جديد لإدراج بيانات جديدة lRow = lRow + 1 End If End If Next I 'إعادة تفعيل خاصية اهتزاز الشاشة Application.ScreenUpdating = True End Sub
    1 point
  29. السلام عليكم الكثير جداً يخفون بوسيلة الإخفاء العادية ولكن يمكن إظهاره بالضغط على UNHIDE واختياره ولكن هناك وسيلة أكثر مهارة واحترافية في إخفاء صفحات العمل يحتوي الاكسل على أكثر الوسائل أمناً معروفة باسم "الصفحات المخفية جداً أو ورقة عمل المخفية جدا ، حيث لا يمكن إظهارها باستخدام واجهة المستخدم لأنها لا تظهر في مربع الحوار إظهار. والمستخدم العادي لا يعرف حتى وجود تلك الورقة، ناهيكم عن معرفة كيفية إظهار ذلك. المهم سوف نحتاج إلى VBE لتطبيق هذا المثل على النحو التالي: ياللا نبدأ حول لبيئة VBA بالضغط على alt + f11 في (Project Explorer) اختار الورقة التى تريد اخفائها وليكن شيت 2 في (Properties Window) اختار خاصية (Visible) اختار من داخلها الاختيار الثاني (xlSheetVeryHidden) عندما تفعل ذلك يطبق اكسل الأمر ولكن ظاهريا على شيت 1 (ما تخافش كدة) عندما تعود لبيئة اكسل الطبيعية ستجد شيت 2 قد تم اخفائها وليست موجودة في مربع unhide ولا الجن الازرق ها يعرف إظهارها .
    1 point
  30. نترك الشرح لخبير شرح المعادلات الأخ الرائع خالد الرشيدي فهو بحق متميز في شرح المعادلات
    1 point
  31. ولا يهمك أخوي رمهان ، اليك روابط بالصور :-) VBA > Tools > Database PROPERTIES انظر الصورة General Project name انظر الصورة سترى أن إسم المشروع هو Database ، غير اسم المشروع إلى أي إسم غير db ، ثم أنقر ok ، واحفظ قاعدة البيانات ، وجرب البرنامج الآن :-) مو سهل الرد على مثل هذه الأسئلة من الهاتف النقال :-) جعفر
    1 point
  32. حبيب قلبي من أيام الجيزة متشكر على مرور عفريت الخبراء مثلك وجزاك الله كل خير
    1 point
  33. الاخ / محمد أبو البراء السلام عليكم وكل عام وانتم بخير المقترحات للاصدار السادس لشيت الصناعي: 1- عمل ورقة خاصة بكتشنة السري للطلاب ( وضع الارقام السرية آليا ) 2 - في رصد الدور الثاني يترك سطر فارغ لكي نكتب الدرجة التي حصل عليها الطالب في المادة التي عنده دور ثاني فيها وتكون فوق الدرجة السابقة 3 - عمل ورقة خاصة ببنسبة النجاح في كل مادة ( المادة - العدد الكلي للطلاب- عدد الحضور - عدد الغياب - الناجح - الراسب -نسبة النجاح ) وتكون المواد افقية وبيانات راسية في جدول 4- ورقة للعشرة الاوائل 5- دباجة كل ورقة من الشيت في الطباعة المحافظة-الادارة-المدرسة الصف - العام - عدد الطلاب في الورقة - عدد الناجحين - عدد الراسبين في كل ورقة طباعة
    1 point
  34. استازى القدير / ياسر خليل معادلة رائعة بحق تتلافى قصور المعادلة الاولى .. فلعلى ام انتبة الى تلك الاحتمالات .. جزاك الله عنا خيراً
    1 point
  35. السلام عليكم أخي الصقر تفضل الملف مهم للغاية.rar
    1 point
  36. للاسف والله الملف مش عايز يفتح معايا مش عارف دى مشكله عندى او بالمنتدى او من الملف بتاعك نفسه ياريت احد من الاعضاء يجرب بنزل الملف نشوف المشكله فين
    1 point
  37. اخى الكريم الملف لا يعمل من فضلك يرجى اعادة رفع الملف وبخصوص طلبك بشكل عام كل شئ بأذن الله ممكن ويمكن استخدام داله sumifs تقبل تحياتى
    1 point
  38. السلام عليكم ورحمة الله أستاذنا الفاضل محمد حسن المحمد أرى أن تسرعي في الرد على الأخ تيبازي كان عن غير قصد والله أعلم بهذا أردت فقط أن أمزح بتلك الكلمات فإني والله على ما أقول شهيد لأحبه وأحب جميع الإخوة الأعضاء في الله فإن إنزعج من كلامي فهذا إعتذاري " أتمنى من الأخ تيبازي أن يسامحنا على تصرفنا معه بهذه الطريقة " وشكرا لأستاذنا الفاضل محمد حسن المحمد على نصحه لنا وحتى إن كنت حادا في كلامك فكلمة حق تعلوا ولا يعلى عليها تقبلو خالص تحياتي واحترامي أخوكم // الخليفة الأول
    1 point
  39. السلام عليكم ورحمة الله نعم ألقيت نظرة ولاحظت انك أسندت مصدر بيانات الصف من خصائص الكمبوبكس من الخلية 9 الي الخلية 20.000 ممتاز ليس هناك أي خطأ وممكن يتم عملة بالكود إلي آخر خلية في العمود وعددها 1048000 تقريبا من دون تحديد آخر خلية
    1 point
  40. السلام عليكم تفضل شاهد هذا الحل بالتوفيق
    1 point
  41. وعليكم السلام شباب :-) اسمحوا لي بالمشاركة :-) انا بعيد عن برنامج الاكسس ، فساحتاج مساعدتك قليلا :-) اذهب الى Tools ثم اختار (هنا محتاج مساعدتك) ، في احد الاختيارات ، سترى ان اسم قاعدة البيانات هو Database ، غيّره إلى jjafferr واضغط الزر موافق ، و كل شئ سيصبح تمام :-) طبعا تقدر تسميه أي اسم آخر ، و لكن لا تسميه db . جعفر
    1 point
  42. db من المعرفات او اسماء الكائنات في المحرر والاكسس لذلك اظن لم يقبلها والافضل تضع الاسم db1 او اي اسم تريده..
    1 point
  43. أخي الكريم سليم حجم الخط يكون كبير عشان عيني راااااحت جرب الملف .. الملف يعتمد في العمل على ورقة "ادخال وسيط" ..قم باختيار المقاسات المطلوبة في الورقة ونفذ الكود مرة أخرى . تقبل تحياتي
    1 point
  44. أخي الفاضل أهلا ومرحباً بك في المنتدى من المفترض أن يتم شرح المطلوب بشكل أكثر تفصيلاً ولكن لأني عملت على مثل هذا الكود من قبل فقد أدركت المطلوب .... يرجى الإطلاع على موضوع التوجيهات للأعضاء الجدد في الموضوعات المثبتة في المنتدى ويرجى تغيير اسم الظهور للغة العربية إليك الكود التالي عله يفي بالغرض Sub TransferDataToClosedWB() On Error Resume Next Dim WB As Workbook Dim LR_A As Long, LR_B As Long Dim Answer As Long LR_A = IIf(Cells(Rows.Count, 1).End(xlUp).Row <= 8, 9, Cells(Rows.Count, 1).End(xlUp).Row) Application.ScreenUpdating = False ThisWorkbook.Sheets("Sheet1").Range("B9:K" & LR_A).Copy Set WB = Workbooks.Open(Filename:=ThisWorkbook.Path & "\" & "اكسل2.xlsm") With WB.Sheets("Sheet1") LR_B = IIf(Cells(Rows.Count, 1).End(xlUp).Row <= 2, 3, Cells(Rows.Count, 1).End(xlUp).Row + 1) .Range("A" & LR_B).PasteSpecial xlPasteValues .Range("L" & LR_B).Value = ThisWorkbook.Sheets("Sheet1").Range("F6").Value .Range("M" & LR_B).Value = ThisWorkbook.Sheets("Sheet1").Range("B4").Value End With On Error GoTo 0 WB.Close SaveChanges:=True Application.CutCopyMode = False Application.ScreenUpdating = True End Sub لا تنسى أن تحدد أفضل إجابة وأن تضغط على كلمة "سجل إعجاب بهذا" .. Desktop V2.rar
    1 point
  45. أخى العزيز الاستاذ الفاضل // محمد أبوالبراء وأبو فاطمة الزهراء بداية جزاكم الله خيرا وبارك فيكم وفى أولادكم وكل عام انتم وجميع السادة الزملاء بكل خير ورمضان كريم أرى أخى العزيز أن تتوكل على الله تعالى بعرض الاصدار السادس بموضوع منفصل ومن خلال التجربة العملية تأتى تباعا مقترحات السادة الزملاء عما إذا كان هناك إضافات أم يبقى الاصدار السادس دون مقترحات حسب مايراه الساده الزملاء مجرد رأى .... أرجوبأن لاأكون متطفلا بإقتراحى هذا تقبل وافر إحترامى وتقديرى لمجهودكم الذى حرمنا منها خلال الفترة الماضية الذى نحتسبه فى موازيين حسناتكم يوم لاينفع مالا ولا بنين إلا من أتى الله بقلب سليم وجزاكم الله خيرا
    1 point
  46. جزاك الله خير بحثت عن شرح باللغة العربية ل Dashboard على الاكسيل ولم اجده حتى الآن ؟ آمل مساعدتي
    1 point
  47. اليك المرفق النهائي لاعداد الرواتب وتقريبا حسب المطلوب ، وقد اخذ من وقتي ما أخذ ، ونكون كذا وقفنا امام البوابة الاخيرة لذا آمل ان تفتح موضوعا جديدا لكل استفسار حول الموضوع - يقوم المثال المرفق بإعداد ثم عرض الرواتب حسب المعطيات في الجداول - دقق في المثال ولا حظ التغييرات التي حصلت لبعض الحقول ومربعات التحرير - بقي ان تعمل لكل جدول نموذجا يخصه ملحوظة : تم تحويل استعلام الالحاق الى كود vb داخل النموذج علما انه يمكن استرجاعه كاستعلام رواتب5.rar
    1 point
  48. السلام عليكم تفضل المرفق
    1 point
  49. السلام عليكم هذا برنامج مصمم لتحضير الموظفين على سبيل المثال كلمة المرور allosh الرقم السري 1234 مع تحيات علوش ( ابو فيصل ) Care.rar
    1 point
×
×
  • اضف...

Important Information