بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
589 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
27
عبدالله بشير عبدالله last won the day on فبراير 9
عبدالله بشير عبدالله had the most liked content!
السمعه بالموقع
830 Excellentعن العضو عبدالله بشير عبدالله

- تاريخ الميلاد 25 ينا, 1964
البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
موجه للمواد الميكانيكبة -زليتن
-
البلد
ليبيا - زليتن
-
الإهتمامات
وَخَيْرُ جَلِيْسٍ في الزَّمانِ كِتابُ.
اخر الزوار
1,779 زياره للملف الشخصي
-
دالة تعمل ترتيب تنازلي آليا كلما تغيرت الأرصدة
عبدالله بشير عبدالله replied to الموسطي's topic in منتدى الاكسيل Excel
السلام عليكم استبدل السطر .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlDescending بهذا السطر .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlAscending لاحظ الكلمة الاخيرة تغيرت طبعا هذا الترتيب للنطاق I8:I73 بالتوفيق -
الاسهم في اتجاه واحد نفضل BIOCHEMICAL TEST1.xlsb
-
نعم صدقت وفاتنى ذلك تعديل الملف BIOCHEMICAL TEST1.xlsb
-
وعليكم السلام ورحمة الله وبركاته بعد ملاحظة الاستاذ ابو عارف تم نعديل الملف في مشاركتى التالية
-
تعديل على كود وضع دوائر حمراء شهادات طلاب
عبدالله بشير عبدالله replied to بلانك's topic in منتدى الاكسيل Excel
السلام عليكم جرب التعديل في الملف 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 -
، الصورة التي أرفقتها تُظهر 4 أزرار في مربع الحوار، وهو شيء غير ممكن عند استخدام MsgBox مباشرة في VBA، حيث يدعم MsgBox فقط حتى 3 أزرار كحد أقصى.
-
استاذ ابو حمادة صندوق الاوامر في اكسل الافتراضيه لا تدعم اكثر من امرين الى 3 اوامر فقط وهي:- vbOKCancel (موافق - إلغاء) vbYesNoCancel (نعم - لا - إلغاء) vbAbortRetryIgnore (إيقاف - إعادة المحاولة - تجاهل) vbYesNo (نعم - لا) vbRetryCancel (إعادة المحاولة - إلغاء) إذا كنت بحاجة إلى أكثر من ثلاثة أزرار، يمكنك إنشاء UserForm يحتوي على أربعة أزرار او اكثر مخصصة لتنفيذ الأوامر التي تريدها. ويمكنك تسمية الازرار باي اسم شاهد الملف بواسطة UserForm اوامر userform.xlsb
-
دالة تعمل ترتيب تنازلي آليا كلما تغيرت الأرصدة
عبدالله بشير عبدالله replied to الموسطي's topic in منتدى الاكسيل Excel
يتغير اسم الكود في حالة وجود كود اخر بتفس الاسم وعدا ذلك يبقى بنفس الاسم -
دالة تعمل ترتيب تنازلي آليا كلما تغيرت الأرصدة
عبدالله بشير عبدالله replied to الموسطي's topic in منتدى الاكسيل Excel
السلام عليكم ساشرح لك بمثال لنفرض ان الملف 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 بالتوفيق -
عملت امر مسح وربطنه بزر تم المسح وعند الغلق اوامر الاكسل العادية ارفق الملف الموجود لديك حنى نفهم الامر بالتطبيق اليك الملف وبه كود مسح جربه واعلمنى بالنتيجة تعريب الرسائل.xlsb
-
جزاك الله خيرا استاذنا الفاضل ابو عيد
-
وعليكم السلام اخي الفاضل وجهت استفسارك لصاحب الكود (الذكاء) فاجابني لا، هذا الكود لا يؤثر على رسائل النظام الافتراضية في Excel، مثل رسالة حفظ التغييرات عند إغلاق الملف أو رسائل الخطأ التلقائية، لأنه يعمل فقط عند استدعاء MyMesg كيف يعمل الكود؟ عند استدعاء MyMesg، يقوم بإنشاء Hook (تعديل مؤقت) لتغيير أسماء الأزرار في رسالة واحدة فقط. بمجرد عرض الرسالة، يتم إلغاء التعديل فورًا (UnhookWindowsHookEx m_hHook). Excel سيستمر في استخدام رسائله الافتراضية دون تغيير. هل يؤثر على الرسائل الأخرى؟ 🔹 لا يؤثر على رسائل النظام الافتراضية (مثل حفظ، إغلاق، أو خطأ الصيغ). 🔹 يؤثر فقط على الرسائل التي يتم إنشاؤها باستخدام MyMesg. إذا كنت تريد تأثيرًا دائمًا؟ إذا كنت تريد تغيير أسماء الأزرار لجميع رسائل MsgBox في Excel، يمكن تعديل Application.OnKey أو استخدام VBA Add-In، لكن هذا سيؤثر على جميع الرسائل. انتهى جواب الذكاء الاصطناعي قمت بتجربة الملف الذي ارفقته لك سابفا عتدقفل الملف تظهر واجهة الاكسل العادية ولا اعلم سبب ظهور الواجهة مختلفة لديك اثمنى من الاعضاء تحميل الملف واعلامنا بشكل الواجهة عتد غلق الملف هل هي واجهة اكسل العادية ام لا
-
دالة تعمل ترتيب تنازلي آليا كلما تغيرت الأرصدة
عبدالله بشير عبدالله replied to الموسطي's topic in منتدى الاكسيل Excel
اخونا الفاضل الكود الظاهر في الصورة ليس هو الكود الموجود في اخر ملف ارفقته اليك المشكلة انك كل مرة ترفق ملف مخنلف عن الاخر وهذا يلزم التعديل على الكود هذا طلبك في مشاركتك ما قيل الاخيرة كان طلبك فرز البيانات 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 -
السلام عليكم الموضوع كبير ويحتاج الى خبرة واسعة في البرمجة ولهذا عرضت الامر على الذكاء الاصطناعي فقدم لي الكود على طبق من ذهب وها انا اقدمه لك في ملف اكسل مع رسالتين كمثال يمكتك تعديل الكلمات من الكود لنظهر في الرسائل تعريب الرسائل.xlsb
-
جرب الملف كود لعمل خط تحت الدرجة الاقل.xlsb