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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    192

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

  1. * بالنسبة لتغيير الهوايات ضمن الاربعة الحاليين فلا مشكلة في معادلات المطلوب الأول (مناسب أو غير مناسب) أما إذا أضفت هوايات جديدة فهذا يلزم إعادة تنظيم للمعادلات لتناسب الوضع الجديد (تغييرات ببسيطة لا تخفى عليك) ولعل حضرتك لاحظت أن النطاق في شيت Data إلى الصف 11 فربما تحتاج إن تزيده إلى 1000 مثلا أو حسب الأعداد لديكم * وكما قلت سابقا المطلوب الثاني يتم عرض أفراد المجموعة كلها واختيار البديل يدويا ويمكنك استعمال معادلات البحث المعروفة لحضرتك في هذا الجدول الذي به أفراد المجموعة للوصول إلى أول فرد بجانبه كلمة مناسب بالتوفيق
  2. في هذه الحالة نرجع لنقطة الصفر التي كان ينبغي البدء منها يفضل إرفاق ملفك
  3. هو بالفعل يرتب جميع الأعمدة الزوجية التي بها الاسم
  4. في هذه الحالة انصحك بإلغاء تثبيت الاوفيس ثم تثبيته مرة أخرى
  5. إذا كان الهدف اختصار الكود فجرب هذا تم تحويل النطاق من 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 بالتوفيق
  6. جرب استعمال هذا السطر 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))") بالتوفيق
  7. لا مشكلة في الكود والترحيل صحيح فقط قم بحذف السطور المكتوبة بالأسفل تقريبا في الصف 202 وسيرحل بعدها الى بعد 100 بالتوفيق
  8. يمكنك استعمال هذه المعادلة في الخلية 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
  9. عملية التصفية الفترة تعتمد على إخفاء الصفوف التي لا تنطبق عليها الشروط ونركز على كلمة الصفوف حيث يتم إخفاء الصف كله فلو كان في نفس الصف بيانات سيتم اخفاؤها و للاحتفاظ ببيانات معينة بعد التصفية يجب وضعها قبل او بعد نطاق التصفية بالتوفيق
  10. هذا الأمر تكرر كثيرا يمكنك الاستفادة من هذه المواضيع بالتوفيق
  11. * يمكنك ضبط تنسيق الخلايا إلى احتواء تلقائي shrink to fit وذلك بتحديد الخلايا المطلوب تنسيقها ثم كلك يمين ثم تنسيق الخلايا format cells ومن التبويب الثاني تحتار احتواء مناسب shrink to fit * وتصغير عرض الأعمدة يدويا إلى أن تظهر كاملة من خلال الضغط مع السحب على الخط الفاصل بين العمودين بعد تحول السهم إلى سهمين متقابلين أفقيا وللعلم هذه اساسيات التعامل مع إكسل ينبغي تعلمها قبل تصميم أي يبرامج بالتوفيق
  12. المشكلة في الخروج من الاجراء قبل تكملة تنفيذ الكود If lasts > 0 Then MsgBox "هذا الإسم موجود بالفعل", vbCritical, "تنبيه" End If Exit Sub والصواب If lasts > 0 Then MsgBox "هذا الإسم موجود بالفعل", vbCritical, "تنبيه" Exit Sub End If ولا ادري ما السبب في استعمال كود غريب لجلب آخر صف مكتوب فيه iRow الطبيعي استعمال end(xlup). row بالتوفيق
  13. يمكنك تجربة هذا الملف تم جلب أول 3 أسماء في العمود A ووضعها في العمود D وكذلك أول 3 أسماء في العمود C ووضعها في العمود E واستعمال معادلة العد بشرط =COUNTIF(E:E,D2)>0 لاستعمالها في تلوين خلايا العمود D عن طريق التنسيق الشرطي بالتوفيق مقارنة أول 3 أسماء.xlsb
  14. جرب هذا المرفق يمكنك اختيار اسم الورقة وحالة السداد حسب ما يتم كتابته في عمود حالة السداد تمت التجربة بكتابة 1 أو 0 في عمود حالة السداد W فقط يلزمك تغيير أرقام الأعمدة المطلوب الحصول عليها بين القوسين {3,5,6,8} بالتوفيق جلب بيانات من الصفوف حسب حالة السداد.xlsx
  15. حسب فهمي للمطلوب حضرتك تريد طريقة لتخطي رسائل الأمان 1- الخاصة بتمكين التعديل وهذه حلها ألا يتم تحميل ملف اكسل من الانترنت مباشرة بل يتم تحميل ملف مضغوط RAR مثلا ثم يفك الضغط عنه ليحصل على ملف الاكسل 2- أما الرسالة الخاصة بتمكين المحتوى فلا يمكن تخطيها ويجب موافقة المستخدم على تشغيل الأكواد الموجودة في الملف وهذا آخر ما توصلت إليه ميكروسوفت في تأمين مستخدميها وتذكر دائما أنه لا يوجد حماية مطلقة بل يوجد حماية لا يعرف التعامل معها أحد المستخدمين أتمنى أن يكون الأمر اتضح بالتوفيق
  16. بعد التأكد من عدم حماية الملف من تبويب مراجعة Review جرب هذه الخطوات 1. اختر File > Options > Advanced . 2. وفي جزء Editing options, تأكد من وضع علامة الصح بجوار Allow editing directly in cells . بالتوفيق
  17. للأسف لا يوجد لدى توضيح أبسط مما قلته في المشاركة السابقة
  18. يمكنك الاكتفاء ب rem_protect لاستدعاء الاجراء
  19. تمكين المحتوى هو الزر الأصفر الذي يظهر في بداية فتح ملف يحتوي على أكواد في حالة ارتفاع نسبة الأمان في برنامج الاكسل أما عن تنفيذ الكود في الشيت المحمي ففي هذه الحالة يجب وضع كود فك حماية الشيت في أول سطر في الكود بعد اسم الاجراء sub name ActiveSheet.UnProtect "password" ووضع كود وضع الحماية في آخر سطر في الكود قبل end sub ActiveSheet.Protect "password" مع كتابة كلمة المرور بدلا من كلمة password بالتوفيق
  20. شكرا لكلماتك الطيبة بالنسبة لشرح المعادلة ستجد أنها تتكون من 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 بالتوفيق
  21. بالنسبة لتعطيل الماكرو فيجب في بداية فتح الملف تمكين المحتوى حتى تعمل الأكواد وبالنسبة لحماية الملف فهناك نوعان خارجية عند الفتح وداخلية غند التعديل في الشيت فأيهما تقصد؟ وما علاقتهما بتمكين الأكواد؟
  22. يمكنك استعمال هذه المعادلة في الخلية 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
  23. جرب استعمال هذا الكود كمحاولة لضبط المدخلات في الخلايا عن طريق الاستبدال ثم بعدها يتم تقسيم النص إلى أعمدة عن طريق الشرطة يدويا ويمكنك إضافة أي عدد من العناصر التي يمكن استبدالها في المصفوفتين 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
×
×
  • اضف...

Important Information