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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    192

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

  1. إذا كان الهدف اختصار الكود فجرب هذا تم تحويل النطاق من range إلى cells للتحكم في رقم العمود بدلا من الحرف الخاص به Sub mySort() For c = 2 To 48 Step 2 Range(Cells(5, c), Cells(Cells(Rows.Count, c).End(xlUp).Row, c)).Sort Key1:=Cells(5, c), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal Next c MsgBox "Done by mr-mas.com" End Sub بالتوفيق
  2. جرب استعمال هذا السطر Private Sub comboBox1_Change() TextBox1.Value = Evaluate("=MAXIFS(Sheet2!A:A,Sheet2!C:C,""" & ComboBox1.Value & """)+1") End Sub باستعمال maxifs تقريبا تعمل في اوفيس 2013 وما بعده ويمكن استعمال هذا السطر لنسخ الأوفيس القديمة TextBox1.Value = Evaluate("=MAX(IF(""" & ComboBox1.Value & """=(Sheet2!C$2:C$100),(Sheet2!A$2:A$100)+1,1))") بالتوفيق
  3. لا مشكلة في الكود والترحيل صحيح فقط قم بحذف السطور المكتوبة بالأسفل تقريبا في الصف 202 وسيرحل بعدها الى بعد 100 بالتوفيق
  4. يمكنك استعمال هذه المعادلة في الخلية B9 للحصول على المطلوب الأول =IF(SUMPRODUCT(IF($B$1:$B$4=TRUE,1,0),TRANSPOSE(INDEX(Data!$C$2:$F$11,MATCH(B8,Data!$B$2:$B$11,0),{1,2,3,4})))=SUM(IF($B$1:$B$4=TRUE,1,0)),"","غير ")&"مناسب" وبالنسبة للمطلوب الثاني يمكن الوصول لجميع أفراد المجموعة التي منها هذا الاسم ومعرفة ومن منهم مناسب ومن منهم غير مناسب في الخلايا D1:I7 ويمكن سحب المعادلة في العمود D & E لأسفل إذا زاد عدد المجموعة وهذا لاختيار البديل يدويا كما في الملف المرفق بالتوفيق المناسب للهوايات المختارة.xlsx
  5. عملية التصفية الفترة تعتمد على إخفاء الصفوف التي لا تنطبق عليها الشروط ونركز على كلمة الصفوف حيث يتم إخفاء الصف كله فلو كان في نفس الصف بيانات سيتم اخفاؤها و للاحتفاظ ببيانات معينة بعد التصفية يجب وضعها قبل او بعد نطاق التصفية بالتوفيق
  6. هذا الأمر تكرر كثيرا يمكنك الاستفادة من هذه المواضيع بالتوفيق
  7. * يمكنك ضبط تنسيق الخلايا إلى احتواء تلقائي shrink to fit وذلك بتحديد الخلايا المطلوب تنسيقها ثم كلك يمين ثم تنسيق الخلايا format cells ومن التبويب الثاني تحتار احتواء مناسب shrink to fit * وتصغير عرض الأعمدة يدويا إلى أن تظهر كاملة من خلال الضغط مع السحب على الخط الفاصل بين العمودين بعد تحول السهم إلى سهمين متقابلين أفقيا وللعلم هذه اساسيات التعامل مع إكسل ينبغي تعلمها قبل تصميم أي يبرامج بالتوفيق
  8. المشكلة في الخروج من الاجراء قبل تكملة تنفيذ الكود If lasts > 0 Then MsgBox "هذا الإسم موجود بالفعل", vbCritical, "تنبيه" End If Exit Sub والصواب If lasts > 0 Then MsgBox "هذا الإسم موجود بالفعل", vbCritical, "تنبيه" Exit Sub End If ولا ادري ما السبب في استعمال كود غريب لجلب آخر صف مكتوب فيه iRow الطبيعي استعمال end(xlup). row بالتوفيق
  9. يمكنك تجربة هذا الملف تم جلب أول 3 أسماء في العمود A ووضعها في العمود D وكذلك أول 3 أسماء في العمود C ووضعها في العمود E واستعمال معادلة العد بشرط =COUNTIF(E:E,D2)>0 لاستعمالها في تلوين خلايا العمود D عن طريق التنسيق الشرطي بالتوفيق مقارنة أول 3 أسماء.xlsb
  10. جرب هذا المرفق يمكنك اختيار اسم الورقة وحالة السداد حسب ما يتم كتابته في عمود حالة السداد تمت التجربة بكتابة 1 أو 0 في عمود حالة السداد W فقط يلزمك تغيير أرقام الأعمدة المطلوب الحصول عليها بين القوسين {3,5,6,8} بالتوفيق جلب بيانات من الصفوف حسب حالة السداد.xlsx
  11. حسب فهمي للمطلوب حضرتك تريد طريقة لتخطي رسائل الأمان 1- الخاصة بتمكين التعديل وهذه حلها ألا يتم تحميل ملف اكسل من الانترنت مباشرة بل يتم تحميل ملف مضغوط RAR مثلا ثم يفك الضغط عنه ليحصل على ملف الاكسل 2- أما الرسالة الخاصة بتمكين المحتوى فلا يمكن تخطيها ويجب موافقة المستخدم على تشغيل الأكواد الموجودة في الملف وهذا آخر ما توصلت إليه ميكروسوفت في تأمين مستخدميها وتذكر دائما أنه لا يوجد حماية مطلقة بل يوجد حماية لا يعرف التعامل معها أحد المستخدمين أتمنى أن يكون الأمر اتضح بالتوفيق
  12. بعد التأكد من عدم حماية الملف من تبويب مراجعة Review جرب هذه الخطوات 1. اختر File > Options > Advanced . 2. وفي جزء Editing options, تأكد من وضع علامة الصح بجوار Allow editing directly in cells . بالتوفيق
  13. للأسف لا يوجد لدى توضيح أبسط مما قلته في المشاركة السابقة
  14. يمكنك الاكتفاء ب rem_protect لاستدعاء الاجراء
  15. تمكين المحتوى هو الزر الأصفر الذي يظهر في بداية فتح ملف يحتوي على أكواد في حالة ارتفاع نسبة الأمان في برنامج الاكسل أما عن تنفيذ الكود في الشيت المحمي ففي هذه الحالة يجب وضع كود فك حماية الشيت في أول سطر في الكود بعد اسم الاجراء sub name ActiveSheet.UnProtect "password" ووضع كود وضع الحماية في آخر سطر في الكود قبل end sub ActiveSheet.Protect "password" مع كتابة كلمة المرور بدلا من كلمة password بالتوفيق
  16. شكرا لكلماتك الطيبة بالنسبة لشرح المعادلة ستجد أنها تتكون من 4 أجزاء الجزء الأول =IFERROR(...................,"") وهو لجعل الخلية قارغة إذا حدث خطأ في ناتج المعادلة .............. والجزء الثاني INDEX($A$3:$A$10,SMALL(IF(C$3:C$10="ح",$A$3:$A$10),ROW()-12)) وهو لجلب رقم المسلسل من العمود a في حالة كون العمود c وما بعده عند السحب يسارا يساوي "ح" ولأن المعادلة في الصف 13 استعملنا row()-12 وتعني 1 والجزء الثالث &" "& للربط بين معادلة المسلسل ومعادلة الاسم الجزء الرابع INDEX($B$3:$B$10,SMALL(IF(C$3:C$10="ح",$A$3:$A$10),ROW()-12)) وهو لجلب الاسم من العمود B في حالة كون العمود c وما بعده عند السحب يسارا يساوي "ح" ولأن المعادلة في الصف 13 استعملنا row()-12 وتعني 1 بالتوفيق
  17. بالنسبة لتعطيل الماكرو فيجب في بداية فتح الملف تمكين المحتوى حتى تعمل الأكواد وبالنسبة لحماية الملف فهناك نوعان خارجية عند الفتح وداخلية غند التعديل في الشيت فأيهما تقصد؟ وما علاقتهما بتمكين الأكواد؟
  18. يمكنك استعمال هذه المعادلة في الخلية C13 =IFERROR(INDEX($A$3:$A$10,SMALL(IF(C$3:C$10="ح",$A$3:$A$10),ROW()-12))&" "&INDEX($B$3:$B$10,SMALL(IF(C$3:C$10="ح",$A$3:$A$10),ROW()-12)),"") مع سحب المعادلة يسارا ثم أسفل وهذا ملفك بعد كتابة المعادلة فيه فربما لا يعرف أحدنا كيفية إضافة المعادلات للملفات بالتوفيق كتابة مسلسل واسم الشخص في خلية واحدة؛ وتعديل معادلة.xlsx
  19. جرب استعمال هذا الكود كمحاولة لضبط المدخلات في الخلايا عن طريق الاستبدال ثم بعدها يتم تقسيم النص إلى أعمدة عن طريق الشرطة يدويا ويمكنك إضافة أي عدد من العناصر التي يمكن استبدالها في المصفوفتين Sub mrmas() OldArr = Array("مهندس", "معاون", "درجة", "سادسة", "خامسة", "رابعة", "ثالثة", "ثانية", "اولى", "كبير", "استثنائى", "كبير-ثان", "كبير -ثان", " ", "--") newarr = Array("-مهندس", "-معاون", "-درجة", "سادسة-", "خامسة-", "رابعة-", "ثالثة-", "ثانية-", "اولى-", "كبير-", "-استثنائى-", "كبير ثان", "كبير ثان", " ", "-") For r = 1 To Cells(Rows.Count, 1).End(xlUp).Row For i = 0 To UBound(OldArr) Range("a" & r).Value = Trim(Replace(Range("a" & r).Value, OldArr(i), newarr(i))) Next i Next r MsgBox "Done by mr-mas.com" End Sub وهذا الملف وبه الكود لأنه في بعض الحالات لا يعرف صاحب الاستفسار طريقة إضافة الكود ..بالتوفيق تقسيم النص إلى معلومات.xlsb
  20. أقترح عليك عمل شيتين للبيانات وشيت للتقرير الأول للدائنين وبه: الرقم والاسم المبلغ وتاريخ الاقتراض وأي ملاحظات والثاني للتسديدات وبه: رقم الدائن المبلغ المسدد تاريخ التسديد المستلم وأي ملاحظات أخرى والثالث لعرض التقرير الخاص بأحد الدائنين بدلالة رقم الدائن وتستعمل به معادلات البحث بالتوفيق
  21. بدلا من استعمال اسم الطالب كاسم للشيت يمكنك استعمال رقم الطالب ID بالتوفيق
  22. يفضل أن ترسل ملفا به كمية من السطور لدراسة حالات عدم انتظام الكتابة ومعرفة اسماء الدرجات جميعها وما الذي يستعمل كفاصل بين كل بيان وما بعده غير الشرطة بالتوفيق
  23. الشكر لله الذي وفقنا جميعا
×
×
  • اضف...

Important Information