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

عبدالله بشير عبدالله

الخبراء
  • Posts

    589
  • تاريخ الانضمام

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

  • Days Won

    27

كل منشورات العضو عبدالله بشير عبدالله

  1. السلام عليكم استبدل السطر .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlDescending بهذا السطر .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlAscending لاحظ الكلمة الاخيرة تغيرت طبعا هذا الترتيب للنطاق I8:I73 بالتوفيق
  2. الاسهم في اتجاه واحد نفضل BIOCHEMICAL TEST1.xlsb
  3. نعم صدقت وفاتنى ذلك تعديل الملف BIOCHEMICAL TEST1.xlsb
  4. وعليكم السلام ورحمة الله وبركاته بعد ملاحظة الاستاذ ابو عارف تم نعديل الملف في مشاركتى التالية
  5. السلام عليكم جرب التعديل في الملف Option Explicit Sub CircleLowGrades() Dim ws As Worksheet Dim gradeRanges As Variant Dim maxRanges As Variant Dim cell As Range Dim maxCell As Range Dim maxGrade As Double Dim shp As Shape Dim i As Integer, j As Integer Dim gradeRange As Range, maxRange As Range Set ws = ThisWorkbook.Sheets("شهادةنصف") gradeRanges = Array(ws.Range("D13:P13"), ws.Range("D30:P30"), ws.Range("D47:P47")) maxRanges = Array(ws.Range("D12:P12"), ws.Range("D29:P29"), ws.Range("D46:P46")) For Each shp In ws.Shapes If shp.Name Like "Circle*" Then shp.delete Next shp For i = LBound(gradeRanges) To UBound(gradeRanges) Set gradeRange = gradeRanges(i) Set maxRange = maxRanges(i) For j = 1 To gradeRange.Cells.Count Set cell = gradeRange.Cells(j) Set maxCell = maxRange.Cells(j) If IsNumeric(maxCell.Value) Then maxGrade = Val(maxCell.Value) Else maxGrade = 0 End If If IsNumeric(cell.Value) Then If Val(cell.Value) < maxGrade Then Call DrawCircle(ws, cell) End If ElseIf cell.Value = "غ" Or cell.Value = "غـ" Or cell.Value = "صفر" Then Call DrawCircle(ws, cell) End If Next j Next i End Sub Sub DrawCircle(ws As Worksheet, cell As Range) Dim shp As Shape Set shp = ws.Shapes.AddShape(msoShapeOval, cell.Left + 2, cell.Top + 2, cell.Width - 4, cell.Height - 4) shp.Name = "Circle" & cell.Address(False, False) shp.Line.ForeColor.RGB = RGB(255, 0, 0) shp.Fill.ForeColor.RGB = RGB(255, 255, 255) shp.Fill.Transparency = 1 End Sub test1.xlsb
  6. ، الصورة التي أرفقتها تُظهر 4 أزرار في مربع الحوار، وهو شيء غير ممكن عند استخدام MsgBox مباشرة في VBA، حيث يدعم MsgBox فقط حتى 3 أزرار كحد أقصى.
  7. استاذ ابو حمادة صندوق الاوامر في اكسل الافتراضيه لا تدعم اكثر من امرين الى 3 اوامر فقط وهي:- vbOKCancel (موافق - إلغاء) vbYesNoCancel (نعم - لا - إلغاء) vbAbortRetryIgnore (إيقاف - إعادة المحاولة - تجاهل) vbYesNo (نعم - لا) vbRetryCancel (إعادة المحاولة - إلغاء) إذا كنت بحاجة إلى أكثر من ثلاثة أزرار، يمكنك إنشاء UserForm يحتوي على أربعة أزرار او اكثر مخصصة لتنفيذ الأوامر التي تريدها. ويمكنك تسمية الازرار باي اسم شاهد الملف بواسطة UserForm اوامر userform.xlsb
  8. يتغير اسم الكود في حالة وجود كود اخر بتفس الاسم وعدا ذلك يبقى بنفس الاسم
  9. السلام عليكم ساشرح لك بمثال لنفرض ان الملف 1 به الكود الثالي Sub SortData() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة1") With ws.Sort .SortFields.Clear .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlDescending .SetRange ws.Range("A8:AH73") .Header = xlNo .Apply End With End Sub وتريد تقل الكود الى الملف 2 حيث تريد عمود الفرز مثلا العمود M واول صف به بيانات هو الصف 10 واخر صف به بيانات هو الصف 120 واول عمود به بيانات B واخر عمود به بيانات هو العمود BA الخطوات :- تعديل الكود ليتناسب مع التغيرات في الملف 2 السطر في الكود .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlDescending السطر السابق خاص بالعمود المطلوب فرزه I8 تعنى بداية فرز البيانات الصف 8 للعمود I تهاية الفرز لتفس العمود الصف 73 الان تريد ان تعدل في السطر حسب الملف2 الملف 2 المطلوب عمود الفرز M واول صف به بيانات هو الصف 10 فتكتب بدل M10 -I8 واخر صف 120 فنستبدل M120 - I73 فيكون السطر النهائي .SortFields.Add Key:=ws.Range("M10:M120"), Order:=xlDescending وكذلك يتم التغيير في السطر .SetRange ws.Range("A8:AH73") هذا النطاق يحتوي على جميع الخلايا من العمود A إلى AH ومن الصف 8 إلى 73. ,والملف 2 الخلايا من العمود Bإلى BAومن الصف 10إلى 120. فيصبح SetRange ws.Range("B10:BA120") فيصبح الكود النهائي Sub SortData() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة1") With ws.Sort .SortFields.Clear .SortFields.Add Key:=ws.Range("M10:M120"), Order:=xlDescending .SetRange ws.Range("B10:BA120") .Header = xlNo .Apply End With End Sub بالتوفيق
  10. عملت امر مسح وربطنه بزر تم المسح وعند الغلق اوامر الاكسل العادية ارفق الملف الموجود لديك حنى نفهم الامر بالتطبيق اليك الملف وبه كود مسح جربه واعلمنى بالنتيجة تعريب الرسائل.xlsb
  11. جزاك الله خيرا استاذنا الفاضل ابو عيد
  12. وعليكم السلام اخي الفاضل وجهت استفسارك لصاحب الكود (الذكاء) فاجابني لا، هذا الكود لا يؤثر على رسائل النظام الافتراضية في Excel، مثل رسالة حفظ التغييرات عند إغلاق الملف أو رسائل الخطأ التلقائية، لأنه يعمل فقط عند استدعاء MyMesg كيف يعمل الكود؟ عند استدعاء MyMesg، يقوم بإنشاء Hook (تعديل مؤقت) لتغيير أسماء الأزرار في رسالة واحدة فقط. بمجرد عرض الرسالة، يتم إلغاء التعديل فورًا (UnhookWindowsHookEx m_hHook). Excel سيستمر في استخدام رسائله الافتراضية دون تغيير. هل يؤثر على الرسائل الأخرى؟ 🔹 لا يؤثر على رسائل النظام الافتراضية (مثل حفظ، إغلاق، أو خطأ الصيغ). 🔹 يؤثر فقط على الرسائل التي يتم إنشاؤها باستخدام MyMesg. إذا كنت تريد تأثيرًا دائمًا؟ إذا كنت تريد تغيير أسماء الأزرار لجميع رسائل MsgBox في Excel، يمكن تعديل Application.OnKey أو استخدام VBA Add-In، لكن هذا سيؤثر على جميع الرسائل. انتهى جواب الذكاء الاصطناعي قمت بتجربة الملف الذي ارفقته لك سابفا عتدقفل الملف تظهر واجهة الاكسل العادية ولا اعلم سبب ظهور الواجهة مختلفة لديك اثمنى من الاعضاء تحميل الملف واعلامنا بشكل الواجهة عتد غلق الملف هل هي واجهة اكسل العادية ام لا
  13. اخونا الفاضل الكود الظاهر في الصورة ليس هو الكود الموجود في اخر ملف ارفقته اليك المشكلة انك كل مرة ترفق ملف مخنلف عن الاخر وهذا يلزم التعديل على الكود هذا طلبك في مشاركتك ما قيل الاخيرة كان طلبك فرز البيانات l6-l80 تم ارفاق ملف بالكود يقوم بالفرز حسب النطاق والعمود ثم تغير طلبك في ملفك الاخير تطاق فرز البيانات l8-l73 لان الصف 74 اصيح مجاميع للاعمدة واصبح الصف 6 رؤوس عناوين وبه خلايا مدمجة فمن الطبيعى ظهور الخطأ اليك كود يتعامل مع اخر ملف ارفقته انت ويعمل جيدا I8:I73 Sub SortData() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة1") With ws.Sort .SortFields.Clear .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlDescending .SetRange ws.Range("A8:AH73") .Header = xlNo .Apply End With End Sub الملف المصنف4.xlsb
  14. السلام عليكم الموضوع كبير ويحتاج الى خبرة واسعة في البرمجة ولهذا عرضت الامر على الذكاء الاصطناعي فقدم لي الكود على طبق من ذهب وها انا اقدمه لك في ملف اكسل مع رسالتين كمثال يمكتك تعديل الكلمات من الكود لنظهر في الرسائل تعريب الرسائل.xlsb
  15. جرب الملف كود لعمل خط تحت الدرجة الاقل.xlsb
  16. صباح الخير عتد الانتهاء من ملفك ارفقه وساضع الاكواد به بالتوفيق
  17. السلام عليكم وضع خط تحت الرقم اقل من نصف الدرجة نم ربطه مع تصدير pdf اليا ملف العلامات المدرسية فصلين مع ترتيب الأوائل وطباعة الشهادة تحذير العلامة القصوى.xlsm ات اردتها دوائر حمراء ملف العلامات المدرسية فصلين مع ترتيب الأوائل القصوى.xlsm
  18. منع رصد درجة المواد اكبر من الدرجة القصوى الكود سبق ان وضعنه في المرفق السابق في حدث الورقة ارفقه مرة اخرى ملف العلامات المدرسية فصلين مع ترتيب الأوائل وطباعة الشهادة تحذير العلامة القصوى.xlsm بالنسبة لوضع خط تحت الدرجة لا تحضرنى اي فكرة الان ان اردتها دوائر غدا ان شاءالله اقوم بارفاق الملف
  19. السلام عليكم ما شاء الله ملف رائع واكيد سيستفيذ منه الكثير اظافة للملف وانت تقدر اهمينها من عدمه وهي عند كتابة الدرجة لاي مادة اذا نجاوزت الدرجة القصوي يتم التنبيه برسالة ملف العلامات المدرسية فصلين مع ترتيب الأوائل وطباعة الشهادة.xlsm
  20. السلام عليكم نم تعديل كود خفظ الشهادة يحيت يحفظ باسم الفصل والشعبة حسب ما هو مكتوب في الخليتين b6&b7 ولم يعد التغيير من الكود لم افهم قصدك بمحاولة التعديل على كود الترتيب اذا كان المقصود كلمة مكرر ينم الغائها فالملف المرفق فيه طلبك وان كنل تعنى شئ اخر فاوضح لي الامر ترتيب التلاميذ تصاعديا (1) - Copy.xlsm
  21. حل بالكود في العمود b اصغط على الزر واختر الدولة وحل بالمعادلات في العمود c' المصنف_2.xlsb
  22. وعليكم السلام ورحمة الله وبركاته جرب الطريقة التالية ربما تعيد الايقونة ولست مناكد لوحة التحكم -البرامج والميزات - انقر بزر الفارة اليمين على microfoft office - نغيير - اصلاح - ثم اتبع الخطوات
  23. يمكن الغاء مكرر من الكود ss = " مكرر": RNK = i - 1: Exit For استبدلها ss = " ": RNK = i - 1: Exit For
×
×
  • اضف...

Important Information