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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    192

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

  1. جميعا بإذن الله قراءة الموضوعات السابقة في المنتدى تجيب عن كثير من تساؤلاتنا إن شاء الله تجد المطلوب الأول في هذا الموضوع
  2. الشكر لله الذي وفقنا
  3. تم اختبار الملف ولا يوجد أكواد تمنع الكتابة وتمت الكتابة بأي عدد حروف ولا يوجد مشكلة ربما تكون المشكلة من خطأ في إعدادات الاكسل لذا يفضل عمل إصلاح repair لبرامج الأوفيس من لوحة التحكم ثم إلغاء تثبيت البرامج uninstall programs ثم تحديد الأوفيس ولكن الضغط على إصلاح وليس إلغاء التثبيت بالتوفيق
  4. إذا أردت معرفة السبب فعليك بإرفاق الملف أو الشيت الذي به المشكلة فربما يكون السبب كود vba
  5. عدم توضيح المطلوب يجعل محاولات الحل أكثر من مرة وهذا يجعل الناس تنفر من حل المطلوب الثاني في أي موضوع حسب فهمي للمطلوب تم الاعتماد على جدول مساعد يحسب مجموع المتر المربع لكل صنف حسب العميل والتاريخ لذا يلزم * وضع قائمة الأصناف بدون تكرار في العمود N * ونسخ معادلة العمود O & P إلى آخر صف في عمود الأصناف بالتوفيق أعلى وأدنى الأصناف مبيعا لعميل في مدة.xlsx
  6. بالنسبة للمطلوب الأول لا يتم بالمعادلات وإنما باكواد vba بالنسبة للمطلوب الثاني تم فك الدمج عن جميع الخلايا لأنه يصعب مهمة المعادلات تم وضع المعادلات في الجدول الأزرق وهذا شرح طريقة الحصول على الأصناف بدون تكرار تحديد الخلايا التي بها الأصناف مع العنوان (الصنف) تبويب data ثم advanced ثم ضبط خيارات النافذة كما بالصورة ثم موافق بالتوفيق حل.xlsx
  7. المشكلة في التاريخ الهجري هي أن جميع دوال التاريخ تعمل علي التاريخ الميلادي وليس الهجري عن طريق المعادلة =EDATE(a1, 24) حيث a1 هي الخلية التي بها التاريخ فستكون النتيجة إضافة عامين بالميلادي وهذا أكثر من عامين بالهجري وبالنسبة لعدد الأيام بين تاريخين فيمكن باستعمال عملية الطرح خلية تاريخ النهاية - خلية تاريخ البداية بالتوفيق
  8. لإضافة 90 يوم على التاريخ المكتوب في مربع نص وليكن اسمه textbox1 مثلا ويتم وضع الناتج في textbox2 مثلا textbox2.value = Format(DateAdd("d", 90, cdate(textbox1.value)), "yyyy/mm/dd") ولطرح تاريخين نستعمل textbox3.value = DateDiff("d", cdate(textbox2.value), cdate(textbox5.value)) بالتوفيق
  9. يجب أن تحول الصفر إلى واحد حتى تحافظ على قيمة الضرب يمكن استعمال هذه المعادلة =IF(G10="",1,G10)*IF(F10="",1,F10)*IF(H10="",1,H10)*IF(I10="",1,I10)*IF(J10="",1,J10) ولمن يعمل جهازه بنظام الفاصلة المنقوطة ولا يعرف كيف يغير الفاصلة إلى فاصلة منقوطة هكذا =IF(G10="";1;G10)*IF(F10="";1;F10)*IF(H10="";1;H10)*IF(I10="";1;I10)*IF(J10="";1;J10) بالتوفيق
  10. هذا طبيعي جدا لأن الخلية الفارغة تساوي صفر وأي رقم ضرب صفر يساوي صفر
  11. أول خطوة قبل كتابة موضوع جديد هي استعمال محرك البحث ومحاولة التعلم والتطبيق من جميع النتائج وهذه إحدى نتائج البحث https://www.officena.net/ib/search/?q=فورم بحث وتعديل&quick=1&type=forums_topic&nodes=135&search_and_or=and كما أن تصميم ملفك مخالف لكل الموضوعات حيث يفضل أن تكون الاضافة والتعديل والبحث في نموذج واحد بحيث عن الضغط على العنصر في القائمة يتم نقل جميع معلوماته الي مربعات النص الخاصة بالتعديل او الاضافة راجع الموضوعات في نتائج البحث وخصوصا شرح عمل نموذج البحث خطوة بخطوة
  12. باستعمال دالة if مع دالة and إذا كانت الخلية التي بها العمر بالعام أكبر من أو يساوي 3 وأيضا الخلية التي بها العمر بالشهور أكبر من أو يساوي 6 تكون قيمة الخلية kg1 وهكذا بالتوفيق
  13. يمكنك استعمال هذا الكود للتصفية أولا ثم النسخ ثم الحذف Sub copy_filtered_data() If Evaluate("=COUNTIF(I:I,""جاهز"")") > 0 Then Application.ScreenUpdating = 0 Dim lr1 As Long, lr2 As Long lr1 = Sheet1.Cells(Rows.Count, 1).End(3).Row lr2 = Sheet2.Cells(Rows.Count, 1).End(3).Row + 1 Sheet1.Range("$A$1:$I$" & lr1).AutoFilter Field:=9, Criteria1:="جاهز" Sheet1.Range("a2:i" & lr1).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheet2.Range("A" & lr2) Sheet1.Range("a2:i" & lr1).SpecialCells(xlCellTypeVisible).EntireRow.Delete Sheet1.Range("$A$1:$I$" & lr1).AutoFilter Application.ScreenUpdating = 1 MsgBox "done by mr-mas.com" Else MsgBox "لا يوجد صفوف جاهزة لترحيلها" End If End Sub وهذا ملفك بعد وضع الكود وتغيير الامتداد (لأن معظم الأوقات يكون صاحب الاستفسار لا يعرف كيفية التعامل مع أساسيات الأكواد) بالتوفيق نسخ البيانات بعد الفلتر.xlsb
  14. يمكنك استعمال هذا الكود وهو نفس الكود ولكن بتعديلات بسيطة Sub test() Dim ws As Worksheet, lr As Integer, lr2 As Integer Application.ScreenUpdating = False Sheets("البيان المجمع").Range("a4:e10000").ClearContents For Each ws In ThisWorkbook.Worksheets If ws.Name <> "البيان المجمع" And ws.Name <> "ملاحظات" Then With ws .Activate lr = .Cells(Rows.Count, 1).End(xlUp).Row lr2 = Sheets("البيان المجمع").Cells(Rows.Count, 1).End(xlUp).Row + 1 Sheets("البيان المجمع").Range("a" & lr2 & ":e" & lr2 + lr - 4).Value = .Range("a4:e" & lr).Value End With End If Next Sheets("البيان المجمع").Activate: Range("a1").Select Application.ScreenUpdating = True End Sub بالتوفيق
  15. يفضل إرفاق ملف ولكن يمكنك تجربة هذه المعادلة حسب فهمي للمطلوب =IF(C1>=0.3,C1*100-5,0) حيث أن c1 هي الخلية التي بها النسبة وهي تنتج من قسمة عدد الأفكار المقدمة على العدد الكلي وتنسيق الخلية كنسبة مئوية بالتوفيق
  16. الملف لا يحمل أي محاولة من حضرتك في تنفيذ المطلوب كما أن مطلوبك هكدا عمل برنامج متكامل يفضل أن تبدأ حضرتك في التنفيذ وإذا تعثرت في نقطة أو اثنتين يمكن عرضها في موضوع جديد مع شرح المطلوب بالتفصيل بالتوفيق
  17. يمكنك الغاء تثبيت البرنامج من لوحة التحكم وتنزيل ميكروسوفت اوفيس 2019 مثلا بالتوفيق
  18. يا ريت مزيد من التفاصيل حيث أن wps أونلاين أو أي أوفيس أونلاين لا يدعم أكواد الماكرو كما أنه توجد خاصية الحفظ التلقائي وتوجد خاصية التاريخ أو الإصدارات السابقة
  19. إذا استخدمت البحث ستجد الكثير فيما يخص عرض الصور في الشيت أو النموذج هذه بعض النتائج https://www.officena.net/ib/search/?q=الصور الشيت&type=forums_topic&nodes=135&updated_after=any&sortby=relevancy&search_and_or=and بالتوفيق
  20. نظام الفاصلة في جهازك هو الفاصلة المنقوطة لذلك ضع الفاصلة المنقوطة بدل الفاصلة وهكذا مع أي معادلات تنسخها من المنتدى بالتوفيق
×
×
  • اضف...

Important Information