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

أ / محمد صالح

أوفيسنا
  • Posts

    4,444
  • تاريخ الانضمام

  • Days Won

    192

كل منشورات العضو أ / محمد صالح

  1. عليكم السلام ورحمة الله وبركاته للحصول على الاسم الأول يمكنك استعمال هذه المعادلة =LEFT(N14,FIND(" ",N14)-1) وللحصول على الاسم الأخير يمكنك استعمال هذه المعادلة =RIGHT(N14,LEN(N14)-FIND("*",SUBSTITUTE(N14," ","*",LEN(N14)-LEN(SUBSTITUTE(N14," ",""))))) تم تدمج الحلايا الثلاث في خلية واحدة التي بها الرقم والاسم الأول والاسم الأخير =aj1&" "&aj2&" "&aj3 وتكون هذه هي خلية اسم الشيت بالتوفيق
  2. هدية رائعة لو أمكن جعل الملفات المساعدة واحد فقط يكون أفضل كل عام وأنتم بخير وضحة وسعادة
  3. فكرة رائعة تحتاج لمزيد من التطوير وخاصة في ضبط نهاية الكلمات فربما الكلمة المشكولة مرفوغة وموقع التي يتم تشكيلها منصوب مثلا ورغم كل شيء بارك الله لك وكل عام وجميع الأعضاء زالزوار بكل خير وصحة وسعادة
  4. يمكنك استعمال هذه المعادلة في الخلية D3 =IF(OR(A3=0,A3=""),"",C3-22) بالتوفيق
  5. يمكنك استعمال هذه المعادلة في الخلية D12 =IFERROR(IF(INDEX(D$6:D$10,MATCH($C12,$C$6:$C$10,0))="",CHAR(251),IF(COUNTIF($C12:C12,CHAR(252))>=$L12,CHAR(251),CHAR(252))),"") مع تغيير نوع الخط في هذه الخلية إلى wingdings لتظهر علامة الخطأ والصواب مع سحب المعادلة يمينا ثم أسفل بالتوفيق
  6. أعلم هذا جيدا فأنا رئيس كنترول في مدرسة ثانوي لكن الكود الخاص بكم لا يعتمد هذا الأسلوب فقط عدلت ألا يزيد عدد الأرقام السرية عن عدد العشرة بالمائة والأسلوب الصحيح: مراجعة ورقة واحدة من كل 10 ورقات يحتاج إلى الكثير من التخطيط أولا لكي يتم برمجته: ماذا لو لم يوجد درجة أعلى من الدرجة المطلوبة في أول 10 ورقات؟ أو ثاني 10 ورقات .... إلخ ؟ هل يتم إنزال الدرجة المطلوبة درجة ؟ أم رصد أعلى ال 10 ورقات ؟ ولكل من هذين الخيارين موااااااال إن شاء الله اساهم في برمجة نسبة ال 10 بالمائة بصورة أدق حسب وقت الفراغ بالتوفيق
  7. بارك الله لك وكل عام وأنتم بخير وصحة وسعادة في العشر العظيمة
  8. المطلوب غير واضح لي بصورة كافية ربما لو ارفقت الملف مع توضيح المطلوب بمنتهى التفصيل تنتهي المشكلة بإذن الله
  9. يمكنك استعمال دالة sumifs للجمع باكثر من شرط في الخلية D6 =SUMIFS(Data!D:D,Data!C:C,C6,Data!A:A,">="&$C$4,Data!A:A,"<="&$E$4) بالتوفيق
  10. يمكنك تجربة هذا التعديل تم إضافة شرط عدم زيادة عدد الأرقام السرية عن عدد العشرة بالمائة من الحضور بالتوفيق محضر العشرة بالمائة.xlsb
  11. تمت الإجابة عن شيء مثل هذا بالتوفيق
  12. عليكم السلام ورحمة الله وبركاته يمكنك استعمال هذه المعادلة في الخلية B2 وسحبها يمينا ثم أسفل =IF(AND(B$1>=main!$B3,B$1<=main!$C3),B$1,"") وتعني إذا كان التاريخ المكتوب في B1 أكبر من أو يساوي تاريخ بداية المدة وأقل من أو يساوي تاريخ نهاية المدة يتم كتابة هذا التاريخ وإلا تظهر الخلية فارغة مع تغيير تنسيق الخلايا إلى تاريخ بالتوفيق
  13. مشكلة عدم ظهور أحد في صفحة كل معلم على حدى يرجع إلى عدم دقة معادلة الفلتر جرب استعمال هذه المعادلة في الخلية D9 =IFERROR(INDEX(sheet2!B$4:B$300,SMALL(IF(sheet2!$AK$4:$AK$300=$J$1,ROW(sheet2!B$4:B$300)),ROW($D1))),"") ويمكنك سحبها يسارا ولأسفل مع مراعاة بداية ونهاية النطاقات في مثل هذه المعادلات ويمكن تحويلها إلى كود بأكثر من طريقة أسهلها أن تضع المعادلة في النطاق بالكود مثلا range("d9:d28").formulaarray = "=IFERROR(INDEX(sheet2!B$4:B$300,SMALL(IF(sheet2!$AK$4:$AK$300=$J$1,ROW(sheet2!B$4:B$300)),ROW()-8)),"""")" ثم تحول ناتج المعادلة إلى قيم بهذا الكود range("d9:d28").value = range("d9:d28").value وهكذا مع كل نطاق له معادلة مختلفة وأقترح أن تربط ذلك بتغيير الخلية J1 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$J$1" Then Range("d9:d28").FormulaArray = "=IFERROR(INDEX(sheet2!B$4:B$300,SMALL(IF(sheet2!$AK$4:$AK$300=$J$1,ROW(sheet2!B$4:B$300)),ROW()-8)),"""")" Range("d9:d28").Value = Range("d9:d28").Value MsgBox "Done by mr-mas.com" End If End Sub مع تكرار السطرين الثالث والرابع مع كل نطاق له معادلة محتلفة رغم أني لا أميل أبدا إلى موضوع تحويل المعادلات إلى أكواد فهذا يستهلك موارد الجهاز فيما لا يفيد المستخدم ولا يحمي المعادلات بالتوفيق
  14. أخي الكريم ينبغي عليك أن تسأل مصمم البرنامج لأن المحدوف ويعطي خطأ ref بيانات من شيت محذوف به البيانات الرئيسية مثل القطاع والمعهد وهكذا بالتوفيق
  15. الحمد لله الذي وفقنا جميعا لهذا
  16. يمكنك استعمال هذا الكود لحذف أقدم التكرارات Sub DeleteOldestRepeated() lr = Cells(Rows.Count, 3).End(xlUp).Row For r = 2 To lr If Evaluate("=COUNTIF($C$2:$C$" & lr & ",C" & r & ")") > 1 Then For n = (r + 1) To lr If Range("c" & n).Value = Range("c" & r).Value Then If Range("b" & n).Value >= Range("b" & r).Value Then Rows(r & ":" & r).Delete Shift:=xlUp r = r - 1 Else Rows(n & ":" & n).Delete Shift:=xlUp End If End If 'Exit For Next n End If Next r MsgBox "Done by mr-mas.com" End Sub وإذا كانت احتمالات التكرارات مرتين فقط في الاسم الواحد فيمكن حذف علامة التعليق قبل exit for لتسريع الكود أكثر بالتوفيق
  17. حسب فهمي للمطلوب يمكنك استعمال هذا السطر لتنسيق قيمة الخلية وعرضها باثميم من المنازل العشرية Me("txtQty" & AD) = Format(Sheet1.Cells(i, 3), "0.00") ولا أدري ما سبب تكرار سطور الكود يكتفي بأول أربعة فقط Private Sub CommandButton1_Click() For i = 8 To 40 If Sheet1.Cells(i, 1) = Val(Me.TxtSearch) Then AD = AD + 1 Me("txtItem" & AD) = Sheet1.Cells(i, 2) Me("txtQty" & AD) = Format(Sheet1.Cells(i, 3), "0.00") Me("txtPrice" & AD) = Format(Sheet1.Cells(i, 4), "0.00") Me("txtTotal" & AD) = Sheet1.Cells(i, 5) End If Next i End Sub بالتوفيق
  18. المطلوب غير واضح لي بصورة كافية لكني أتوقع أن المطلوب في الشيت الرابع عمل بحث عن رقم العضو وجلب بياناته أفضل من تكرار نفس التصميم بعدد الأعضاء راجع هذا الملف ربما يكون المطلوب فقط يلزمك كتابة رقم العضو في الخلية J2 ولا أدري ما المطلوب من الشيت الثالث بالتوفيق 2023.xlsx
×
×
  • اضف...

Important Information