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

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

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

    13,165
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    412

كل منشورات العضو ياسر خليل أبو البراء

  1. يحدث ذلك أخي الفاضل ، لأن الإكسيل يرى الخلية فارغة على انها ليست فارغة وإنما تعتبر مساوية لرقم صفر .. وصفر على ما أعتقد كرقم تسلسلي في التواريخ هوبداية الأرقام التسلسلية فيظهر التاريخ بشهر 1 لعام 1900 ولتلافي الخطأ قم بتعديل المعادلة بهذا الشكل =IF(E5="","",DAY(E5)) =IF(E5="","",MONTH(E5)) =IF(E5="","",YEAR(E5))
  2. الحلقة التاسعة ************ السلام عليكم ورحمة الله وبركاته النهاردة هنضرب 3 أشباح بحجر واحد (نشتغل قناصة) ، يعني الحلقة دي هنتكلم عن 3 أمور .. هنراجع على كيفية بناء دالة (هنأكد عليها بمثالين) ، ومن خلال المثالين (الشبحين) هنتعلم إزاي نتعامل مع الشروط .. يبقا مراجعة + معلومتين ! حلقة النهاردة مفيهاش كلام كتير ، بس موعدكمش إنتو عارفين طبعي بحب الرغي! معظمها هتكون عملي .. لنبدأ الحلقة على بركة الله الشكل العام لـ IF الشرطية .. عندنا 4 أشكال : الشكل الأول والثاني : لو هنتعامل مع شرط واحد وكل اللي يهمنا إن الشرط يتحقق ، مثال : If 100 > 90 Then MsgBox "The number 100 is greater than 90" الجملة لازم تبدأ بـ IF وبعديها جملة الشرط ، جملة الشرط هنا 100 أكبر من 90 (واحد هيقولي مش دي علامة أصغر من ..هقوله متنساش إننا بنكتب من الشمال لليمين ، والعلامة ممكن تقراها حسب الاتجاه ، بالعامية كدا إحنا قرينا رقم 100 مثلا هنلاقي الفتحة نحية الرقم 100 يبقا كدا نقراها أكبر من ) عارف إنها معلومة بسيطة بس فيه ناس ممكن يحصل عندها Confusion. الشرط اللي بنكتبه بيكون نتيجته حاجة من اتنين يا أبيض يا إسود (يا إما True يا إما False) ، لو كانت نتيجة الشرط True صحيحة بالمعنى البلدي يبقا اللي جاي هيتم تنفيذه ، أما لو كانت False المحرر مش هيعبر الجملة اللي ورا كلمة Then وهيعديها ، ويقول للسطر اللي بعد Then (عدي يا كود مفيش منك مصلحة) نجرب نغير علامة أكبر من إلى أصغر من ، ونشوف النتيجة ، مفيش تنفيذ لسطر الكود لأن الشرط لم يتحقق !! لاحظنا إننا كتبنا كله في سطر واحد .. ممكن اللي فات يتكتب في 3 أسطر في الحالة دي هيكون بالشكل ده : If 100 > 90 Then MsgBox "The number 100 is greater than 90" End If هنا الشرط في سطر متبوع بكلمة Then ، والسطر المراد تنفيذه في حالة تحقق الشرط (بقول تاني في حالة تحقق الشرط) دا السطر التاني ، طيب والسطر التالت ده جه منين (دا القفلة زي ما اتعودنا قفلة جملة If بتكون جملة End If ، ولاحظوا إننا في الشكل الأول مستعملناش القفلة لأننا كتبناها في سطر واحد فقط .. الشكل التالت : لما نتعامل مع شرط واحد بردو ، بس في الحالة دي إحنا عايزين نحدد ايه المطلوب من المحرر لما الشرط يتحقق ، وايه المطلوب لما الشرط ميتحققش .. بالمثال يتضح الكلام المكلكع ده : نفس المثال اللي فات بس هنزود عليه شرط إذا لم يتحقق الشرط ، بيتم استخدام جملة Else بهذا الشكل : If 100 > 90 Then MsgBox "The number 100 is greater than 90" Else MsgBox "The number 100 is less than 90" End If محدش سألني لحد دلوقتي إزاي بيتم تنسيق الكود بهذا الشكل؟ التنسيق للكود بيخلي الكود أسهل إنك تقراه وتفهم معناه .. يعني لو كتبت الكود بالشكل اللي جاي كدا هيكون أصعب شوية في التعامل معاه لما تيجي تقراه : If 100 > 90 Then MsgBox "The number 100 is greater than 90" Else MsgBox "The number 100 is less than 90" End If طبعا الفرق واضح .. والفرق يوضح أكتر لما تتعامل مع أسطر كثيرة من الأكواد .. اتعملت إزاي ؟ عن طريق الضغط على المفتاح tab بعد ما أضع المؤشر في أول السطر المهم مش هنتكلم عن البداية ولا النهاية لجملة If ، إحنا بس هنركز على جملة Else ، هي دي اللي بتفصل بين السطر المراد تنفيذه إذا تحقق الشرط ، والسطر المراد تنفيذه إذا لم يتحقق الشرط .. السطر اللي قبل Esle دا ليه الأولوية طبعاً بس في حالة تحقق الشرط ، أما السطر اللي بعديها بيكون في حالة عدم تحقق الشرط ..أظن كدا واضحة (عمال أقول الكلام بأكتر من أسلوب وأكتر من مرة ، لأن في الإعاة إفادة) نجرب الكود مرة بالشكل اللي فات ، ونغير علامة أكبر من إلى علامة أصغر من ونجرب مرة تانية ونلاحظ الرسالة (أقصد مدى تحقق الشرط) الشكل الرابع والأخير لـ IF دا بقا اللي تقدر من خلاله تضع شروط كتيرة زي ما إنت عايز (خد راحتك ..حط شروطك يا كبير ، والمحرر ينفذ) هنا المثال هو أفضل شرح ، هنكتب دالة Function وهنستخدم فيها IF مع الشكل الرابع ؛ لأننا عندنا شروط كتير .. الجماعة اللي بيشتغلوا في المدارس (ربنا يبارك فيهم) ، بيعملوا معادلة لتحديد المستوى أو التقدير (وشروطهم بتكون بالشكل ده : لو الطالب غ يبقا الناتج غ (حد عنده اعتراض) .. لو درجة الطالب ما بين 0 و 49 يبقا تقديره دون المستوى .. ولو الطالب درجته ما بين 50 و 64 يبقا مقبول .. ولو الطالب درجته ما بين 65 و 74 يبقا تقديره جيد .. ولو الطالب درجته ما بين 75 و 84 يبقا تقديره جيد جداً .. ولو الطالب درجته ما بين 85 و 100 يبقا ممتاز (شفتوا الشروط ..حاجة كدا تحس إنها متشابكة) .. بالمعادلات ممكن نعملها بالشكل ده : =IF(A1="","",IF(A1="غ","غ",IF(AND(A1>=0,A1<50),"دون المستوى",IF(AND(A1>=50,A1<65),"مقبول",IF(AND(A1>=65,A1<75),"جيد",IF(AND(A1>=75,A1<85),"جيد جداً",IF(AND(A1>=85,A1<=100),"ممتاز",""))))))) هي دي المعادلة اللي هتأدي الغرض وتحقق المطلوب .. بس تعرفوا إن طول المعادلة بالشكل ده 188 حرف (الحرف مقصود بيه الحروف والرموز) .. طبعاً المعادلة ممكن نحولها لدالة تحقق لنا المطلوب ، خلينا نشوف ونجرب : Function Grade(Mark As Variant) As String If IsEmpty(Mark) Then Grade = "" ElseIf Mark = "غ" Then Grade = "غ" ElseIf Mark >= 0 And Mark < 50 Then Grade = "دون المستوى" ElseIf Mark >= 50 And Mark < 65 Then Grade = "مقبول" ElseIf Mark >= 65 And Mark < 75 Then Grade = "جيد" ElseIf Mark >= 75 And Mark < 85 Then Grade = "جيد جداً" ElseIf Mark >= 85 And Mark <= 100 Then Grade = "ممتاز" End If End Function اتعرفنا قبل كدا على كيفية بناء الدالة ، ودا مثال تاني لتأكيد التعامل مع بناء الدوال : بدأنا بكلمة Function لأننا بنتعامل مع دالة وليس إجراء فرعي ، متبوعة باسم الدالة (والتسمية قلنا إنت حر فيها مثلا هنسميها Grade) ، طيب إحنا لما نتعامل مع الدالة دي ، نشوف الدالة دي هتتعامل مع ايه ؟؟ الدالة هتتعامل مع درجة الطالب ، فنسمي المتغير الخاص بالدالة Mark ،والدرجة دي قد تكون أرقام من 0 إلى 100 وقد تكون حروف (غ) بالتالي نخلي نوعها Variant لأن النوع ده من المتغيرات Variables بيتعامل مع أي حاجة ، فهنا هيتعامل مع أرقام ونصوص ، طيب والناتج المفروض هيكون عبارة عن نص ، فدا نخليه String وممكن نخليه Variant بس إحنا عايزين الناتج نص وبس (دون المستوى - مقبول - جيد - جيد جداً - ممتاز - غ - فراغ "") أعتقد إن الصورة واضحة ، هنا استخدمنا جملة ElseIf مش Else لأننا بنتعامل مع شروط متعددة ، ممكن نفضل نستخدمها لحد آخر شرط ، وممكن قبل الشرط الأخير نستبدلها بـ Else (إنت وراحتك) بعد كل كلمة ElseIf وضعنا شرط وفي آخر الشرط مننساش كلمة Then لما يكون فيه أكتر من شرط في نفس الوقت (بمعنى شرطين واجب تحققهم في نفس ذات الوقت بنستخدم المعامل Operator اللي اسمه And) بمعنى آخر للي ميعرفش المعامل And (لما نستخدم المعامل ده يبقا الشرطين لازم نتيجتهم تكون True عشان ينفذ السطر اللي وراه) ---------------- ناخد مثال فرعي عشان نفهم And : X = 10: Y = 20 If X = 10 And Y = 20 Then MsgBox "X = 10" & vbCrLf & "Y =20" في السطر ده لو اتحقق الشرطين وكانت نتيجتهم صحيحة هيظهر الرسالة اللي مذكورة دي ، أما لو شرط واحد فيهم متحققش ، يبقا مش هيتنفذ الكود .. معلومة إضافية لعمل سطر جديد في الرسالة نستخدم كلمة vbCrLf أو فيه كلمة أسهل منها بتؤدي نفس الوظيفة اسمها vbNewLine .. ونلاحظ بردو في الرسالة إننا استخدمنا المعامل & ودا بيستتخدم لربط أو دمج النصوص .. (أعتذر عن الخروج عن الموضوع الأصلي) ---------------- يرجع مرجعونا للدالة الخاصة بالتقدير : وضعنا الشروط ، وكلما تحقق شرط معين يتم وضع قيمة نصية لاسم الدالة : فلو تحقق الشرط مثلاً إن الدرجة ما بين 50 و 64 ، بنقول ساعتها إن الدالة اللي سميناها Grade ساعتها تحمل القيمة النصية "مقبول" ، ووضعنا النصوص بين أقواس تنصيص كما تعودنا .. يبقا في الحالة دي لو درجة الطالب 55 يبقا التقدير "مقبول" (اللهم اجعلنا من المقبولين) .. لتطبيق الدالة : اكتب القيم التالية في النطاق A1:A13 0 49 50 55 65 66 74 75 84 85 90 100 غ في الخلية B1 اكتب المعادلة : =Grade(A1) ونسحب المعادلة لحد بعد آخر النطاق ، يعني خلي المعادلة لحد A15 مثلاً عشان نشوف لما تكون الخلية فارغة ايه اللي هيحصل .. شوفوا بقا الفرق ما بين المعادلة اللي حطينها في الأول اللي طولها 188 حرف والمعادلة دي ، دي طولها يدوب 9 حروف بس (ادعوا لي !) ** ملحوظة : يا ريت لما نيجي نحط شروط ، نخلي شرط فراغ الخلية يكون في الأول (لأني جربت في دالة أخلي شرط الفراغ في الآخر بيعمل شوية كعبلة ، ودا سببه إننا لو حطينا الشرط مثلا الدرجة ما بين 0 و 49 .. الأول هيتم التعامل مع الخلايا الفارغة إنها صفر وليست خلايا فارغة) المهم عشان ميحصلش توهااااااان خليكوا تكتبوا شرط الفراغ في أول الشروط (اللي عايز يجرب يحط الشرط ده في الآخر يجرب ويشوف الكعبلة بنفسه) Function Grade(Mark As Variant) As String If Mark = "غ" Then Grade = "غ" ElseIf Mark >= 0 And Mark < 50 Then Grade = "دون المستوى" ElseIf Mark >= 50 And Mark < 65 Then Grade = "مقبول" ElseIf Mark >= 65 And Mark < 75 Then Grade = "جيد" ElseIf Mark >= 75 And Mark < 85 Then Grade = "جيد جداً" ElseIf Mark >= 85 And Mark <= 100 Then Grade = "ممتاز" ElseIf IsEmpty(Mark) Then Grade = "" End If End Function هوفر عليك وقت في التعديل ، جرب الدالة بهذا الشكل بنفسك ، وروح لورقة العمل واعمل دبل كليك في الخلية B1 عشان تشوف القيم الجديدة أو اضغط F9 لتحديث الدالة .. المشكلة بتحصل لأن منطق الترتيب في الشروط موجود ، بمعنى آخر إنه ماشي شرط شرط ، وأول ما شرط يتحقق ينتهي تنفيذه للدالة ، فلو وضعنا شرط الدرجة ما بين صفر و49 .. أول ما يلاقي خليه فاضية هيعاملها على إنها صفر وليست فارغة لأننا وضعنا شرط الفراغ في نهاية الدالة ، فنلاقي ناتج المعادلة مع الخلايا الفارغة (دون المستوى) .. انتهت الملحوظة (أنا عارف إن فيه ناس هتدعي عليا بسبب الملحوظة اللي متعتبرش ملحوظة دي .. دي درس جوا درس)@ آخر نقطة نتكلم فيها جملة IsEmpty (ودي دالة مدمجة في محرر الأكواد لاختبار الفراغ :: هل الخلية دي فارغة أم لا ؟؟) ، وممكن نستغنى عنها ونقول : If Mark = "" Then Grade = "" نرجع للصح ونخلي شرط الفراغ في أول الدالة ..أظن بإذن الله كدا الأمور بقت واضحة تماماً... ننتقل لمثال آخر وأخير عشان أنا تعبت لكم صراحة : نفس المثال ولكن بصورة أخرى .. هنعمل دالة ، هنغير اسمها بس عشان نطبقها في نفس الملف اللي إحنا شغالين عليه .. هنسميها Level وهنا في المثال القادم بإذن الله هنستخدم حاجة شبيهة بجملة If بس بصراحة ألذ وشكلها أشيك وأسهل في الفهم .. الجملة اسمها Select Case وبييجي وراها المتغير اللي هنشتغل عليه (اللي هو في الحالة دي Mark درجة الطالب) وبعدين نبدأ نضع حالات الشرط بكلمة Case متبوعة بالشرط بس بشكل مختلف شوية وقبل آخر شرط ممكن نستخدم Case Else وممكن نستغنى عنها (مش هتفرق) ، وفي النهاية مننساش القفلة يا عبد المولى (End Select) .. Function Level(Mark As Variant) As String Select Case Mark Case "" Level = "" Case 0 To 49 Level = "دون المستوى" Case 50 To 64 Level = "مقبول" Case 65 To 74 Level = "جيد" Case 75 To 84 Level = "جيد جداً" Case 85 To 100 Level = "ممتاز" Case "غ" Level = "غ" End Select End Function لتطبيق الدالة نروح للخلية C1 في ورقة العمل ونضع المعادلة بهذا الشكل ، ونسحبها لحد A15 مثلا ، عشان نقارن النتائج : =Level(A1) مش هشرح تفاصيلها ؛ لأنها واضحة وضوح الشمس في عز الليل ..(شكلي هنجت ...!!) .. (حد يضغط F5 عشان يعملي ريفرش .. الطالب المنتبه هيقولي كدا غلط لو ضغطنا هنا F5 ، وإحنا جوا محرر الأكواد كدا هينفذ أمر مش هيعمل ريفرش) بكدا نكون انتهينا من شبحين من أهم أشباح عالم الأكواد (شبح If وشبح Select Case) ، وكمان شبح (بناء الدالة UDF) أستودعكم الله ، أترككم في رعاية الله .. كان معكم القناص أبو البراء (صائد الأشباح) من قلعة الرعب أوفيسنا
  3. بارك الله فيك أستاذي جمال عبد السميع حين كتبت مشاركتي لم تكن إجابتك موجودة حينها ، وإلا لكنت أدركت أنه تاريخ هجري وليس ميلادي ولم أدقق النظر حقيقة في الرقم ظناً مني أنه رقم تسلسلي وليس تاريخ هجري بدون فواصل عموما بارك الله فيك ولا حرمنا الله من وجودك ومن إبداعاتك التي لا تتوقف تقبل مروري
  4. ارفق ملف أخي الفاضل لتوضيح مطلوبك
  5. Sub TransferData() Dim WS_Data As Worksheet, WS_Invoice As Worksheet Dim LR As Long Set WS_Data = ThisWorkbook.Worksheets("Data") Set WS_Invoice = ThisWorkbook.Worksheets("Invoice") LR = WS_Data.Range("B210").End(xlUp).Row + 1 If IsEmpty(Range("B13")) Or IsEmpty(Range("C13")) Then With WS_Data .Cells(LR, 2).Value = "" .Cells(LR, 3).Value = WS_Invoice.Range("B13") .Cells(LR, 4).Value = WS_Invoice.Range("C13") .Cells(LR, 5).Value = "" .Cells(LR, 6).Value = "" .Cells(LR, 7).Value = "" .Cells(LR, 8).Value = "" End With Exit Sub Else With WS_Data .Cells(LR, 2).Value = WS_Invoice.Range("A25") .Cells(LR, 3).Value = WS_Invoice.Range("B13") .Cells(LR, 4).Value = WS_Invoice.Range("C13") .Cells(LR, 5).Value = WS_Invoice.Range("F10") .Cells(LR, 6).Value = WS_Invoice.Range("C9") .Cells(LR, 7).Value = WS_Invoice.Range("F9") .Cells(LR, 8).Value = WS_Invoice.Range("H10") End With End If End Sub
  6. أخي الفاضل هل الرقم 14351002 ضمن الأرقام المسلسلة كتاريخ ؟ لا أعتقد ذلك ..تأكد من أن الرقم يحمل فواصل عشرية أو خلافه ..!! من أين أتيت بهذا الرقم .. فضلا نرجو التوضيح
  7. قم باستبدال هذا السطر > إذا أردت أن ينطبق الشرطين معا استخدم كلمة And ما بين الشرطين ، أما لو أردت أحد الشرطين فاترك Or كما هي بالكود MsgBox "من فضلك أكمل محتويات الفاتورة !!": Exit Sub With WS_Data .Cells(LR, 2).Value = "" .Cells(LR, 3).Value = WS_Invoice.Range("B13") .Cells(LR, 4).Value = WS_Invoice.Range("C13") .Cells(LR, 5).Value = "" .Cells(LR, 6).Value = "" .Cells(LR, 7).Value = "" .Cells(LR, 8).Value = "" End With
  8. تفضل أخي الغالي Sub TransferData() Dim WS_Data As Worksheet, WS_Invoice As Worksheet Dim LR As Long Set WS_Data = ThisWorkbook.Worksheets("Data") Set WS_Invoice = ThisWorkbook.Worksheets("Invoice") LR = WS_Data.Range("B210").End(xlUp).Row + 1 If IsEmpty(Range("B13")) Or IsEmpty(Range("C13")) Then MsgBox "من فضلك أكمل محتويات الفاتورة !!": Exit Sub Else With WS_Data .Cells(LR, 2).Value = WS_Invoice.Range("A25") .Cells(LR, 3).Value = WS_Invoice.Range("B13") .Cells(LR, 4).Value = WS_Invoice.Range("C13") .Cells(LR, 5).Value = WS_Invoice.Range("F10") .Cells(LR, 6).Value = WS_Invoice.Range("C9") .Cells(LR, 7).Value = WS_Invoice.Range("F9") .Cells(LR, 8).Value = WS_Invoice.Range("H10") End With End If End Sub
  9. أنا مجرد تلميذ يا مستر حسام ، وبردو بنقل ، كل الفكرة إني بهضم المعلومة وأنقلها بأسلوبي ..ودا اللي أنا عايزك تعمله
  10. يمكنك الإطلاع على الكود من خلال محرر الأكواد عن طريق الضغط على Alt + F11 .. فيه موضوع لبدايات البرمجة باسم افتح الباب وادخل لعالم البرمجة ، فيه البدايات والتساؤلات اللي بتسأل عليها في البداية
  11. جزاكم الله خيراً أخي الحبيب حسام أنا قاعد لك للساقطة واللاقطة إنت قلت (إذا حذفنا الاسم Sue P من الخلية B9، فسنحصل على النتيجة ‎#N/A في الخلية F5 نظرًا لعدم تمكّن الصيغة من العثور على الاسم في النطاق B3:C11 في الخلية F5.) مين الأخ ده Sue P؟؟ اللي موجود في B9 (وليد حلو) يا حسام يا حلو .. وبلاش التعقيد في الشرح .. فهم الكلام واشرحه بأسلوبك (خلي ليك أسلوب مستقل ) اعذرني للانتقاد ..بس أتمنى يكون بناء مش هدام .. بارك الله فيك على المجهود المبذول أخي الحبيب Sue P أقصد حسام حبيبي
  12. أخي الحبيب عبد المنعم حقيقة أنا لم أفهم الشروط التي تريدها .. ممكن نبدأ واحدة واحدة .. يعني مثلا قسم الشروط جزء جزء ..بمعنى آخر نحل المشكلة بالتقسيم ويا ريت يا ريت شكل النتائج المطلوبة ..معلش ارفق ملف تاني وارفق شكل النتائج اللي إنت عايزها يمكن نحاول نساعدك
  13. مشكور على مروركم العطر إخواني الكرام .. بس محدش رد الهدية .. عموما أنا مش مستني رد الهدية غير بدعوة بظهر الغيب
  14. أهلا بك أخ وليد جحاب نورت منتدانا ..وأشكرك على إطرائك الجميل جزيت خيراً أخي الكريم
  15. الأخ الفاضل saud133 مشكور على مرورك العطر وكلماتك المشجعة ، وإن شاء الله نواصل .. الأخت الفاضلة morestudy بارك الله فيكي أيتها الطالبة المجتهدة ، وإن شاء المولى نواصل .. هي كل الفكرة إن الردود التشجيعية بمثابة البنزين اللي بيخلي العربية تمشي ، وأنا عربيتي قربت تخلص بنزين ، والبزين الناس مش بتبخل عليا بيه صراحة ، فبإذن الله نكمل لو فيه أي استفسار أو أي نقطة مش واضحة يا ريت متتردديش في الاستسفار عنها ، حتى لو كانت نقطة بسيطة جدا .. الأخ احمد عبده هذا ليس مكان للطلبات ، يمكنك الضغط على (موضوع جديد ) وطرح طلبك فيه ، ويكون عنوان الموضوع معبر عن الموضوع ، والطلب يكون واضح وفيه ملف مرفق حتى تجد المساعدة إن شاء المولى تقبلوا تحياتي
  16. يشرفني مرورك العطر يا عفريت وعايزك معايا بإضافاتك الرائعة ، مش كفاية منك متابعة .. وبعدين تعالى هنا إنت جاي من غير ما تعمل الواجب ؟ ! (كدا هاضطر أعاقبك عقاب جميل !! وأقولك ربنا ميحرمناش منك
  17. الأخوة الكرام بارك الله فيكم تشجيعكم الدائم لي .. وموضوعي إنما هو قطرة في محيط المنتدى ، وأرجو من الله أن تثمر تلك القطرة ثمارها بالنسبة للقمجي متقلقش شادر السمك مفتوح لو معرفتش تصطاد .. وجزيت خيرا أخي الحبيب على كلماتك الطيبة الرقيقة ، التي أسعدت قلبي ..(أنا كنت حاسس إن مفيش متابعين للحلقات .. كدا هتشجعني يا كبير)
  18. وعليكم السلام ورحمة الله بركاته نورت المنتدى أخي الحبيب ، وإن شاء الله تسعد مع أسرة المنتدى كلام في سرك كلمة صرح بالصاد (بس متقولش لحد إني صححت لك الكلمة) تقبل تحياتي أخي أحمد
  19. نفس المشكلة الخاصة بالأخ صلاح حدثت معي خطأ .. ولا أعرف سبب الخطأ
  20. بس كدا أخي سليم عيني إلك حبيبي هي بس المشكلة في الماوس مش بيعمل كليك شمال ههه ولا يمين أنا شغال بلوحة المفاتيح .. متعرفش زرار في لوحة المفاتيح بيعمل إعجاب .. كل ما توصلت إليه علامة التعجب (تمشي معاك ولا أشوف غيرها!!!!!!!) !!!!!!!!!!!!!!!!!!!!!!!!!!!!! إني أحبك في الله
  21. بسم الله ما شاء الله عليك يا أخي سليم عمل رائع بكل ما تحمل كلمة رائع من معنى
  22. أخي الكريم لم تجب على سؤالي ، ولم توضح التفاصيل ، لأن التفاصيل دائما مهمة .... عموما تفضل المرفق أضفت عمود لكل مادة بحيث تعرف المادة التي تم التغيير فيها Target VBA.rar
  23. أخي الحبيب هل تريد أن يتم سرد جميع الدرجات بمجرد تغير مادة واحدة .. .. ؟؟ أم أنك تريد مادة واحدة فقط ؟ .. في ورقة العمل Result المراد عمل المطلوب بها ..هل العناوين تريدها أن تكون كما هي بدون إضافات أم ماذا وضح الأمر كميا ينبغي . ويا ريت يكون فيه شكل النتائج المطلوب العمل عليه (شكل المخرجات لتسهيل الوصول لحل)
  24. يوجد كود بالملف لتنفيذ المطلوب .. يمكنك التعديل على الكود بما يناسب ملفك الأصلي ... إذا لم تستطع قم بإرفاق ملفك الأصلي للعمل عليه
×
×
  • اضف...

Important Information