ما السبب الذي يجعلك تحتاج إلى كود يقوم بهذه الوظيفة طالما أن الدالة مدعومة في جميع إصدارات الاكسل؟
نحتاج إلى تحويل الدالة إلى كود vba في حالة كونها دالة جديدة في اصدار جديد
ونريد استعمال مميزاتها في الإصدارات القديمة مثل دالة textjoin مثلا
اللهم إلا إذا كنت تقصد
طريقة استعمالها داخل vba
وفي هذه الحالة يمكنك استخدام هذه الطريقة
مع تغيير المرجع والشرط كما تريد
Application.WorksheetFunction.CountIf(Range("D2:D9"), ">5")
بالتوفيق
لك حلان
* أسهلهما استعمال sumifs لحساب مجموع الخلايا في الشيت والتي تنطبق عليها شروط العرض في القائمة وأيضا أكبر من صفر.
* والحل الثاني أثناء تعبئة القائمة بالعناصر items يمكن إنشاء متغير وليكن mysum لجمع القيم التي فوق الصفر من العمود المطلوب
السؤال نظري بدون ملف ولذلك الإجابة نظرية
بالتوفيق
تم إجراء بعض التعديلات لتتناسب مع المطلوب وهي:
كتابة تاريخ 1 في الشهر المطلوب في الخلية c5
وبناء يتم جلب بيانات باقي ايام الشهر وتلوين الجمعة والسبت وكتابة اسم الشهر تلقائيا
تم وضع معادلة التصفية الأفقية لجلب تاريخ اليوم المكتوب فيه غ (معادلة مصفوفات)
تم وضع معادلة لحساب عدد أيام الغياب
بالتوفيق
حضور و غياب مع الخلاصة الشهرية.xlsm
الأمر بسيط جدا بإذن الله
تبدأ المعادلة بعلامة = ثم iferror ثم تفتح قوس
ثم تلصق معادلتك بدون علامة = في أولها
ثم الفاصلة أو الفاصلة المنقوطة (حسب نظام جهازك)
ثم علامتين تنصيص
ثم تغلق القوس
ثم انتر
بالتوفيق
الكود يقوم بهذا الغرض ولكن على العمود 3 بينما عمود الدائرة 16
لذا يجب تغيير هذا السطر
txt = Join(Array(a(i, 3), a(i, 3)), Chr(3))
إلى
txt = Join(Array(a(i, 16), a(i, 16)), Chr(3))
بالتوفيق
للحصول على الفرق بين رقمين نستعمل عملية الطرح بصورة عادية
مثلا الرقم الأول في الخلية A1 من العمود الأول
والرقم الثاني في الخلية B1 من العمود الثاني
نكتب في الخلية التي نريد إظهار الفرق فيها
=a1-b1
أما إذا كنت تريد غير ذلك
فيرجى توضيح تفاصيل المطلوب بدقة واستفاضة
بالتوفيق
يمكنك استعمال هذا الكود
Sub savePDF()
ActiveSheet.PageSetup.PrintArea = "B3:P" & Range("B" & Rows.Count).End(xlUp).Row
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Range("g7").Value & "_" & Format(Now(), "yyyy-mm-dd_hh-nn-ss") & ".pdf"
MsgBox "Done by mr-mas.com"
End Sub
لاحظ مسار هذا المصنف thisworkbook.path وتنسيق الوقت الحالي ضمن الاسم
واستعمال الشرطة - والشرطة السفلية _ في الاسم بدلا من /
بالتوفيق
الملف المرفق لا يفيدنا في الوقوف على أسباب المشكلة
ربما تكون قمت بتثبيت برنامج ribbonX وهو الذي يقوم بوضع هذا الكود في جميع الملفات بناء على خيارات البرنامج
لذا افترح الغاء تثبيت البرنامج وملاحظة المشكلة
وإذا استمرت أقترح عمل اصلاح repair. للأوفيس من لوحة التحكم ثم إلغاء تثبيت البرامج
بالتوفيق
أخي الكريم
* حتى تظهر الصفوف الجديدة ضمن نتائج البحث يجب نسخ المعادلة في النطاق H5:M17 إلى الصف المطلوب بعد إظهار هذه الأعمدة المخفية
* فلسفة هذه الطريقة من البحث بالمعادلات تعتمد على تلوين الصف الذي يحتوي على كلمات البحث وهو في مكانه
* السجل الجديد يتم إضافته بعد آخر صف مكتوب فيه
وإذا أردت تغيير هذه الفلسفة إلى الفلترة وظهور الصفوف التي تحتوي على كلمات البحث فيمكنك الاستفادة من هذا الموضوع
بالتوفيق
تفضل هذا ملفك بعد وضع معادلة التصفية في الخلايا الصفراء
وزيادة رقم الصفحة لعرض أول 4 ثم ثاني 4 ثم ثالث 4 وهكذا
بالتوفيق
تصفية الرواتب في صفحة الطباعة.xlsx