-
Posts
4,357 -
تاريخ الانضمام
-
Days Won
185
Community Answers
-
أ / محمد صالح's post in كيفية دمج خلايا ورقة عمل محمية was marked as the answer
ما دامت ورقة العمل محمية فلا يمكن دمج الخلايا إلا باستعمال كود VBA
وأن يبدأ الكود بسطر لفك الحماية
ثم أي كود تريده كدمج نطاق معين أو دمج الخلايا المحددة
ثم آخر سطر لإعادة حماية الشيت مرة أخرى
ActiveSheet.Unprotect "password" Range("C3:E3").Merge 'Selection.Merge ActiveSheet.Protect "password" وأنصح ألا يحتاج المستخدم لدمج خلايا جديدة بعد حماية ورقة العمل
فالأولى دمج الخلايا قبل الحماية
بالتوفيق
-
أ / محمد صالح's post in طلب ضبط اكواد تيكست بوكس was marked as the answer
تفضل جرب هذا التعديل
جعل اسم مربع النص 11 وليس 12
وعمل بعض التعديلات في نوع المتغيرات التي تساعد في عملية البحث
بالتوفيق
متابعة8.xlsm
-
أ / محمد صالح's post in هل يمكن دمج عمود في عدة ملفات في عمود واحد؟ was marked as the answer
أخي الكريم مطلوبك سهل بإذن الله
لكن يوجد بعض الخطوات قبل تنفيذه وهي:
إعادة حفظ الملفات باسم (ولو بنفس الاسم) حيث أنها تظهر خطأ عند فتحها
ضبط مكان الارقام في العمود K حيث أنها في معظم الملفات في العمود K
بعدها اصنع ملفا وضع به هذا الكود
Sub GetDataFromFiles() Dim oFSO As Object, oFolder As Object, oFile As Object Dim lr As Long, iCnt As Long, iTotalRows As Long Dim src As Workbook, dst As Workbook Set dst = ActiveWorkbook Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(ActiveWorkbook.Path) Application.ScreenUpdating = False For Each oFile In oFolder.Files If oFile.Name <> ActiveWorkbook.Name And Left(oFile.Name, 1) <> "~" Then Set src = Workbooks.Open(oFile.Path, True, True) iTotalRows = src.Worksheets(1).Cells(Rows.Count, "K").End(xlUp).Row For iCnt = 1 To iTotalRows lr = dst.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row dst.Sheets(1).Range("A" & lr + 1).Value = src.Sheets(1).Range("K" & iCnt).Value Next iCnt src.Close False End If Next oFile Set oFSO = Nothing: Set oFolder = Nothing: Set oFile = Nothing Application.ScreenUpdating = True MsgBox "Done by mr-mas.com" End Sub ثم قم بتنفيذ هذا الإجراء
سيتم جلب بيانات العمود K من الملفات في العمود A في الملف الجديد الذي به الكود
بالتوفيق
-
أ / محمد صالح's post in محتاج تعديل بسيط علي نتيجة كود الفرق بين تاريخين was marked as the answer
أخي الكريم هذا ليس تاريخا وإنما هو عدد الأيام والشهور والأعوام بين تاريخين
ومادام يعرض في textbox فهو نتيجة كود
لذلك تحتاج لتغير السطر في الكود الذي يغرض الأيام ثم الشهور ثم الأعوام
وإذا كنت قد أرفقت الملف سيتم تغيير هذا السطر ولكن عرضت الاستفسار نظريا فحصلت على الإجابة نظريا
-
أ / محمد صالح's post in معادلة لبيان اذا الرقم عليه اكثر من شخص was marked as the answer
يمكنك استخدام هذه المعادلة في أوفيس 2019 في الخلية C2
=TEXTJOIN(",", 1,IF($A$2:$A$20=A2,$B$2:$B$20, "")) بالتوفيق
-
أ / محمد صالح's post in تعديل في معادلة was marked as the answer
حسب فهمي للمطلوب يلزمك تغيير المعادلة في الخلية E2 إلى
=SUMIFS(الصرف!$C$2:$C$8,الصرف!$B$2:$B$8,$A$1,الصرف!$A$2:$A$8,">="&D2,الصرف!$A$2:$A$8,"<="&EOMONTH(D2,0),الصرف!$C$2:$C$8,">="&0)*$L$1+SUMIFS(الصرف!$C$2:$C$8,الصرف!$B$2:$B$8,$A$1,الصرف!$A$2:$A$8,">="&D2,الصرف!$A$2:$A$8,"<="&EOMONTH(D2,0),الصرف!$C$2:$C$8,"<"&0) رغم اعتراضي على اختلاف طريقة تسجيل البيانات فإذا كان العدد 3 يتم ضربه في 1000 لذلك يجب كتابة ال 500 على صورة 0.5 فهذا سيقلل المعادلة ويضبط المخرجات
بالتوفيق
-
أ / محمد صالح's post in استخراج التاريخ من رقم المعامله was marked as the answer
يمكنك وضع هذه المعادلة في الخلية B4
=DATE(MID(LEFT(RIGHT(I4,12),8),1,4),MID(LEFT(RIGHT(I4,12),8),5,2),MID(LEFT(RIGHT(I4,12),8),7,2)) والاستغناء عن الأعمدة المساعدة
بالتوفيق
-
أ / محمد صالح's post in المطلوب ترتيب الاسماء was marked as the answer
يمكنك فعلها من خلال أزرار التبويبات
data --- sort
أو تسجيل ماكرو بهذا لتحصل على الكود
بالتوفيق
-
أ / محمد صالح's post in ارجو حذف البيانات عن تاريخ الميلاد was marked as the answer
يمكنك استعمال هذه المعادلة لتحويل النص إلى تاريخ
=DATE(MID(A2,1,4),MID(A2,6,2),MID(A2,9,2)) على اعتبار أن الخلية التي بها هذا النص A2
بالتوفيق
-
أ / محمد صالح's post in ارجوكم مساعده في داله البحث was marked as the answer
يمكنك استعمال هذه المعادلة في الخلية B3 وسحبها لأسفل
=IFERROR(INDEX(INDIRECT($B$1&"!$B$2:$B$1000"),MATCH(A3,INDIRECT($B$1&"!$A$2:$A$1000"),0)),"") أي اسم شيت يكتب في الخلية B1 سيتم جلب نتيجة البحث عن سعر الصنف منه
بالتوفيق
-
أ / محمد صالح's post in ترحيل الاسماء على ثلاث اعمدة was marked as the answer
يمكنك استعمال هذا الكود وتنفيذه في شيت الترحيل وليس في sheet1
Sub mas_taqseem() Application.ScreenUpdating = False lr = Sheet1.Cells(10000, 1).End(xlUp).Row Range("A2:K100").ClearContents col = 1 For i = 2 To lr Step WorksheetFunction.Ceiling((lr - 1) / 3, 1) For j = 2 To WorksheetFunction.Ceiling((lr - 1) / 3, 1) + 1 Cells(j, col) = Sheet1.Cells(j + i - 2, 1) Cells(j, col + 1) = Sheet1.Cells(j + i - 2, 2) Cells(j, col + 2) = Sheet1.Cells(j + i - 2, 3) Next j col = col + 4 Next i Application.ScreenUpdating = True MsgBox "Done by mr-mas.com" End Sub بالتوفيق
-
أ / محمد صالح's post in استفسار عن كود انشاء الصفحات والبيانات was marked as the answer
هذا الموضوع تمت معالجته قبل ذلك كثيرا
وبقليل من البحث كنت ستصل لضالتك
ورغم أن الملف لا يوجد به أي محاولة من حضرتك وهذا يعني أنك تريد أن يعمل غيرك لصالحك وليس الهدف التعلم كما هو هدفنا في المنتدى
رغم كل ما سبق هذا جهدي المتواضع في ملفك
بالتوفيق
إنشاء شيتات وربطها بالرئيسية.xlsb
-
أ / محمد صالح's post in معادلة للبحث بثلاثة معايير was marked as the answer
يمكنك استعمال هذه المعادلة في الخلية K3
للبحث بثلاثة معايير : اسم الصنف والشهر والسنة
=INDEX('m cost'!$E$3:$E$1062,MATCH(1,('m cost'!$B$3:$B$1062=C3)*('m cost'!$C$3:$C$1062=O3)*('m cost'!$D$3:$D$1062=N3),0)) بالتوفيق
-
أ / محمد صالح's post in مشكلة اللغة العربية was marked as the answer
هذه مشكلة اللغة العربية في اعدادات الويندوز
لوحة التحكم
المنطقة
اداري
تغيير الاعدادات المحلية
اختر اللغة العربية المناسبة
موافق لكل النوافذ المفتوحة
اعادة التشغيل
بالتوفيق
-
أ / محمد صالح's post in جمع ايام العمل فقط بدون الجمعة والسبت على تاريخ معين was marked as the answer
يمكنك استعمال هذه المعادلة للتوصل لتاريخ النهاية بعد 100 يوم عمل
=WORKDAY.INTL($C$5-1,100,7) وهذه الدالة للإصدارات الأحدث (2010 وما بعدها) تراعي خيارات عطلة نهاية الاسبوع
ورقم 7 يعني الجمعة والسبت
ويمكن استخدام هذه الدالة للاصدارات الاقدم (2007 وما قبلها)
=WORKDAY($c$5,100)-1 هذه الدالة تحسب عدد الأيام على ان اجازة نهاية الاسبوع هي السبت والاحد
لذلك تم انقاص يوم من الناتج لتحسب على ان عطلة نهاية الاسبوع الجمعة والسبت
ملحوظة:
وتم تعديل الملف المرفق ليحسب عدد أيام العمل بين تاريخين
للإصدارات القديمة بدالة networkdays والحديثة networkdays.intl
بالتوفيق
ايام عمل.xlsx
-
أ / محمد صالح's post in مطلوب معادلة نقل المسميات حسب الشرط was marked as the answer
الأخ الكريم صاحب الاستفسار
حتى تتمكن من عمل معادلة لجميع الجداول يجب انتظام الصفوف
بمعنى أنه يجب حذف الصف الثاني الموجود به المبلغ ورقم المنتج حيث أنهما غير موجودين في جدول البناء
وهذه معادلة اعتمادا على انتظام الصفوف بوجود خلية فارغة قبل وبعد فئة المنتجات فقط
بالتوفيق
نقل المسميات حسب الشرط.xlsx
-
أ / محمد صالح's post in محتاج دالة لجمع السنين والاشهر والايام مع التقريب was marked as the answer
تفضل جرب هذا
مجموع مدد.xlsx
-
أ / محمد صالح's post in معادلة اخر قيمة لصنف معين بشرط was marked as the answer
تفضل أخي الكريم
حسب فهمي للمطلوب
لا يلزمك إحضار أعلى قيمة للبند ولكن هنا المطلوب: البحث بشرطين البند ورقم المستحضر
لذا
يلزمك كتابة رقم المستحضر في الخلية H2 ليتم جلب بياناته
بالتوفيق
مستخلص مياه ورمل.xlsm
-
أ / محمد صالح's post in اظهار صورة الطالب ملونة في المعاينة والطباعة was marked as the answer
الصورة تظهر في المعاينة طبيعية
ويمكن طباعتها ألوان بحذف علامة الصح في الأمر black and white في إعدادات الصفحة آخر تبويب
بالتوفيق
-
أ / محمد صالح's post in تعديل الكتابة بالخطأ من انجليزى لعربى والعكس was marked as the answer
لعيون الأحباب
وبمناسبة عشر ذي الحجة وعيد الأضحى المبارك
هذا رابط لأحدث إصدار ومميزات إضافية رائعة
-
أ / محمد صالح's post in 5 خطوات ويكتمل المطلوب ارجوكم was marked as the answer
جرب هذا المرفق
تم تعديل المطلوب الأول والثاني والثالث
وتم الاجتهاد في تغيير طريقة البحث بحيث يمكن الاستغناء عن النموذج 2
وكذلك تعديل تخيط الصفحات في الطباعة
وفقنا الله وإياكم للخير
MAS_2017صيفية برمجية المعتمدة استعلام.rar
-
أ / محمد صالح's post in البحث عن قيم معينة was marked as the answer
هذا ملفك بعد التطبيق
New Microsoft Excel Worksheet.xlsb
-
أ / محمد صالح's post in عمل حافظة دوام عن طريق المعادلات was marked as the answer
يمكنك استعمال هذه المعادلة في الخلية D12
=IFERROR(IF(INDEX(D$6:D$10,MATCH($C12,$C$6:$C$10,0))="",CHAR(251),IF(COUNTIF($C12:C12,CHAR(252))>=$L12,CHAR(251),CHAR(252))),"") مع تغيير نوع الخط في هذه الخلية إلى wingdings لتظهر علامة الخطأ والصواب
مع سحب المعادلة يمينا ثم أسفل
بالتوفيق
-
أ / محمد صالح's post in حساب كمية التحميل اليومية للودر was marked as the answer
أخي الكريم
حسب فهمي للمطلوب
ضع هذه المعادلة في الخلية B26
=SUMPRODUCT(B6:B22,$Y$6:$Y$22) بالتوفيق
-
أ / محمد صالح's post in جلب اكبر واصغر قيمة لتاريخ معين was marked as the answer
حسب فهمي للمطلوب
تم إضافة خلية تكتب فيها عدد الشهور وبناء عليها يتم كتابة تاريخ النهاية
ويتم حساب رصيد آخر المدة في هذا التاريخ
بالتوفيق
جلب اكبر واصغر قيمة لتاريخ.xls