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

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

الخبراء
  • Posts

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

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

  • Days Won

    71

عبدالله بشير عبدالله last won the day on يوليو 26

عبدالله بشير عبدالله had the most liked content!

السمعه بالموقع

1461 Excellent

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

  • تاريخ الميلاد 01/25/1964

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    متقاعد
  • البلد
    ليبيا - زليتن
  • الإهتمامات
    وَخَيْرُ جَلِيْسٍ في الزَّمانِ كِتابُ.

اخر الزوار

4379 زياره للملف الشخصي
  1. تم التعديل الكود حاليا يقوم بحذف اي صور من النطاق a2:v2 قبل ادراج الصورة الجديدة حتى لا تتراكم الصور فوق بعضها كذلك تم تعديل اسم الصورة ومكانها على الجهاز بحيث يمكنك احتيار اي صورة وباي اسم وباي امتداد من الجهاز ويمكنك اضافة اي امتداد اخر غير مدرج بالكود .Filters.Add "جميع الصور", "*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tiff" تم استتناء ورقة3-ورقة6 من ادراج الصور ويمكنك استتناء المزيد وذلك باظافة اسم الورقة بالكود من الجزء For Each ws In Worksheets If ws.Name <> "ورقة3" And ws.Name <> "ورقة6" Then ادراج صورة (2).xlsm
  2. السلام عليكم يوجد بعض الاختلاف بين الكودين في التفكيك الكود الأول: يمر على الخلايا خلية خلية ويضع الناتج في الشيت مباشرة باستخدام التكرار For...Next . الكود المعدل: يقوم بنفس التفكيك بواسطة رمز الفصل * ولكنه يحمل النتائج في مصفوفة بالذاكرة (dataArr) ثم ينسخها دفعة واحدة. بالنسبة للتجربة لدي الكود يستغرق اقل من ثانية اما الكود الاصلي حوالي 6 ثانية تم اظافة حساب الزمن للكود وتم تعديل الكود في الكود التلقائي وفي كل الاحوال مواصفات الجهاز وغيرها من الامور الفنية لها علاقة بالسرعة وفي حالة الزمن متساو لديك في الكودين القديم والمعدل فلك الخيار في اختيار احدهما ف 6 ثواني ليست بالوفت الطويل اليك الملف وبه التعديل شهادات1.xlsb
  3. سيكون الحل بطريقتين حسب استخدامك للملف إذا كنت تقوم بفلترة العمود الأول (عمود1) يدوياً ليظهر فقط التواريخ من 8 إلى 11: استخدم المعادلة =SUMPRODUCT(SUBTOTAL(109; OFFSET(I8:I100; ROW(I8:I100)-ROW(I8); 0; 1)); --(H8:H100=E4)) وإذا أردت حصر الجمع تلقائياً بين تاريخين دون الاعتماد على الفلترة اليدوية استخدم المعادلة =SUMIFS(I8:I100; H8:H100; E4; G8:G100; ">=08-يوليه"; G8:G100; "<=11-يوليه") واليك المعادلتان في ملف واحد واختر ما يناسب طلبك جمع القيم لشخص مع الفلترة.xlsx
  4. نعم يمكن ذلك استبدل الكود السابق بهذا Sub Comm() Dim ws As Worksheet Dim pic As Object Dim rng As Range On Error Resume Next Application.CommandBars.FindControl(ID:=549).Execute On Error GoTo 0 For Each ws In Worksheets Set rng = ws.Range("A2:V2") Set pic = ws.Pictures.Insert("D:\عنوان.jpg") pic.ShapeRange.LockAspectRatio = msoFalse With pic .Top = rng.Top .Left = rng.Left .Width = rng.Width .Height = rng.Height .Placement = xlMoveAndSize End With Next ws End Sub السطر Application.CommandBars.FindControl(Id:=549).Execute هذا السطر يفعل أمر "الانطباق على الشبكة" (Snap to Grid) كما في طلبك ادراج صورة (1).xlsm
  5. وعليكم السلام ورحمة الله وبركاته لو ارفقت ملفك لاختصرت الكثير من الشرح والوقت ولكن اوضح باختصار اذا اردت استعمال معادلة sumif بالجدول يجب اظافة عمود مساعد خارج الجدول وضع به المعادلة =SUBTOTAL(103, A2) ثم اربطها معادلة sumif او يمكنك استعمال بديل sumif معادلة اخرى لا تحتاج عمود مساعد مثل SUMPRODUCT و SUBTOTAL وجود الملف يوضح المعادلة المناسبة لطلبك
  6. وعليكم السلام ورحمة الله وبركاته اليك التعديل والكود في الملف المرفق تلقائي حيث يتم استدغاؤه بدل كتابة الكود بالكامل وكذلك بزر مرتبطا بزر جلب البيانات اعتقد ان الكود اسرع ويحتاج الامر منك الى التاكد من النتائج لانه يوجد العديد من الاوامر بالكود الاصلي تحتاج الى وقت للتاكد من النتائج في حالة عدم توافق النتائج ارجو تحديد الجزء او الاجزاء الغير متوافقه مع تحديد الحلايا والشيتات في انتظار تنتائج تجربتك للكود شهادات1.xlsb
  7. وعليكم السلام ورحمة الله وبركاته ارفق ملفا به بيانات لتتم تجربة اي كود معدل علية ومقارنته بالكود الاصلي من حيث السرعة وخصوصا لا نعلم حجم البيانات بالملف ومن خلال اطلاعي على الكود اعتقد يمكن زيادة سرعته بشكل كبير باستخذام المصفوفات بالذاكرة وكذلك بدل النسخ واللصق للقيم يتم النقل المباشر للقيم Value = .Value فوجود الملف مهم للتجربة ولعمل افضل حل لطلبك
  8. السلام عليكم ورحمة الله وبركاته تحياتي لك ولاستاذنا Foksh مشكلة الملف به امتددان ادراج صورة.xlsm.xlsx بحذف الامتداد xlsx يعمل الملف لاظافة الخاصية المطلوبة اولا يجب حذف كلمة Private ليصبح اسم الكود Sub Comm() ثانيا يجب أن تكون الصورة موجودة بالفعل داخل القرص D بهذا الاسم بالضبط (عنوان.jpg) ثالتا امتداد الملف هو jpg وليس png أو jpeg؛ لأن عدم تطابق الامتداد سيتسبب في ظهور خطأ عند تشغيل الكود. في حال تغير مكان الضورة او امتدداها قم بالتعديل بالكود اليك الكود بعد اظافة الخاصية xlMoveAndSize نقل الخلايا وتغيير حجمها Sub Comm() Dim ws As Worksheet Dim pic As Object For Each ws In Worksheets Set pic = ws.Pictures.Insert("D:\عنوان.jpg") pic.Placement = xlMoveAndSize Next ws End Sub ادراج صورة.xlsm
  9. السلام عليكم ورحمة الله وبركاته اعتقد ان هذا الطلب ليس له علاقة بالطلب الاول فان تحصلت على اجابة وافية لطلبك الاول فارجو اختيار تمت الاجابة وفتح موضوع جديد لطلبك الاخير واذا لم تتحصل على اجابة وافية على طلبك الاول فيمكنك الاستمرار في مناقشة الحلول المقدمة حتى الوصول الى اجابة شافية لطلبك وهذا حسب سياسة وقواعد المنتدى عدم ارفاق اكثر من طلب في موضوع واحد الفقرة رقم 11 تحياتي اخي العزيز
  10. وعليكم السلام ورحمة الله وبركاته اولا جزاك الله خيرا على ما قدمت وجعله الله في ميزان حسناتك ثانيا ملاحظة بسيطة في واجهة الدخول - قم بتعطيل علامة × من الواجهة لانه حاليا يمكن الدخول الى الملف بدون كتابة الاسم ولا كلمة المرور ولا الايميل ولا الواتس استخذام فكرة القوائم في الفورم حقيقة رائعة جدا واستفاذة جيدة من خصائص الاكسل باقي الملف يحتاج الى وقت للاطلاع لعل في وقت لاحق ان شاء الله ومن خلال الملاحظة السريعة واضح ان هناك جهذ كبير مبذول به تحياتي
  11. السلام عليكم جميعا كما اشار الزملاء الافاضل يوجد غموض في الطلب ولكن جسب فهمي لطلبك ان القيم في العمود S تمثل القيمة القصوى لكل سنة مثلا 2026 القيمة القصوى =8500 بناء على هذه الفرضية ان كانت صحيحة اليك المعادلات التي تقوم بالخصم حسب القيمة القصوى المحددة لكل سنة وبشرط وجود كلمة تم امام كل قسط اذا لم يكن هذا طلبك ارجو شرح طلبك بوضوح لتجد تفاعل من الزملاء اكثر ق1.xlsx
  12. وعليكم السلام ورحمة الله وبركاته طلبك غير مكتمل ينقصه الهدف الاساسي من المعادلة إذا هدفك أن تكون النتيجة صفر فقط عندما يكون الفرق أقل من شهر استخذم المعادلة =DATEDIF(D4;D3;"M") اما اذا اردت في حال عدم تحقق الشروط = صفر اليك المعادلة =IF(AND(YEAR(D3)>=YEAR(D4);MONTH(D3)>MONTH(D4);DAY(D3)=DAY(D4));ROUNDUP(DAYS360(D4;$D$3;0)/30;0);0) الملف المرفق به تطبيق المعادلتان وكلاهما تحقق الصفر New Microsoft Excel Worksheet.xlsx
  13. وعليكم السلام ورحمة الله وبركاته اذا الامر لا يحتاج الى كود ترحيل يمكنك كتابة البيانات مباشرة في سيت Feuil1 ثم شيت Feuil12 خاص باللون الاصفر وليس الازرق كما ذكرت ولا وجود لكلمة المؤسسة في الخلايا الصفراء في شيت Horaire2027 بالنسبة نعم يوجد خطا في رقم الصف المرحل- فقط قم بتغيير B3:I3 الى B4:I4 في مكانين بالكود حسب الموضح الاتي For Each cell In wsSource.Range("B3:I3, B6:I6, B9:I9") الى For Each cell In wsSource.Range("B4:I4, B6:I6, B9:I9") وكذلك تغيير wsFeuil1.Cells(nextRow1, 1).Resize(1, 8).Value = wsSource.Range("B3:I3").Value الى wsFeuil1.Cells(nextRow1, 1).Resize(1, 8).Value = wsSource.Range("B4:I4").Value قم بتجهيز ملفك جيدا وحسب ما اذكر اعتقد انها المرة الخامسة او السادسة تم تعديل نفس الكود خلال الاشهر القليلة الماضية
  14. وعليكم السلام ورحمة الله وبركاته استاذنا الفاضل طلبك واضح ولكن ملفك المرفق لا يتوافق مع طلبك الطلب الثاني والثالت في شيت Horaire2027 عدد الخلايا 8 وفي الشيتين المرحل اليها 9 خلايا وخود كلمة المؤسسة في الشيتين Feuil12 وFeuil13 وعدم وجودها في شيت Horaire2027 على كل حال الكود المرفق تم عمله حسب الموجود في شيت Horaire2027 وهي 8 خلايا حسب الشيت المرفق تم تقسيم الكود الى جزئين بزرين الاول للترحيل الى Feuil1 وFeuil12 والكود الثاني الى وFeuil13 Horaire-18-06-2026-(04.12.06).xlsb
  15. وعليكم السلام ورحمة الله وبركاته في عدم وجود ملف لمعرفة السبب جرب الطريقة البدائية البسيطة اذهب إلى الشيت والخلية الذي تريد ظهور الناتج فيها. اكتب علامة يساوي (=). بالماوس، انتقل إلى الشيت الآخر واضغط على الخلية التي تريد جلب البيانات منها ثم اضغط على زر Enter
×
×
  • اضف...

Important Information