اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    185

Community Answers

  1. أ / محمد صالح's post in ايجاد عدد الايام في الفرق بين التاريخين بشرط ان الشهر يكون كل شهر 30 يوم was marked as the answer   
    حسب فهمي للمطلوب
    رغم عدم دقة هذه الطريقة في حساب الفرق بين تاريخين لأنها لا تراعي الشهور ذات الأيام 31 أو 28 أو 29
    على العموم
    يمكنك استعمال هذه المعادلة في G4 للحصول على عدد الأيام
    =IF(DAY(E4)<DAY(D4),30,0)+DAY(E4)-DAY(D4) وهذه في F4 للحصول على عدد الشهور
    =IF((IF(DAY(E4)<DAY(D4),-1,0)+MONTH(E4))<MONTH(D4),12,0)+IF(DAY(E4)<DAY(D4),-1,0)+MONTH(E4)-MONTH(D4) وهذه للحصول على عدد السنوات
    =IF((MONTH(E4)-MONTH(D4))<(IF((IF(DAY(E4)<DAY(D4),-1,0)+MONTH(E4))<MONTH(D4),12,0)+IF(DAY(E4)<DAY(D4),-1,0)+MONTH(E4)-MONTH(D4)),-1,0)+YEAR(E4)-YEAR(D4) طبعا يرجع طول المعادلة إلى عدم اعتمادها على نتائج الأعمدة الأخرى (اليوم والشهر)
    بالتوفيق
  2. أ / محمد صالح's post in حساب عدد مقسم الي شرائح was marked as the answer   
    جرب أن تضع هذه المعادلة في الخلية B3
    =IF(A3<=100,A3*1.5,IF(A3<=150,150+(A3-100)*2,IF(A3<=200,250+(A3-150)*5,500+(A3-200)*6))) على افتراض أن الأكثر من 200 ب 6
    وطبعا ال 150 عبارة عن 100 في 1.5
    وطبعا 250 عبارة عن 150 + ( 50 في 2)
    وطبعا ال 500 عبارة عن 250 + (50 في 5)
    بالتوفيق
  3. أ / محمد صالح's post in عد الخانات التي تحتوي على ارقام والخانة التي تحتوي على فراغ أو نص أو صفر لا تعد was marked as the answer   
    أخي الكريم
    يجب أولا ضبط المدخلات
    بحيث أن كل جزء ج1 أو ج2 وهكذا يحتوي على 
    3 صفوف أعلاه
    ثم 12 صف أرقام
    ثم 3 صفوف أسفله
    وعليه يكون عدد صفوف الجزء 18 صفا
    ومعنى ضبط المدخلات أن تكون هذه الطريقة هي المتبعة في جميع الخلايا من ج1 حتى ج 9
    ويمكنك استعمال هذه المعادلة في الخلية C8 ثم سحبها لأسفل
    =COUNTIFS(INDIRECT("'1'!C"&(B8-1)*18+1&":C"&B8*18),">"&0) وهذا ملفك بعد تنفيذ الفكرة على شيت 1 فقط
    بالتوفيق
     
    جمع عدد المستندات في القائمة حسب شروط.xlsm
  4. أ / محمد صالح's post in حساب عدد مقسم الي شرائح was marked as the answer   
    جرب أن تضع هذه المعادلة في الخلية B3
    =IF(A3<=100,A3*1.5,IF(A3<=150,150+(A3-100)*2,IF(A3<=200,250+(A3-150)*5,500+(A3-200)*6))) على افتراض أن الأكثر من 200 ب 6
    وطبعا ال 150 عبارة عن 100 في 1.5
    وطبعا 250 عبارة عن 150 + ( 50 في 2)
    وطبعا ال 500 عبارة عن 250 + (50 في 5)
    بالتوفيق
  5. أ / محمد صالح's post in تقسيم سن 5 سنين وقسمتهم على 2 وتوزيعهم على القاعات was marked as the answer   
    عليكم السلام ورحمة الله وبركاته
    يمكنك استخدام هذه المعادلة في الخلية J9
    =IF(F9=5,IF(COUNTIF($F$9:F9,5)/COUNTIF($F$9:$F$1000,5)<=0.5,"الفرح","الزهور"),"اشراقة") بالتوفيق
  6. أ / محمد صالح's post in مشكلة السحب لنسخ المعادلة ( لم اجد لها حل ) was marked as the answer   
    يلزمك القراءة عن المراجع المطلقة والمراجع النسبية
    جرب استعمال 
    =$A$1-A4 سيتم تثبيت A1
    بالتوفيق 
  7. أ / محمد صالح's post in التنقل داخل الخلايا المسموح الكتابة بها فقط من اليمين إلي اليسار عن طريق مفتاح Enter وهكذا was marked as the answer   
    لا أدري ما المشكلة لديك في تنفيذ الخطوات
    بعد تغيير خصائص جميع الخلايا إلى محمية ثم تنسيق الخلايا المراد الكتابة فيها بغير محمية ثم حماية الشيت بكلمة مرور ثم ضبط خيارات الاكسل - متقدم  الذي يحدث معي:
    الكتابة في الخلية الأولى المسموح الكتابة فيها ثم بعد الضغط على انتر يتم الانتقال إلى ثاني خلية مسموحة حتى لو بينها وبين الأولى أي عدد من الأعمدة إلى نهاية الصف المسموح
    وعند نهاية الصف ينزل إلى أول خلية مسموحة في الصف التالي
    وهكذا
    وأعتقد هذا هو المطلوب
    إن كان فهمي صحيحا
  8. أ / محمد صالح's post in عمل دالة لوضع درجات مع احتساب النسبة was marked as the answer   
    أخي الكريم
    يجب كتابة المطلوب بالتفصيل الممل
    حتى يفهم الجميع ويساعدوك
  9. أ / محمد صالح's post in هل يمكن ظهور ساعة في الخلية مثل التقويم عند اختيار التاريخ من أجل اختيار ساعة معينة؟ was marked as the answer   
    إن شاء الله يفيدك هذا الملف
    نموذج بسيط لاختيار الوقت مثل اختيار التاريخ
    بالتوفيق
    time picker.xlsb
  10. أ / محمد صالح's post in أحتاج تغيير نطاق هذا الكود was marked as the answer   
    عليكم السلام 
    جرب استخدام هذا الكود بعد تحديد الخلايا التي يراد وضع ارتباط تشعبي لها
    Sub AddHypaerlinks() Dim cl As Range Dim myPath As String, fileName As String myPath = "C:\Users\civat\Desktop\New folder\" 'SET TO WHERE THE FILES ARE LOCATED For Each cl In Selection If Len(cl) > 0 Then fileName = myPath & cl.Value & "*.docx" 'IF THE FILE EXISTS THEN If Len(Dir(fileName)) <> 0 Then ActiveSheet.Hyperlinks.Add cl, myPath & Dir(fileName) End If Next End Sub بالتوفيق
  11. أ / محمد صالح's post in احتساب الساعات التي قضاها بين تاريخين was marked as the answer   
    عليكم السلام
    يمكنك وضع هذه المعادلة في الخلية F3
    =(SUM(B3,E3)-SUM(A3,D3))*24 بالتوفيق
  12. أ / محمد صالح's post in مشكلة البحث عن رقم في اليوزرفورم was marked as the answer   
    عملية البحث طبيعية ولا مشكلة في الكود
    ويرجع سبب الحصول على أرقام أخرى أن عملية البحث غير مطابقة وإنما باللواصق (ما قبلها وما بعدها)
    "*" & Me.TextBox1 & "*" فلو بحثنا عن الرقم 2 يجلب لنا 2 و 12 و 22 و 25 و 32 وهكذا
    وإذا أردنا أن يكون البحث عن الأرقام مطابقا يجب إضافة شرط لمعيار البحث
    باستبدال السطر الثاني إلى هذا السطر
    clé = IIf(Me.combobox1.Value = "الرقم" Or Me.combobox1.Value = "عدد الحروف" Or Me.combobox1.Value = "عدد الكلمات", Me.TextBox1, "*" & Me.TextBox1 & "*"): n = 0 بالتوفيق
  13. أ / محمد صالح's post in تعطيل زر الماوس الايمن was marked as the answer   
    من الواضح أن إجراء التمكين غير موجود والذي يسمى enableply
    لذلك يمكنك استعمال هذين الاجرائين
    للتعطيل
    Private Sub Workbook_Open() Application.CommandBars("Ply").Enabled = False End Sub للتمكين
    Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.CommandBars("Ply").Enabled = True End Sub بالتوفيق
  14. أ / محمد صالح's post in الفرق بين التاريخ يدون يوم العطلة was marked as the answer   
    يمكنك استعمال هذه المعادلة في B3
    =WORKDAY.INTL(A3-1,D3,16) بالتوفيق
  15. أ / محمد صالح's post in استفسار عن دالة لاحتساب عمولة was marked as the answer   
    جرب هذه المعادلة
    =IF(M4*0.0199<1.99,1.99,IF(M4*0.0199>=0.299*F4,0.299*F4,M4*0.0199)) على اعتبار أن قيمة الصفقة هي الخلية F4
    بالتوفيق 
  16. أ / محمد صالح's post in معادلة اتغيرت من نفسها لما فتحت الملف على اوفيس 365 ارجو الافادة was marked as the answer   
    هذا الرمز يخبر اكسل أن ينتج قيمة واحدة كما هو الحال في معادلة المصفوفات القديمة
    جرب أن تحذف معادلات العمود كله وتكتب المعادلة بدون @  في أول خلية فقط مع الضغط على انتر فقط
    حيث أن هذا النوع من المعادلات يحتاج إلى نطاق فارغ ليظهر جميع النتائج
    وإلا يظهر الخطأ SPILL
    بالتوفيق
  17. أ / محمد صالح's post in برنامج ترجمة was marked as the answer   
    بعد إذن أخي الغالي @احمد عبدالحليم
    يمكنك استعمال هذا الاجراء لوضع أسماء الشيتات ايا كان عددها في العمود B
    Sub sheetsnames() n = 4 For Each sh In ThisWorkbook.Sheets If sh.Name <> "الرئيسية" Then Range("b" & n) = sh.Name n = n + 1 End If Next sh MsgBox "ok" End Sub واستعمال هذا الكود في حدث تغيير قيمة الخلايا في شيت الرئيسية
    Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then Range("C4:C12").Formula = "=VLOOKUP($B$2,INDIRECT(""'""&B4&""'!a2:b10000""),2,0)" Range("C4:C12").Value = Range("C4:C12").Value End If End Sub بالتوفيق
  18. أ / محمد صالح's post in vlookup بأكثر من شرط was marked as the answer   
    عليكم السلام ورحمة الله وبركاته
    يمكنك استعمال هذه المعادلة في L6
    =IF(H6>0,VLOOKUP(C6,$T$5:$AI$100,MATCH(B6,$T$5:$AI$5,0),0),0) وهذه المعادلة في N6
    =IF(AND(H6>0,OR(S6="ض نقل",S6="نقل")),VLOOKUP(C6,$T$5:$AI$100,MATCH(B6,$T$5:$AI$5,0)+1,0),0) لاحظ استعمال match لجلب ؤقم العمود بدلالة رقم أمر التوريد
    بالتوفيق
  19. أ / محمد صالح's post in الملف لا يعمل بعد تثبيت ويندوز جديد و اوفيس جديد مرفق صورة للمشكلة was marked as the answer   
    أو يمكنك تعديل الكود ليتناسب مع 64bit
    # if vba7 then declare ptrsafe function.... # else declare function... # end if لاحظ وضع ptrsafe قبل function
    بالتوفيق 
  20. أ / محمد صالح's post in رسائل نصية sms بالاكسيل فورم was marked as the answer   
    جرب هذا الكود المختصر بإذن الله يكون هو المطلوب
    Private Sub CommandButton1_Click() Dim contact As String, mytext As String contact = TextBox1.Value mytext = TextBox2.Value ' Google Messages ActiveWorkbook.FollowHyperlink Address:="https://messages.google.com/web/conversations/new" Application.Wait (Now + TimeValue("00:00:10")) Call SendKeys(contact, True) Application.Wait (Now + TimeValue("00:00:04")) Call SendKeys("{TAB}", True) Application.Wait (Now + TimeValue("00:00:01")) Call SendKeys("~", True) ' Enter key Application.Wait (Now + TimeValue("00:00:04")) Call SendKeys(mytext, True) Application.Wait (Now + TimeValue("00:00:01")) Call SendKeys("~", True) ' Enter key Application.Wait (Now + TimeValue("00:00:04")) MsgBox "Done by mr-mas.com" End Sub بالتوفيق
  21. أ / محمد صالح's post in كود نقل ملفات لمجلدات معينة was marked as the answer   
    إذا كان مقصودك اختيار المجلد الفرعي من العشرة لمرة واحدة فلماذا لا يتم تمرير اسم المجلد الفرعي للكود ؟؟
    مثلا المجلد الفرعي رقم 1 يتم نسخ جميع الملفات في المجلد الفرعي رقم 1 داخل المجلد الذي يوافق اسم الملف.
    وفي هذه الحالة ما فائدة المجلدات الفرعية التسعة الأخرى؟؟؟!!!
    على العموم
    ضع متغيرا جديدا للمجلد الفرعي في آخر الإعلان عن المتغيرات
    Dim extension As String Dim subfolder as String واستبدل هذه السطور قبل النسخ
    If fileName = folderName Then FileCopy sourcePath & fileItem, targetPath & folderItem & "\" & fileItem End If إلى هذه والتي تعرض مستعرض المجلدات لمرة واحدة في أول ملف ابتداء من أول مجلد ثم يتم النسخ في المجلد الفرعي بنفس الاسم في جميع المجلدات المطابقة لاسماء الملفات
    If fileName = folderName Then If subfolder = "" then With Application.FileDialog(msoFileDialogFolderPicker) .Title = "اختيار المجلد الفرعي" .InitialFileName = targetPath & folderItem & "\" If .Show = -1 Then subfolder = .SelectedItems(1) & "\" Else MsgBox "لم يتم اختيار المجلد الفرعي" Exit Sub End If End With End If FileCopy sourcePath & fileItem, subfolder & fileItem End If بالتوفيق
  22. أ / محمد صالح's post in حذف الرقم الأول من الخليه was marked as the answer   
    يمكنك استعمال هذه المعادلة لاقتصاص الأرقام من الثاني بطول 11 رقما
    =MID(A2,2,11) بالتوفيق 
  23. أ / محمد صالح's post in مطلوب كود VBA أو معادلة تفصل الارقام عن الحروف من رسالة was marked as the answer   
    إن شاء الله تفيدك معادلات البحث والاقتصاص هذه
    مع ضرورة ثبات قالب الرسائل على هذه الصيغة
    بالتوفيق
     
    رسائل كاش.xlsx
  24. أ / محمد صالح's post in محتاج دالة او معادلة أو كود لعد البيانات في الخلايا was marked as the answer   
    حسب فهمي للمطلوب جرب استعال هذه المعادلة
    =SUBTOTAL(103,A2:A1000) لعد الخلايا الظاهرة في العمود A
    بالتوفيق
  25. أ / محمد صالح's post in مطلوب تعديل كود عمل نسخة احتياطية ليعمل عند غلق الملف was marked as the answer   
    يوجد اختلاف بين العنوان ومضمون الموضوع
    فإذا كنت تريده عند إغلاق ورقة العمل يمكنك وضع الكود بدون أول وآخر سطر في حدث إلغاء تفعيل الشيت
    Private Sub Worksheet_Deactivate() End Sub ةإذا كان المفصود عند إغلاق الملق كله فيمكنك وضعه في حدث قبل إغلاق مصنف العمل thisworkbook
    Private Sub Workbook_BeforeClose(Cancel As Boolean) End Sub بالتوفيق
×
×
  • اضف...

Important Information