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

أ / محمد صالح

أوفيسنا
  • Posts

    4486
  • تاريخ الانضمام

  • Days Won

    198

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

  1. للأسف لا يوجد لدى توضيح أبسط مما قلته في المشاركة السابقة
  2. يمكنك الاكتفاء ب rem_protect لاستدعاء الاجراء
  3. تمكين المحتوى هو الزر الأصفر الذي يظهر في بداية فتح ملف يحتوي على أكواد في حالة ارتفاع نسبة الأمان في برنامج الاكسل أما عن تنفيذ الكود في الشيت المحمي ففي هذه الحالة يجب وضع كود فك حماية الشيت في أول سطر في الكود بعد اسم الاجراء sub name ActiveSheet.UnProtect "password" ووضع كود وضع الحماية في آخر سطر في الكود قبل end sub ActiveSheet.Protect "password" مع كتابة كلمة المرور بدلا من كلمة password بالتوفيق
  4. شكرا لكلماتك الطيبة بالنسبة لشرح المعادلة ستجد أنها تتكون من 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 بالتوفيق
  5. بالنسبة لتعطيل الماكرو فيجب في بداية فتح الملف تمكين المحتوى حتى تعمل الأكواد وبالنسبة لحماية الملف فهناك نوعان خارجية عند الفتح وداخلية غند التعديل في الشيت فأيهما تقصد؟ وما علاقتهما بتمكين الأكواد؟
  6. يمكنك استعمال هذه المعادلة في الخلية 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
  7. جرب استعمال هذا الكود كمحاولة لضبط المدخلات في الخلايا عن طريق الاستبدال ثم بعدها يتم تقسيم النص إلى أعمدة عن طريق الشرطة يدويا ويمكنك إضافة أي عدد من العناصر التي يمكن استبدالها في المصفوفتين 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
  8. أقترح عليك عمل شيتين للبيانات وشيت للتقرير الأول للدائنين وبه: الرقم والاسم المبلغ وتاريخ الاقتراض وأي ملاحظات والثاني للتسديدات وبه: رقم الدائن المبلغ المسدد تاريخ التسديد المستلم وأي ملاحظات أخرى والثالث لعرض التقرير الخاص بأحد الدائنين بدلالة رقم الدائن وتستعمل به معادلات البحث بالتوفيق
  9. بدلا من استعمال اسم الطالب كاسم للشيت يمكنك استعمال رقم الطالب ID بالتوفيق
  10. يفضل أن ترسل ملفا به كمية من السطور لدراسة حالات عدم انتظام الكتابة ومعرفة اسماء الدرجات جميعها وما الذي يستعمل كفاصل بين كل بيان وما بعده غير الشرطة بالتوفيق
  11. الشكر لله الذي وفقنا جميعا
  12. جرب هذه المعادلة =MID(A2, 2,11) بالتوفيق
  13. في هذه الحالة يمكنك تخزين التاريخ في خلية وقيمة الليبل في خلية وفي حدث عن الإغلاق يتم تحديث الخليتين وفي حدث بداية النموذج يتم فحص خلية التاريخ إذا كانت أقل من تاريخ اليوم يضع قيمة الخلية في الليبل وإلا فلا يفعل شيئا بالتوفيق
  14. من الواضح في الصورة أن البيانات غير منضبطة في الصفوف أم أنك تريد حذف الصف الذي ليس به بيانات وإذا كان به بيان واحد يتم الابقاء عليه ؟؟
  15. أعتقد ينبغي الاحتفاظ بقيمتها في خلية معينة وليكن aa1 في حدث قبل إغلاق النموذج وفي بداية تحميل النموذج يتم وضع قيمة الخلية في التسمية label3 بالتوفيق
  16. عليكم السلام جرب تعدبل كود تغيير مربغ النص الى Private Sub TextBox1_Change() If TextBox1.Text <> "" Then ActiveSheet.ListObjects("data2").Range.AutoFilter Field:=4, Criteria1:="=" & TextBox1.Text & "*", Operator:=xlOr Else ActiveSheet.ListObjects("data2").Range.AutoFilter Field:=4 End If End Sub بالتوفيق
  17. يمكنك استعمال هذه المعادلة في المكان الذي تريد ظهور قائمة التليفونات بها =IFERROR(INDEX($B:$B,SMALL(IF(($E:$E="السبت")*($D:$D=""),ROW($E:$E)),ROW()-2)),"") مع سحب المعادلة لأسفل للحصول على باقي الأرقام بالتوفيق
  18. عليكم السلام ورحمة الله وبركاته الأمر hide يستعمل في إخفاء النموذج فقط وليس إغلاقه كاملا وهذا يعني إمكاية استعمال جميع المتغيرات والكائنات المستعملة في النموذج الأمر unload يستعمل في إعلاف النموذج كاملا فلا يمكن استعمال أي من متغيراته أو كائناته ويمكن استعمال الأمرين من داخل النموذج me.hide unload me أو من خارجه userform1.hide unload userform1 أما end فلا علاقة لها بالنموذج وإغلاقه فهي تستعمل للتعبير عن نهاية بعض الأوامر مثل End [Function | Sub | With | Select | Type | Enum | If ] أما exit فتستعمل للخروج من بعض الأوامر مثل Exit [ Do | For | Function | Select | Sub ] بالتوفيق
  19. عليكم البسلام ورحمة الله وبركاته يمكنك وضع استدعاء الإجراء الآخر حسب ترتيب التنفيذ المطلوب قبل أو بعد هذا السطر Call macro1 بالتوفيق
  20. شكرا جميعا لمروركم الكريم نقغنا الله جميعا به
  21. ويمكن استعمال هذه المعادلة بدون الاعتماد على الكود قي الخلية A2 =IFERROR(INDEX(المجمع!$A$2:$E$1000,SMALL(IF(المجمع!$A$2:$A$1000=$X$1,ROW($1:$999),""),ROW()-1),COLUMN()),"") مع سحب المعادلة يسارا ثم لأسفل بالتوفيق
  22. لا أعتقد أن هذا يتم بمعادلة يمكنك استعمال هذا الكود في حدث تغيير الشيت Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column > 1 And Target.Column < 6 Then Range("f" & Target.Row) = Date End Sub كلك يمين على اسم الشيت ثم view code ثم لصق هذا الكود في الناحية اليمنى مع حفظ الملف بامتداد يدعم الأكواد مثل xls أو xlsb أو xlsm بالتوفيق
×
×
  • اضف...

Important Information