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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    192

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

  1. ممكن جدا وساعتها تستعمل نفس الكود في صفحة 2 بالتوفيق
  2. عليكم السلام ورحمة الله وبركاته معادلتك صحيحة ويمكن اختصارها لهذه =IFERROR(VLOOKUP(F16,data!$A$4:$K$57,MATCH(C16,data!$A$2:$K$2,0))*1.05^($C$14-2012),"") بالتوفيق
  3. لا أرى فائدة مرجوة من عمل مثل هذه الاحصائيات على النماذج والأفضل تصميمها في شيت الاكسل بالمعادلات حتى يمكن طباعتها والله أعلم
  4. يمكنك تحويل المعادلة الي كود مثلا لو أردنا تحويل العمود D نستعمل هذا الاجراء مع ربطه بزر مع حفظ الملف بصيفة تدعم الاكواد مثل xlsb Sub mrmas() Range("d2:d101").Formula = "=rand()" Range("d2:d101").Value = Range("d2:d101").Value End Sub بالتوفيق
  5. خالص الدعوات بالتوفيق للجميع
  6. ربما يوجد مرجع مفقود في محرر الأكواد من قائمة tools ثم references ثم احذف علامة الصح بجانب المرجع المكتوب قبله missing بالتوفيق
  7. يمكنك استعمال هذه الطريقة بوضع السيريلات المسموحة في مصفوفة myserials بينها فاصلة Private Sub Workbook_Open() myserials = Array("589CC486", "mr-mas.com", "") myhd = Hex(CreateObject("Scripting.FileSystemObject").Drives.Item("C:").SerialNumber) If Not UBound(Filter(myserials, myhd)) > -1 Then MsgBox "أي رسالة هنا" ThisWorkbook.Close savechanges = True End If End Sub بالتوفيق
  8. الشكر لله الذي وفقنا لهذا
  9. ما شاء الله تنسيق ولا أروع وعمل ومجهود راقيان وفقكم الله وسدد خطاكم
  10. حسب فهمي للمطلوب تم تنفيذ المعادلة على العمود الأول E وإذا أردت تطبيقها على العمود التالي يمكنك تغيير الخلية $E$1 في المعادلة الموجودة في الصف الثاني بالتوفيق mas tableau.xlsx
  11. الطريقة المذكورة في المشاركة السابقة لي أفضل واسرع بإذن الله
  12. أقترح تنفيذ ذلك يدويا وليس بالكود عن طريق عمل لصق كقيم paste as values بدلا من لصق paste ورمزها (123) في القائمة المختصرة للخلية والتي تظهر بعد عمل كلك يمين عليها وإذا كنت حريصا على استخدام الكود فيمكنك وضع هذا الاجراء في موديول جديد وربطه بزر وليكن اسمه لصق Sub pst Selection.PasteSpecial Paste:=xlPasteValues End Sub وهو للصق ما تم نسخه في الخلية المحددة ولاستخدام هذا الاجراء عند الضغط على CTRL+V يمكن وضع هذا الكود في حدث المصنف ThisWorkbook Private Sub Workbook_Activate() Application.OnKey "^v", "pst" End Sub Private Sub Workbook_Deactivate() Application.OnKey "^v" End Sub بهذه الطريقة تحافظ على تنسيق الملف الذي يتم اللصق فيه عند استخدام الزر المرتبط بالكود أو اللصق باستخدام ctrl+v بالتوفيق
  13. ربما يكون في الرأس والتذييل header & footer في تبويب تحطيط الصفحة page layout ثم مربع إعداد الصفحة page setup ثم تبويب header/footer بالتوفيق
  14. للأسف هذه الطريقة في الفلترة بالمعادلات المتبعة في ملفكم تجعل الملف ثقيلا جدا لذلك يمكنك تحديد المدى الذي كنت تسحب فيه المعادلة لأسفل كله ثم حذف المعادلة منه بضغط مفتاح delete من لوحة المفاتيح مع إبقاء تحديد الخلايا ثم لصق نفس المعادلة في شريط المعادلات مع تغيير row($a1) إلى row()-5 إذا كان هناك 5 صفوف فوق صف البداية وفي النهاية الضغط على ctrl+shift+enter بهذا نكون وضعنا معادلة واحدة في جميع الصفوف المحددة وهذه اسرع طريقة للفلترة بالمعادلات بالتوفيق
  15. الخطأ هو أن العمود رقم 9 فارغ ولا يتم ترحيل بيانات إليه لذا يمكن تغيير هذا السطر erow = sh1.Cells(Rows.Count, 9).End(xlUp).Offset(1, 0).Row إلى erow = sh1.Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Row بالتوفيق
  16. حسب فهمي للمطلوب يمكنك إضافة هذا الكود في نهاية إجراء الطباعة Sub PRINT_OUT lr = Cells(Rows.Count, 1).End(xlUp).Row For r = 8 To lr rw = Application.WorksheetFunction.Match(Range("A" & r).Value, Sheets("التحميل").Range("A:A"), 0) Sheets("التحميل").Range("Q" & rw).Value = "تم الصرف" Next r وهو للحصول على رقم الصف الذي يحتوي على رقم المستند الموجود في الخلية A8 وما بعدها عند البحث عنه في العمود A في شيت التحميل ثم تغيير قيمة الخلية Q في نفس الصف إلى تم الصرف بالتوفيق
  17. بعد إذن جميع المشاركينفي هذا الموضوع الرائع لتحديد الأيام المفقودة يلزم تحديد تاريخ البداية Start Date وتاريخ النهاية End Date ليتم حصر الأيام الموجودة بين التاريخين وكذلك الأيام المفقودة وذلك كله بدلالة رقم الموظف Emp ID تكتب مرة واحدة وتحصل على تقرير لكل موظف ربما يكون هذا هو المطلوب بإذن الله تم جلب أصغر تاريخ للموظف ليكون تاريخ البداية وأكبر تاريخ ليكون تاريخ النهاية ويمكن استعمال أصغر تاريخ في العمود كله Min وأكبر تاريخ في العمود كله Max ويمكن كتابة التاريخين يدويا للحصول على بيانات هذه الفترة واستنتاج الأيام المفقودة بين التاريخين بمعادلة مصفوفات Array formula مطبقة على الخلايا j10:j40 بالتوفيق الأيام المفقودة بين تاريخين لكل موظف.xlsx
  18. يمكنك استعمال هذا الكود على افتراض أن مربع النص اسمه textbox1 Private Sub TextBox1_Enter() TextBox1.Value = "" End Sub بالتوفيق
  19. تمت معالجة هذا الأمر كثيرا في المنتدى ربما يفيدك هذا الرابط
  20. حسب فهمي للمطلوب * لعرض أسماء الشيتات في القائمة يمكنك حذف هذا الكود من حدث إلغاء تفعيل Worksheet_Deactivate لشيت database Dim w As Worksheet UserForm1.Co1.Clear For Each w In ThisWorkbook.Worksheets UserForm1.Co1.AddItem w.Name Next w ووضعه في حدث تفعيل النموذج UserForm_Activate * ولفتح الشيت الذي يتم اختياره من القائمة نستعمل هذا الكود في حدث تغيير القائمة بالضغط دبل كلك عليها في النموذج ولصق السطر الأوسط من هذا الكود فقط Private Sub Co1_Change() Sheets(Co1.Value).Select End Sub بالتوفيق
  21. حسب فهمي للمطلوب يمكنك استعمال هذه المعادلة في الخلية j17 في sheet1 =TRANSPOSE('2nd'!H19:O19)
×
×
  • اضف...

Important Information