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

ياسر خليل أبو البراء

المشرفين السابقين
  • Posts

    13,165
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    412

كل منشورات العضو ياسر خليل أبو البراء

  1. أؤيد هذا الاقتراح بشدة ، وقد اقترحته من قبل يا ريت الأخوة تأخذ الاقتراح محمل الجدية وأعتقد إن المعادلات هتكون أسهل .. المعادلة وشرح مبسط ليها في سطر أو سطرين مشكور أخي مختار على تأكيد الاقتراح
  2. هو فين العضو الفاضل .. لم نرى له رداً حتى الآن ..طرح الموضوع ولم نرى وجهه إلى الآن في انتظار رده لنرى أي الحلول وأفضلها له
  3. نقطة أخرى بعد التعديل الأخير أول ما تفتح الملف جرب الاختصار من لوحة المفاتيح واعمل كوبي أو كت هتلاقي النسخ والقص واللصق شغالين تاني ..عايزين حل نهائي !!! تم الحل Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Call ToggleCutCopyAndPaste(False) End Sub Private Sub Worksheet_Deactivate() Call ToggleCutCopyAndPaste(True) End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Call ToggleCutCopyAndPaste(False) End Sub
  4. نقطة أخرى أخي الغالي ابن مصر عند فتح المصنف يجب أن يتم فتح المصنف على ورقة عمل أخرى ، حتى يتم تفعيل الكود لابد من الانتقال لورقة العمل وتنشيطها !! جرب تفتح الملف وأول ما تفتح اعمل كليك يمين هتلاقي الأوامر مفعلة!!! ولازم عشان الكود يشتغل لازم أروح لورقة تانية وأرجع تاني تم الحل Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Call ToggleCutCopyAndPaste(False) End Sub Private Sub Worksheet_Deactivate() Call ToggleCutCopyAndPaste(True) End Sub
  5. أيوا تمام جربت الكود الثاني وممتاز جدا وتمت إضافته الحمد لله لمكتبة الصرح بس فيه عيب واحد .. إنه عند تفعيل ورقة العمل اللي فيها حدث الكود فإن خاصية النسخ واللصق والقص ، تتعطل أيضاً في كل أوراق العمل الأخرى أيضاً ..!! لذا يجب مع كل ورقة عمل إضافة هذا الكود Private Sub Worksheet_Activate() Call ToggleCutCopyAndPaste(True) End Sub مما أراه عيباً في الكود .. ربما يكون هناك حل آخر .. أن يتم إضافة الكود بالشكل التالي في ورقة العمل المراد العمل عليها Private Sub Worksheet_Activate() Call ToggleCutCopyAndPaste(False) End Sub Private Sub Worksheet_Deactivate() Call ToggleCutCopyAndPaste(True) End Sub الحل الأخير أعتقد أنه حل المشكلة
  6. لا أختلف معك في روعة الكود ، ولكن ليس لحل مشكلة التعامل مع القوائم المنسدلة ..حيث أنني قمت بتجربته وسمح بلصق القيم
  7. أخي ابن مصر الحبيب الكود الفعال هو الذي سيتم إضافته وهو الأخير أما الأكواد الأخرى فلم تؤدي النتيجة كما ينبغي لذا وجب عدم إضافتها ..خلينا في المفيد يا أبو عيد
  8. يا أخ ياسر طيب واحدة واحدة عشان نقدر نعمل تست على كل كود ونشوف اللي ممكن نستفيده منه متنساش إني مش بلصق أكواد وخلاص داخل المكتبة لازم الكود أجربه بنفسي وأعمله شرح بقدر المستطاع حتى يستفيد منه الأعضاء .. فرامل فرامل ..عشان متوهش !! خليني أجمع شوية الأكواد دول الأول..
  9. أسهل وأيسر وألذ طريقة فيهم ومفيش أحسن من كدا .. هذا رأيي .. في انتظار رأي السائل
  10. صحيح أخي الفاضل حدث ورقة العمل بيكون مرتبط بخلايا محددة داخل الكود ، إذا تم التغيير فيها مثلا يتم تنفيذ باقي أسطر الكود ، أما إذا كان التغيير في غير هذه الخلايا فإن الحدث لا يتم تنفيذه. وهناك أيضاً حدث المصنف Workbook ويكون مرتبط على سبيل المثال بفتح المصنف أو إغلاقه أو قبل الطباعة أو أو .. مع الوقت سكتسب الخبرة للتعامل مع الأحداث المختلفة .. أرجو أن أكون قد وفقت في توصيل المعلومة
  11. بدون كود حدد العمود F ثم كليك يمين Format Cells واختر Number ثم حدد عدد العلاماتا لعشرية ..انتهى
  12. لم تجبني أين تريد قيم الخلية C الجديدة ..هل تريدها في أي خلية مجاورة ؟ وهل تريدها في خلية ثابتة أم مجموعة خلايا متجاورة ..أي لكل قيمة جديدة خلية جديدة أرجو الإيضاح..
  13. أخي ياسر البنا أريد منك التهمل بين كل مشاركة وأخرى ، حتى نستطيع أن نجيب على كل تساؤلاتك .. وإن كان الموضوع ليس موضوع للتساؤل.. إنما هو تجميع للأكواد التي يمكن الاستفادة منها.. سأجيبك على كود واحد الآن حيث أني مشغول كثيراً.. Sub RandomNumber() Dim intNumber As Integer intNumber = Int((100 * Rnd) + 1) MsgBox intNumber End Sub وهو كود توليد رقم عشوائي من 1 إلى 100 (راجع مكتبة الصرح بالبحث عن [توليد])
  14. أعتقد أن طلبك صعب بالمعادلات أخي الحبيب ، ممكن بالكود بس محتاج شوية تركيز عشان الفكرة تكتمل
  15. لسه باقي تكة .. الغاء خاصية النسخ والقص مع الخلايا التي بها قائمة منسدلة فقط (كمل جميلك وكلنا هندعيلك) بارك الله فيك.. أنا هسيب لك المهمة دي عشان ورايا أكوادك بجمعها ... تعبتني ..مكنتش قادر تشرحها بالمرة عشان تبقى الهدية كاملة بس بصراحة أكواد في منتهى الجمال والروعة تسلم أخي الغالي ابن مصر وفي انتظار المزيد ...
  16. أرجو الإيضاح أخي الحبيب التغيير يحدث في الخلية A2 وB2 فتحصل على المجموع لهما في C2 ، والخلية D2 بها معادلة تقوم بضرب قيمة الخلية C2*100 ثم تقسم على 30 .. ما المطلوب بالضبط .. وأين تريد إظهار القيمة الجديدة ؟؟ يا ريت توضح بمثال حي بالأرقام
  17. تسلم يا ابن مصر .. كمل جميلك جرب تلصق كقيمة Paste As Values
  18. أخي الاضل وليد زقزوق في ورقة العمل Data هناك قيم في النطاق A1:A12 ، لعمل قائمة منسدلة متجددة كل ما عليك هو إنشاء اسم ديناميكي للنطاق بحيث يحدد النطاق بداية من A1 إلى آخر خلية بها بيانات .. نذهب للتبويب Formulas ثم انقر Name Manager ثم من الصندوق الحواري الذي يظهر لك انقر New ثم في الحقل المسمى Name ضع اسماً للنطاق الديناميكي (الغير ثابت) ، وليكن MyList ثم في الحقل Scope اجعل الخيار Workbook كما هو ، وفي الحقل الأخير Refers To اكتب المعادلة بالشكل التالي: =OFFSET(Data!$A$1,0,0,COUNTA(Data!$A:$A),1) كلمة Data في المعادلة اسم ورقة العمل ، وبداية النطاق A1 ، وارتفاع النطاق هو العمود A بالكامل ، وعرض النطاق عرض عمود واحد فقط (رقم 1 في نهاية المعادلة). في ورقة العمل المسماة Result قم بتحديد الخلية G7 مثلاً ، ثم من التبويب Data انقر Data Validation ثم اختر من الحقل Allow كلمة List والتي تعني قائمة ، وفي الحقل المسمى Source ضع مؤشر الماوس داخله ثم اضغط F3 من لوحة المفاتيح واختر النطاق MyList ثم أوك أرجو أن أكون وفقت في الشرح أخي الفاضل
  19. أخي حسام ببساطة شديدة حدد النطاق B2:F21 ثم من التبويب Data ثم الأمر Sort واختر من الحقل Sort By العمود الذي تريد الترتيب على أساسه (اختر اسم المنتج أو الوزن أو أياً ما تريد الترتيب على أساسه) ، يمكنك الترتيب على أكثر من عمود ، مثلا تختار اسم المنتج ، ثم تضغط Add Level وتختار عمود آخر وهكذا .. ويمكنك الترتيب تصاعدياً أو تنازلياً من الحقل الأخير المسمى Order
  20. اعذرني أخي حسام شوية مشاغل ، وبيني وبينك أنا مشغول بالمكتبة شوية لحد ما المشروع يقف على رجليه.. وفي انتظار مساهمات منك يا كبير أرجو المساعدة في إتمام المشروع .. وبعدين القلوب مصبحة يا كبير تقبل صباحي
  21. جرب من التبوبيب Formulas اختر الأمر Calculation Options واختر منه Automatic..ثم احفظ الملف وأعد فتحه من جديد. سؤال هل هناك دوال جاهزة من النوع UDF في ملفك؟
  22. .Cells(Lr + 1, "E") = "=R[-1]C+RC[2]-RC[1]" أصل المعادلة في ورقة العمل المسماة (حركة الخزينة) في الخلية E5 مثلاً هي بالشكل التالي : =E4+G5-F5 لتحويل هذه المعادلة إلى كود يتم الإشارة للصفوف والأعمدة ... R هو اختصار لكلمة Row بمعنى صف. C هو اختصار لكلمة Column بمعنى عمود. استخدمت أقواس التنصيص للإحاطة بالمعادلة التي تبدأ بعلامة يساوي. الخلية التي بها المعادلة هي كما قلنا مثلاً E5 ، وأول خلية في المعادلة E4 ، فالسؤال هو : ما هو موقع الخلية E4 من الخلية E5؟ الإجابة : موقع الخلية E4 في الصف السابق (ولذا ستجد -1 ) لأننا نرجع للخلف ، هذا بالنسبة للصف أما العمود فهو نفس العمود ، ولذلك لم يتم إضافة أية أرقام للعمود. بالتالي تصبح الخلية E4 في المعادلة مساوية لهذا الجزء في الكود : R[-1]C الخلية الثانية في المعادلة هي G5 ، ونسأل نفس السؤال ما هو موقع الخلية G5 من الخلية التي بها المعادل E5؟ نلاحظ رقم 5 أي أنهما في نفس الصف ، ولكن العمود مختلف .. العمود G يبعد عن العمود E بمقدار عمودين ، أي أنه إذا بدأنا العد من العمود F أي العمود الذي يلي العمود الحالي سنقول : العمود F ثم العمود G (إذاً قيمة الإزاحة هي 2) بالتالي تصبح الخلية G5 في المعادلة مساوية لهذا الجزء في الكود : RC[2] وأترك لك النظر في الخلية F5 في المعادلة.. أرجو أن تكون الفكرة قد وصلت..
  23. تسلم أخي حسام على هذه السلسلة الرئعة بارك الله فيك وجعل أعمالك في ميزان حسناتك يوم القيامة
  24. أخي الفاضل الكود واضح والتغيير فيه سيكون سهل .. النطاق الذي تريد فيه النتائج هو H3:H8 ويعتمد على النطاق في العمود بجواره بحيث يأتي بناتج الجمع ...كما طلبت
×
×
  • اضف...

Important Information