بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
4,357 -
تاريخ الانضمام
-
Days Won
185
Community Answers
-
أ / محمد صالح'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) طبعا يرجع طول المعادلة إلى عدم اعتمادها على نتائج الأعمدة الأخرى (اليوم والشهر)
بالتوفيق
-
أ / محمد صالح'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)
بالتوفيق
-
أ / محمد صالح'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
-
أ / محمد صالح'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)
بالتوفيق
-
أ / محمد صالح'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,"الفرح","الزهور"),"اشراقة") بالتوفيق
-
أ / محمد صالح's post in مشكلة السحب لنسخ المعادلة ( لم اجد لها حل ) was marked as the answer
يلزمك القراءة عن المراجع المطلقة والمراجع النسبية
جرب استعمال
=$A$1-A4 سيتم تثبيت A1
بالتوفيق
-
أ / محمد صالح's post in التنقل داخل الخلايا المسموح الكتابة بها فقط من اليمين إلي اليسار عن طريق مفتاح Enter وهكذا was marked as the answer
لا أدري ما المشكلة لديك في تنفيذ الخطوات
بعد تغيير خصائص جميع الخلايا إلى محمية ثم تنسيق الخلايا المراد الكتابة فيها بغير محمية ثم حماية الشيت بكلمة مرور ثم ضبط خيارات الاكسل - متقدم الذي يحدث معي:
الكتابة في الخلية الأولى المسموح الكتابة فيها ثم بعد الضغط على انتر يتم الانتقال إلى ثاني خلية مسموحة حتى لو بينها وبين الأولى أي عدد من الأعمدة إلى نهاية الصف المسموح
وعند نهاية الصف ينزل إلى أول خلية مسموحة في الصف التالي
وهكذا
وأعتقد هذا هو المطلوب
إن كان فهمي صحيحا
-
أ / محمد صالح's post in عمل دالة لوضع درجات مع احتساب النسبة was marked as the answer
أخي الكريم
يجب كتابة المطلوب بالتفصيل الممل
حتى يفهم الجميع ويساعدوك
-
أ / محمد صالح's post in هل يمكن ظهور ساعة في الخلية مثل التقويم عند اختيار التاريخ من أجل اختيار ساعة معينة؟ was marked as the answer
إن شاء الله يفيدك هذا الملف
نموذج بسيط لاختيار الوقت مثل اختيار التاريخ
بالتوفيق
time picker.xlsb
-
أ / محمد صالح'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 بالتوفيق
-
أ / محمد صالح's post in احتساب الساعات التي قضاها بين تاريخين was marked as the answer
عليكم السلام
يمكنك وضع هذه المعادلة في الخلية F3
=(SUM(B3,E3)-SUM(A3,D3))*24 بالتوفيق
-
أ / محمد صالح'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 بالتوفيق
-
أ / محمد صالح'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 بالتوفيق
-
أ / محمد صالح's post in الفرق بين التاريخ يدون يوم العطلة was marked as the answer
يمكنك استعمال هذه المعادلة في B3
=WORKDAY.INTL(A3-1,D3,16) بالتوفيق
-
أ / محمد صالح'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
بالتوفيق
-
أ / محمد صالح's post in معادلة اتغيرت من نفسها لما فتحت الملف على اوفيس 365 ارجو الافادة was marked as the answer
هذا الرمز يخبر اكسل أن ينتج قيمة واحدة كما هو الحال في معادلة المصفوفات القديمة
جرب أن تحذف معادلات العمود كله وتكتب المعادلة بدون @ في أول خلية فقط مع الضغط على انتر فقط
حيث أن هذا النوع من المعادلات يحتاج إلى نطاق فارغ ليظهر جميع النتائج
وإلا يظهر الخطأ SPILL
بالتوفيق
-
أ / محمد صالح'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 بالتوفيق
-
أ / محمد صالح'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 لجلب ؤقم العمود بدلالة رقم أمر التوريد
بالتوفيق
-
أ / محمد صالح's post in الملف لا يعمل بعد تثبيت ويندوز جديد و اوفيس جديد مرفق صورة للمشكلة was marked as the answer
أو يمكنك تعديل الكود ليتناسب مع 64bit
# if vba7 then declare ptrsafe function.... # else declare function... # end if لاحظ وضع ptrsafe قبل function
بالتوفيق
-
أ / محمد صالح'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 بالتوفيق
-
أ / محمد صالح'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 بالتوفيق
-
أ / محمد صالح's post in حذف الرقم الأول من الخليه was marked as the answer
يمكنك استعمال هذه المعادلة لاقتصاص الأرقام من الثاني بطول 11 رقما
=MID(A2,2,11) بالتوفيق
-
أ / محمد صالح's post in مطلوب كود VBA أو معادلة تفصل الارقام عن الحروف من رسالة was marked as the answer
إن شاء الله تفيدك معادلات البحث والاقتصاص هذه
مع ضرورة ثبات قالب الرسائل على هذه الصيغة
بالتوفيق
رسائل كاش.xlsx
-
أ / محمد صالح's post in محتاج دالة او معادلة أو كود لعد البيانات في الخلايا was marked as the answer
حسب فهمي للمطلوب جرب استعال هذه المعادلة
=SUBTOTAL(103,A2:A1000) لعد الخلايا الظاهرة في العمود A
بالتوفيق
-
أ / محمد صالح's post in مطلوب تعديل كود عمل نسخة احتياطية ليعمل عند غلق الملف was marked as the answer
يوجد اختلاف بين العنوان ومضمون الموضوع
فإذا كنت تريده عند إغلاق ورقة العمل يمكنك وضع الكود بدون أول وآخر سطر في حدث إلغاء تفعيل الشيت
Private Sub Worksheet_Deactivate() End Sub ةإذا كان المفصود عند إغلاق الملق كله فيمكنك وضعه في حدث قبل إغلاق مصنف العمل thisworkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean) End Sub بالتوفيق