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

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

الخبراء
  • Posts

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

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

  • Days Won

    31

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

  1. وعليكم السلام ورحمة الله وبركاته جرب الطريقة التالية ربما تعيد الايقونة ولست مناكد لوحة التحكم -البرامج والميزات - انقر بزر الفارة اليمين على microfoft office - نغيير - اصلاح - ثم اتبع الخطوات
  2. يمكن الغاء مكرر من الكود ss = " مكرر": RNK = i - 1: Exit For استبدلها ss = " ": RNK = i - 1: Exit For
  3. السلام عليكم اوافق استاذتا ابو عيد على ما تفضل به ولكن احيانا لائحة الدراسة والامتحانات تنص على هذه الطريقة على كل حال من اكواد وكنوز المنتدى فيه طلبك ان شاء الله ترتيب التلاميذ تصاعديا (1).xlsm
  4. السلام عليكم اذا تقصد الفرز من الاعلى رصيد الى الاقل رصيد استخدم الكود التالي Sub ترتيب_تنازلي() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة1") With ws .Range("A4:E6").Sort Key1:=.Range("E4:E6"), Order1:=xlDescending, Header:=xlNo End With End Sub ويمكنك نعديل نطاق البيانات من الكود الملف عملاء.xlsb
  5. وعليكم السلام ورحمة الله وبركاته ما تفضل به الاستاذ حجازي يكفى وفي تفس الوقت يمكن تعديل المعادلة لتعطى الخلية فارغة =IF($B$8="";"";IFERROR(1/(1/INDEX(Monthly1;$B$8;3));"")) الملف بدون اصفار الشهادات.xlsm
  6. السلام عليكم عذرا اخونا بلانك صاحب الموضوع الرئيسي abou_stef وضع سؤاله وتم الاجابه عليه فلماذا لم تدرج سؤالك في موضوع جديد باسمك بدل من ادراجه مع موضوع لعضو اخر الا اذا كنتما تفس الشخص عذرا مرة اخرى ولك كل الاحترام والتقدير
  7. وعليكم السلام ورحمة الله وبركاته عند النحاق طلبة جدد اضغطي على زر نجميع البيانات فيتم تحديث البيانات الكود Sub CombineSheets() Dim ws As Worksheet Dim mainSheet As Worksheet Dim dataRange As Range Dim cell As Range Dim lastRow As Long Dim newRow As Long Dim i As Long Dim rowsArray() As Variant Set mainSheet = ThisWorkbook.Worksheets(1) mainSheet.Range("A3:FQ" & mainSheet.Cells(mainSheet.Rows.Count, "A").End(xlUp).Row).ClearContents newRow = 3 Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For Each ws In ThisWorkbook.Worksheets If ws.Index <> 1 Then Set dataRange = ws.Range("A3:FQ" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) rowsArray = dataRange.Value For i = 1 To UBound(rowsArray, 1) lastRow = mainSheet.Cells(mainSheet.Rows.Count, "A").End(xlUp).Row + 1 mainSheet.Cells(lastRow, 1).Resize(1, UBound(rowsArray, 2)).Value = Application.WorksheetFunction.Index(rowsArray, i, 0) Next i End If Next ws Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub
  8. وعليكم السلام ورحمة الله وبركاته عذرا لم افهم طلبك جيدا, حسب الملف المرفق لا يوجد وقت دحول ولا وقت خروج وانما يوجد غمود time ارجو شرح طلبك من حيث 1- الاعمدة المراد فصلها بمعنى مثلا العمود c ,d,,,,,,, 2- العمود المراد ان يتم فيه الفصل 3- اكتب حالتين او ثلانة قم يقصل التاريخ ووقت الدخول والخروج يدويا داخل ملفك وارفقه من جديد لك كل الاحترام والتقدير
  9. وعليكم السلام ورحمة الله وبركاته يمكن استخدام اخفاء الصفوف اليك كود اذا نقرت مرتين على الخلية c1 يتم اخفاء الارقام واذا كررت النقر مرتين يظهرها ايداعات.xlsb
  10. السلام عليكم العمود الاول في الشهادة تم تبسيط المعادلة ويمكنك تطبيق تفس الفكرة على باقي الاعمدة كذلك تحويل الشهادات في ملف واحد تحويل الشهادات الى PDF قي ملف واحد.xlsm
  11. وعليكم السلام ورحمة الله وبركاته اظافة الى ما تفضل به استاذنا lionheart اضيف حل بالمعادلات اكنب الحرف المراد احصائه في الخلية D1 =LEN(A1)-LEN(SUBSTITUTE(A1;$D$1;"")) مثال عد الاحرف.xlsx
  12. السلام عليكم لا اعلم سبب وجود كل الشهادات لعدد 21 صفحة ثم يتم التغيير الى مجموعة ثانية كان الافضل الاكتفاء بورقة واحدة بها 3 شهادات وهذا ما قمت به فيروسات سبب تجمد الجهاز له اسباب كثيرة اقلها مواصفات الجهاز - الجهاز به فيروسات- البرامج الغير ضروروية التي تعمل في الخلقية والتي تستهلك ذاكرة على كل حال الاكواد جربتها على جهازي اكسل 2016 وندوز10 نظام 64 والاكواد تعمل عادي جرب الملف طباعة كافة الشهادات وتصديرها pdf.xlsb
  13. تعم بالظبظ ولكن عند تغييرك الى الصف المطلوب ولتفرض الصف3 فتكون بداية البيانات الصف4 وعليه يجب التعديل في السطر بدل 6 الى 4 For rowIndex = 6 To lastRow
  14. اذا اردت الاسماء قي الصف الثالث بدل 5 الى3 ثم عدل في السطر بدل 6 الى 4 اما اذا اردت الصف الرابع بدل 5 الى4 وبدل 6 الى 5 اتمنى ات يكون الامر واضح تحياتي
  15. السلام عليكم جزاك الله خيرا على دعائك جرب التعديل في المرفق وان لم يكن الامر هو المطلوب فاعذرنى قال توقف تفكيري وتركيزي ياريته معاي توقف وبس مش لاقيه خالص تحياتي sample.xlsb (1) (1).xlsm
  16. وعليكم السلام ورحمة الله وبركاته الحل بطريقتان اولا الكود Sub FillNamesInColumnN() Dim ws As Worksheet, lastRow As Long, rowIndex As Long, colIndex As Long, names As String Set ws = ThisWorkbook.Sheets("ورقة1") For colIndex = 2 To 13 lastRow = Application.Max(lastRow, ws.Cells(ws.Rows.Count, colIndex).End(xlUp).Row) Next colIndex For rowIndex = 6 To lastRow names = "" For colIndex = 2 To 13 If ws.Cells(rowIndex, colIndex).Value <> "" Then names = names & IIf(names = "", "", " - ") & ws.Cells(5, colIndex).Value End If Next colIndex ws.Cells(rowIndex, 14).Value = names Next rowIndex MsgBox "تمت العملية !", vbInformation End Sub الثاني بالمعادلات =TRIM(IF(B8<>"";B$5;"") & IF(C8<>"";"- " & C$5;"") & IF(D8<>"";" - " & D$5;"") & IF(E8<>"";" - " & E$5;"") & IF(F8<>"";" - " & F$5;"") & IF(G8<>"";" - " & G$5;"") & IF(H8<>"";" - " & H$5;"") & IF(I8<>"";" - " & I$5;"") & IF(J8<>"";" - " & J$5;"") & IF(K8<>"";" - " & K$5;"") & IF(L8<>"";" - " & L$5;"") & IF(M8<>"";" - " & M$5;"")) المعادلة طويلة ربما يكون اصدار الاكسل لديكم قديم فالكود او المعادلة تتماشى مع الاصدارات القديمة وكذلك الحديثة الملف وبه الطريقتان DATA1.xls
  17. وعليكم السلام ورحمة الله وبركاته الفاضل / ابو سجده الكود الخاص بك لم اغير فيه شي الكود الجديد يتم استدعائه في تهاية الكود الخاص بك مكان التوقيعات يظهر هكذا .Value = "Third signature Second signature First signature" يمكنك نغييره للغة العربية او تركه فارغا بلالتعديل في الكود sample.xlsb (1).xlsm لك كل التقدير والاحترام استاذنا
  18. يالرغم اننا لا نعلم اصدار الاكسل لديك ولكن الملف المرفق به كود للاصدار القديم 2003 فنا فوق وتم حفظه شيت .xls لينعامل مع الاصدار 2003 فكرة الكود الكود اذا كانت L6 و N6 فارغتان ينم طباعة كل الاستمارات اذا تم تحديد الخليتين مدى معين لعدد معين من الطلبة يتم طباعة المحدد فقط مع عدم المساس بالمعادلات الموجودة بلالاستمارة اعلمنى بالنتائج بعد التجربة شيت نتيجة.xls
  19. السلام عليكم جرب الملف تعديل كود.xlsm
  20. وعليكم السلام ورحمة الله وبركاته حسب طلبك بدون كود ليس هناك طريقة سوى اليدوية شهادة وراء شهادة هذا حسب علمي والله اعلم وفوق كل ذي علم عليم لك كل الاحترام والتقدير
  21. السلام عليكم يالرغم من عدم وضوح الطلب لعدم اكنمال الجدول افترضت بيانات كما في ورقة2 قائمة الاسماء والتاريخ يتم انشائها بالكود حسب ما هو موجود الملف المصنف1.xlsb
  22. وعليكم السلام ورحمة الله وبركاته حسب فهمى لطلبك اليك الملف مثال (1).xlsm
  23. اخي العزيز إضافة العمود المساعد لتحسين قابلية التعامل مع البيانات باستخدام المعادلات العادية (بدلاً من الصفيفية). عندما نريد تصفية البيانات (مثل ملفك)، يمكننا استخدام معادلات مثل INDEX وMATCH لتحديد الصفوف المطلوبة. ومع ذلك، هذه المعادلات تحتاج إلى طريقة لمعرفة الصفوف التي تحقق الشرط. العمود المساعد يعمل كـ "علامة" تحدد الصفوف التي تحقق الشرط (J9 < D2) وتُظهر رقم الصف الخاص بها. وإذا لم يتحقق الشرط، يُظهر العمود قيمة فارغة ("") القيم الموجودة في العمود X هي رقم الصف الذي ينحقق به الشرط في D2 طبعا يمكن الاستغناء على العمود المساعد باستخدام معادلات صفيفية أو حلول برمجية (مثل VBA) والعمود المساعديساعد على تحسين الأداء في النسخ القديمة من Excel مثل 2010 النسخ الحديثة 2019 وما فوق يمكن استخذام دالة FILTER وحقيقة انا لا املك في جهازي الا اصدار 2016 فلا يمكننى التجربة واخير يبقى الكود افضل مم سبق دكره واسرع ويمكن ان يكون تلقائيا بدون زر اليك ملف به حلات اخران الاول بمعادلات عادية بدون عمود مساعد والاخ على اليسار بالمعادلات الصفيفية 1شيت.xlsx حل اخر ويعنبر افضلهم بدون معادلات وبدون زر .عند الكنابة في D2 تتم الفلترة للدرجات ولا تنسى تمكين الماكرو شيت1.xlsb اتمنى فيما دكر بعض الفائدة نحياتي
  24. ارفقى ملفك حتى تتضح الصورة لدي ضعى الماوس على الزر ثم بزر الفارة اليمين يتم تضليل الزر فيمكن حذفه او نقله الى مكان اخر حددى اي شي في الكود غير واضح وانا حاضر لشرح اي جزء شكرا لدعائك وفقك الله ورعاك
×
×
  • اضف...

Important Information