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

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

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

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

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

  • Days Won

    412

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

  1. بارك الله فيك أخي الكريم أبو عبد الإله يرجى وضع شرح لما قمت بعمله في الملف لتتضح الصورة لمتابعي الموضوع ، لا نريد حلولاً جاهزة وحسب .. بل نريد الطريقة والشرح للحلول تقبل تحياتي
  2. أخي الكريم أنس لما لا تقوم بتحديد العمود بالكامل ثم من تنسيق خلايا تختار مخصص Custom ثم تخصص التنسيق المطلوب كما ترغب ..؟
  3. جرب أن تقوم بإضافة شرط إذا كانت قيمة المتغير المسئول عن الحلقة التكرارية يساوي 3 ينفذ المطلوب على التكست بوكس الثالث ويضعه كقيمة وإلا يتم التعامل بشكل عادي مع بقية التكست بوكس For I = 1 To 8 If I = 3 Then O1.Cells(LI + 13, I + 1).Value = Val(Me.Controls("TextBox_" & I)): Me.Controls("TextBox_" & I).Value = "" Else O1.Cells(LI + 13, I + 1).Value = Me.Controls("TextBox_" & I): Me.Controls("TextBox_" & I).Value = "" End If Next I تقبل تحياتي
  4. أخي العزيز أبوعبد الباري جزاكم الله خيراً وبارك الله فيك على المجهود الرائع والممتاز بالمنتدى جعله الله في ميزان حسناتك يوم القيامة ملحوظة بالنسبة للكود المقدم في آخر مشاركة لك : ألا ترى أن الكود بهذا الشكل مرهق للملف لأنك اخترت أن يتم تنفيذ الكود بمجرد اختيار أي خلية ، الأفضل تحديد النطاق الذي يؤثر فيه الحدث الأخ الحبيب سليم جزيت خيراً على حلولك الممتازة ، ولكن أود أن تقوم بشرح وتفضيل تلك الحلول ووضعها في المشاركات ، ووضع شرح ولو مبسط لمساعدة الإخوان بالمنتدى لفهم كيفية تطبيق الطريقة بأنفسهم ، لكي يعتمدوا على أنفسهم ، ولكي نجد في المستقبل جيلاً قادراً على تقديم المساعدات بشكل أفضل ، نريد أن نرتقي سوياً الأخ الكريم صاحب الموضوع برجاء تغيير اسم الظهور للغة العربية ، ويفضل إرفاق ملف معبر عن طلبك .. هل تريد أن يكون التغيير في خلية واحدة فقط كما قدم لك الأخ سليم أم أن التأثير يكون على عذة خلايا أو نطاق محدد ؟ وما هو التنسيق المطلوب بالضبط؟ مزيد من التفاصيل في الموضوع يجعل الموضوع أيسر للأخوة الكرام في تقديم الحل المناسب تقبلوا تحياتي
  5. وعليكم السلام ورحمة الله أخي محمد ماذا تقصد بحذف الخلايا ؟؟؟ قد يفهم الأمر على وجهين لا ثالث لهما : إما الحذف بمعنى حذف الخلايا أو الصفوف بالكامل .. أو مسح المحتويات وكلا الوجهان سيؤديان إلى نفس الأمر وهو التخلص من المعادلات .. يمكن أن تكون المعادلة مرتبطة بخلايا أخرى ، وفي هذه الحالة يمكن مسح الخلايا الأخرى المرتبطة بالمعادلات إذا لم يكن الأمر كذلك فيرجى إلقاء مزيد من الضوء حول الأمر لتجد المساعدة بشكل أفضل تقبل تحياتي
  6. وعليكم السلام أخي الكريم عمار أهلاً بك في المنتدى ونورت بين إخوانك يرجى تغيير اسم الظهور للغة العربية والإطلاع على التوجيهات في الموضوعات المثبتة في صدر المنتدى لمعرفة التعامل بشكل أمثل وأفضل مع المنتدى الأفضل إرفاق ملف لتتضح صورة طلبك وليعمل عليه الأخوة الكرام .. تقبل تحياتي
  7. جزاك الله خيراً أخي الحبيب سليم ولا حرمنا الله منك ولا من جديدك الممتع والرائع تقبل تحياتي
  8. أخي الكريم أحمد أهلاً بك في المنتدى ونورت بين إخوانك برجاء الإطلاع على موضوع التوجيهات في الموضوعات المثبتة في صدر المنتدى لمعرفة كيفية التعامل بشكل أفضل مع المنتدى ويرجى وضع عناوين مناسبة تعبر عن الطلب .. حدد ورقة العمل المطلوب العمل عليها ، والنطاق المطلوب ، وشكل النتائج المتوقعة ، برجاء تفصيل وتوضيح الطلب
  9. أين الملف المرفق أخي الفاضل؟
  10. وعليكم السلام أخي الكريم ماهر يفضل إرفاق ملف لتتضح صورة طلبك ، كما يفضل إرفاق شكل النتائج المتوقعة .. تقبل تحياتي
  11. جرب أن تغير هذا السطر LR = Sheet1.Cells(Rows.Count, "E").End(xlUp).Row + 1 إلى الشكل التالي LR = Sheet1.Cells(60, "E").End(xlUp).Row + 1 أي يتم استبدال كلمة Rows.Count والتي تشير إلى عدد صفوف الورقة بالكامل إلى الرقم 60 وهو آخر صف تريد التعامل معه أرجو أن يفي ذلك بالغرض
  12. أخي الكريم أبو يوسف قدم لك الأخ الكريم أبو عبد الباري حلاً جميلاً ويسيراً .. كان من الممكن أن تدرس الملف لترى كيف تم الأمر وتقوم بعكس الأمر انظر للتبويب Formulas ثم Name Manager ثم قم بتعديل النطاق المسمى eyad ليكون بالشكل التالي =ورقة1!$A$2:$A$490 أي أننا سنقوم بتسمية النطاق في الورقة 1 وليس في الورقة 2 الخطوة الثانية انسخ المعادلة التالية ، واذهب لورقة العمل رقم 2 وحدد النطاق A2:A948 وادخل على التنسيق الشرطي Conditional Formatting ثم اختر New Rule ثم اختر آخر خيار وهو Use a formula to determine which cells to format ثم قم بوضع المعادلة التالية في الحقل المخصص لذلك =VLOOKUP(VALUE(A2),VALUE(eyad),1,0) الآن انقر على كلمة Format ثم ادخل التبويب Fill واختر اللون الذي ترغبه ثم أوك ثم أوك مرة أخرى ثم قم بحذف التنسيق الشرطي الموجود في ورقة 1 .. اذهب لورقة 1 واتبع التعليمات كما في الصورة المرفقة تقبل تحياتي
  13. أخي الكريم جمال محمود في ورقة العمل المسماة "All" قم بحذف الصفوف كلها بداية من الصف السادس إلى آخر صف .. وحول الجدول إلى نطاق عادي ثم ضع الكود التالي في موديول عادي ثم نفذ الأمر .. Sub YasserKhalil() Dim Ws As Worksheet, Sh As Worksheet Dim LR As Long, Last As Long Set Sh = Sheets("All") Application.ScreenUpdating = False Application.DisplayAlerts = False With Sh .Range("A6:G10000").Clear 'حلقة تكرارية لكل أوراق العمل لجلب البيانات من الأعمدة المحددة For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> "All" Then LR = Ws.Cells(Rows.Count, 1).End(xlUp).Row Last = .Cells(Rows.Count, "B").End(xlUp).Row Ws.Range("E2:I" & LR).Copy .Range("B" & Last + 1).PasteSpecial xlPasteValues End If Next Ws Last = .Cells(Rows.Count, "B").End(xlUp).Row + 1 'وضع عبارة "تم التقدير" في العمود السابع .Range("G6:G" & Last).Value = "تم التقدير" 'ترقيم العمود الأول With .Range("A6:A" & Last + 1) .Formula = "=IF(B6="""","""",ROW()-5)" .Value = .Value End With 'دمج خلايا المجموع ووضع المعادلة في الخلايا المدمجة With .Range("A" & Last & ":B" & Last) .Merge .Value = "المجموع" End With With .Range("C" & Last & ":G" & Last) .Merge .Formula = "=SUM(F6:F" & Last - 1 & ")" End With 'تسطير جدول البيانات التي تم جلبها .Range("A5").CurrentRegion.Borders.Value = 1 'تنسيق نطاق البيانات With .Range("A5").CurrentRegion.Offset(1) .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Bold = True End With End With Application.CutCopyMode = False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub في الكود يوجد بعض التعليقات التي تساعدك في فهم الكود تقبل تحياتي
  14. وعليكم السلام أخي الكريم اطلعت على ملفك ووجدت أن ورقة الإحصائيات النهائية تشبه ورقة البيانات المسماة "أعداد أولية" .. فيمكن ببساطة الربط باستخدام علامة يساوي ثم تحدد أول خلية في الورقة "أعداد أولية" أقصد بكلامي أن تضع المعادلة التالية في الخلية E4 في ورقة الإحصائيات النهائية ='اعداد اولية'!E3 ثم تقوم بسحب المعادلة إلى أسفل وإلى اليسار .. إذا لم يكن هذا هو المقصود فيرجى إرفاق شكل النتائج المتوقعة مع مزيد من التوضيح تقبل تحياتي
  15. التوقيع أخي الكريم سليمان ليس له علاقة بالمشاركة .. وأنا عن نفسي أحب هذا البيت من الشعر ، ولا علاقة له على الإطلاق بالإخوة في المنتدى أو المشاركات .. ونسينا في خضم الموضوع أن نرحب بك بيننا أخاً كريماً .. نورت المنتدى وننتظر منك المزيد والمزيد من المساهمات
  16. بارك الله فيك أخي الكريم علاء خفاجة وجزيت خيراً تقبل تحياتي
  17. وعليكم السلام كما نوه أخونا الحبيب علي الشيخ يفضل إرفاق ملفك هل الفلترة تتم على عمود الأسماء أم على عمود آخر ؟ وهل تتم الفلترة باستخدام كود أم تقوم بالعملية بشكل يدوي؟
  18. أخي الكريم لا أدري أي كود بالضبط تريد تعديله ..ممكن تضع الكود في مشاركة إذ أنني اطلعت على اليوزرفورم رقم 1 ولم أجد عملية ترحيل في ورقة العمل invoice
  19. وعليكم السلام أخي الكريم جمال يرجى تغيير اسم الظهور للغة العربية ، ويرجى إرفاق الملف
  20. وعليكم السلام أخي الكريم نصر جرب الكود التالي Sub SortData() Range("C2:G8").Sort Key1:=Range("D2:D8"), Order1:=xlDescending, Key2:=Range("F2:F8"), Order2:=xlDescending, Header:=xlYes End Sub تقبل تحياتي
  21. وعليكم السلام ورحمة الله وبركاته أخي الكريم محمد عبد السلام لم أفهم المطلوب ..هلا أوضحت بالتفصيل الكود المطلوب التعديل عليه ، وما المتوقع بعد تنفيذ الكود؟
  22. أخي الكريم محمد أهلاً بك في المنتدى ونورت بين إخوانك يفضل طرح موضوع جديد بطلبك أو إرفاق ملف هاهنا وتوضيح المشكلة بشكل تفصيلي لتجد المساعدة من إخوانك بالمنتدى .. ماذا تريد من الكميات التي بها كسور ..هل تريد جبر الكسر أم ماذا تريد بالضبط؟ يفضل إرفاق شكل النتائج المتوقعة ليسهل الحل
  23. وعليكم السلام أخي الكريم عبد العزيز بالنسبة لسؤالك Selection.Sort Key1:=Range("b2"), Order1:=xlAscending, Key2:=Range("a2"), Order2:=xlAscending, Header:=xlNo, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal تلاحظ هنا أنه يتم الترتيب على عمودين ولدا تجد Key1 وKey2 وكذلك Order1 و Order2 إذا أردت الترتيب على عمود واحد فيكتفى بـ Key1 وOrder1 فقط ، وتحذف الأجزاء الخاصة بالعمود الثاني ليصبح السطر بهذا الشكل Selection.Sort Key1:=Range("b2"), Order1:=xlAscending, Header:=xlNo, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal مع مراعاة أن يتم تغيير الخلية B2 والتي تعبر عن العمود المطلوب الترتيب على أساسه تقبل تحياتي
  24. غير السطر التالي Set Rng = Range(Cells(10, "C"), Cells(LR, "C")) ليصبح بهذ الشكل Set Rng = Range(Cells(10, "C"), Cells(60, "C")) أي تم استبدال المتغير LR والذي يحدد آخر صف به بيانات بالرقم 60 (المطلوب) .. وفي هذه الحالة يمكن حذف السطر الخاص بتحديد آخر سطر أي حذف السطر التالي LR = Cells(Rows.Count, "E").End(xlUp).Row لأنه لم يعد لك حاجة إلى ذلك
  25. استخدم كلمة Cells بدلاً من كلمة Range في السطر المشار إليه في المشاركة الأولى تقبل تحياتي
×
×
  • اضف...

Important Information