-
Posts
13,165 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
412
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو ياسر خليل أبو البراء
-
سؤال في sumif بها عدة أختيارات
ياسر خليل أبو البراء replied to شريف ( أبو عبدالرحمن )'s topic in منتدى الاكسيل Excel
أنت النبراس الذي أضأت لي الطريق أحيانا بيكون صاحب الموضوع نفسه مش عارف يعبر عن طلبه بشكل جيد ، وهذه مشكلة في نظري تحدث كثيراً فيأتي الغوث من أصحاب الخبرة العاملين في نفس المجال تقبل تحياتي -
قائمة مطاطة Dynamic Named Range
ياسر خليل أبو البراء replied to سـامي 169's topic in منتدى الاكسيل Excel
كلامك صحيح أخي الحبيب سليم ربنا يبارك فيك .. بس أعتقد إن تجهيز أرقام الجلوس بيكون مرة واحدة في أول العمل ولذلك لن تتم الإضافة بشكل دائم عموما كل السبل تؤدي إلى ما يريده سامي سامي لا يأبه لأحد تقبل تحياتي يا مبدع -
أخي علاء يا رب يا رب تكون مصيب في قولك وإلا هتحصل مصيبة بسبب كلامك ده نداء للأخ الكريم شريف حتى ولو لم يكن هذا في نيتك فقل أنك كنت تريد هذا الأمر .. مش عايزين علاء يسيب المجال المحاسبي (كدا المجال هيخسر أحد أكبر رجاله !!) ربنا يستر ربنا يستر
-
كيف أجعل هذا الملف خالٍ من العيوب
ياسر خليل أبو البراء replied to أحمد عبد العاطي رشيدي's topic in منتدى الاكسيل Excel
أخي الفاضل أحمد الرشيدي قم ببناء التصور الذي تريده واطرح موضوع واتنين وتلاتة أو أكثر وفي كل مرة اطلب طلب جديد وإن شاء الله ستجد من يقدم لك يد المساعدة فقط كن محدد الهدف -
أخي الغالي أبو صلاح أعتقد كل الموضوعات التي تقدم في المنتدى هي بمثابة دروس تقدم الدورة توقفت شكلاً لكن الموضوعات التي تقدم في المنتدى تكمل ما بدأته الدورة بالنسبة لطلبك إذا كان قد تم فلا تنسى التوجيهات (حدد أفضل إجابة ليظهر الموضوع مجاب) تقبل تحياتي
-
أخي الحبيب علاء لم ينوه الأخ شريف إلى ما تقول من الارتباط برقم الحساب ؟؟!!
-
أبو صلاح جرب الكود التالي Sub TypeEgyptian() Dim LR As Long LR = Cells(Rows.Count, 4).End(3).Row Range("E6:E500").ClearContents With Range("E6:E" & LR) .Value = "مصري" End With End Sub تقبل تحياتي
-
سؤال في sumif بها عدة أختيارات
ياسر خليل أبو البراء replied to شريف ( أبو عبدالرحمن )'s topic in منتدى الاكسيل Excel
أخي الحبيب علاء رسلان إن كان كما تقول فجرب المعادلة بهذا الشكل علها تفي بالغرض بدون أعمدة مساعدة =SUMPRODUCT((LEFT($A$2:$A$17,3)=""&A20&"")*($C$2:$C$17))-SUMPRODUCT((LEFT($A$2:$A$17,3)=""&A20&"")*($D$2:$D$17)) تقبل تحياتي -
قائمة مطاطة Dynamic Named Range
ياسر خليل أبو البراء replied to سـامي 169's topic in منتدى الاكسيل Excel
الخطأ سببه نسخة الأوفيس القديمة بصراحة أنا بطلت 2003 من سنة 2007 -
صناعة ملفات اكسل من ملف اكسل ماستر
ياسر خليل أبو البراء replied to أبو محمد المنار's topic in منتدى الاكسيل Excel
أخي الحبيب أبو يوسف جرب التعديل البسيط في الكود Sub SplitWB() 'يقوم الكود بفصل بيانات كل موظف في مصنف جديد مقسم إلى أوراق عمل جديدة '-------------------------------------------------------------------- 'تعريف المتغيرات Dim WB As Workbook Dim Arr Dim I As Long 'إلغاء خاصية اهتزاز الشاشة Application.ScreenUpdating = False Application.DisplayAlerts = False 'تعيين قيمة للمتغير ليساوي كل القيم في النطاق الحالي في ورقة العمل 'المتغير يخزن البيانات على شكل مصفوفة Arr = ThisWorkbook.Sheets("Sheet1").Cells(1).CurrentRegion.Value 'حلقة تكرارية من الصف الثاني وحتى آخر صف به بيانات 'الحد الأعلى للبعد الأول للمصفوفة ألا وهو بعد الصفوف [UBound(Arr, 1)] حيث يمثل هذا الجزء For I = 2 To UBound(Arr, 1) 'ليساوي المصنف الجديد [WB] تعيين المتغير Set WB = Workbooks.Add 'بدء التعامل مع المصنف الجديد With WB 'إضافة ورقة عمل باسم "ملاحظات" ، ووضع البيانات المرتبطة من العمود التاسع بالمصفوفة With .Sheets.Add .Name = "ملاحظات" .Range("A1") = "ملاحظات" .Range("B1") = Arr(I, 9) .Columns.AutoFit End With 'إضافة ورقة عمل باسم "الأداء والمعلومات المالية" ، ووضع البيانات المرتبطة من العمود الرابع والسابع والثامن بالمصفوفة With .Sheets.Add .Name = "الأداء والمعلومات المالية" .Range("A1").Resize(3, 1) = Application.Transpose(Array("التقييم السنوي", "الراتب", "البدلات")) .Range("B1") = Arr(I, 4) .Range("B2") = Arr(I, 7) .Range("B3") = Arr(I, 8) .Columns.AutoFit End With 'إضافة ورقة عمل باسم "المعلومات الأساسية" ، ووضع البيانات المرتبطة من العمود الأول والثاني والثالث والخامس بالمصفوفة With .Sheets.Add .Name = "المعلومات الأساسية" .Range("A1").Resize(5, 1) = Application.Transpose(Array("اسم الموظف", "تاريخ التعيين", "الجنسية", "الوحدة", "الشعبة")) .Range("B1") = Arr(I, 1) .Range("B2") = Arr(I, 2) .Range("B3") = Arr(I, 3) .Range("B4") = Arr(I, 5) .Range("B5") = Arr(I, 6) .Columns.AutoFit End With 'وهي ورقة عمل افتراضية في أي مصنف جديد [Sheet1] حذف ورقة العمل المسماة .Sheets("Sheet1").Delete 'حفظ المصنف الجديد في نفس مسار المصنف الحالي باسم البيان الموجود في العمود الأول بالمصفوفة .SaveAs ThisWorkbook.Path & "\" & Arr(I, 1) & ".xlsx" 'إغلاق المصنف الجديد الذي تم حفظه .Close End With 'الانتقال لصف جديد والتعامل مع مصنف جديد Next I Application.DisplayAlerts = True 'إعادة تفعيل خاصية اهتزاز الشاشة Application.ScreenUpdating = True 'رسالة تفيد بانتهاء عمل الكود MsgBox "Done !", vbInformation End Sub تم إضافة سطرين لإلغاء رسائل التنبيه وإعداة تفعيلها بعد انتهاء الكود الغريب أن الكود يعمل معي بدون رسالة الخطأ وعلى نفس النسخة 2007 -
قائمة مطاطة Dynamic Named Range
ياسر خليل أبو البراء replied to سـامي 169's topic in منتدى الاكسيل Excel
أنا لا أعمل على 2003 ..فقط 2007 و 2013 .. ننتظر أحد الأخوة العاملين على أزفيس 2003 ليفيدك -
فصل ملف اكسل اعتمادا على بيانات في ملف آخر
ياسر خليل أبو البراء replied to أبو محمد المنار's topic in منتدى الاكسيل Excel
أخي الكريم المنار يفضل في مثل تلك الموضوعات التي تستغرق الكثير من الوقت والجهد أن تكون الملفات المرفقة معبرة أكثر من ذلك .. وبالنسبة للمصنف المسمى اسم الموظف هو بنفس التنسيق تماماً الذي تريد العمل عليه أم أنه يختلف ويا ريت تضع عناوين حقيقية بدلاً من كلمة المتغير .. وبعض البيانات لمحاولة التطبيق عليها -
استدعاء الشهادات بمعيه رقم الجلوس
ياسر خليل أبو البراء replied to قصي's topic in منتدى الاكسيل Excel
تمام الحمد لله .. أخيراً وصلنا للمطلوب وإن شاء الله تكونوا استفدتم تقبلوا تحياتي لو فيه أية شروحات أخرى مطلوبة يا ريت يكون في موضوعات مستقلة وبعد الانتهاء من كل الموضوعات بإذن الله يمكن تجميعها في موضوع واحد .. لا أحب الإطالة في الموضوع الواحد تقبلوا تحياتي -
طلب معادلة أو كود توليد سريال إعتمادا على شرطين
ياسر خليل أبو البراء replied to أبو العاصم's topic in منتدى الاكسيل Excel
ممكن ترفق شكل النتائج المتوقعة بشكل يدوي عشان نفهم المطلوب بشكل أعمق -
قائمة مطاطة Dynamic Named Range
ياسر خليل أبو البراء replied to سـامي 169's topic in منتدى الاكسيل Excel
الأخ الفاضل سامي 741 روح للتبويب Formulas ثم Name Manager ثم حدد رقم_الجلوس المراد التعديل عليه (لاحظت أن هناك عدد 2 نطاق مسمى بنفس الاسم ..احذف واحد وأبقي على الآخر للتعديل عليه ) المهم اضغط Edit ثم في الحقل المسمى Refers To قم بوضع المعادلة التالية ثم أوك ثم Close =OFFSET('كنترول شيت'!$B$11,,,COUNTA('كنترول شيت'!$B$11:$B$1000)) تقبل تحياتي Dynamic Defined Name.rar -
أخي الفاضل أهلا ومرحباً بك في المنتدى بين إخوانك هلا غيرت اسم الظهور للغة العربية كما فعل إخوانك .. بارك الله في أخونا المتألق الصاعد علي الشيخ ، وأستأذنه في تقديم الحل لعله يكون المطلوب تم الاستعانة بعود مساعد في العمود D وإدراج المعادلة التالية لحساب كميات الأصناف بشكل تجميعي =SUMIF($B$2:B2,B2,$C$2:C2) ثم تم عمل الكود التالي ليؤدي الغرض Sub CheckItem() Dim I As Long, X As Double Dim Cell As Range For Each Cell In Range("J5:J8") X = Application.WorksheetFunction.SumIf(Range("F2:F20"), Cell.Value, Range("G2:G20")) For I = 2 To 20 If Cells(I, 2).Value = Cell.Value And Cells(I, 4).Value > X Then Cell.Offset(, 1).Value = Cells(I, 1).Value: Exit For End If Next I Next Cell End Sub تقبلوا تحياتي Lot Number For Items.rar
-
صناعة ملفات اكسل من ملف اكسل ماستر
ياسر خليل أبو البراء replied to أبو محمد المنار's topic in منتدى الاكسيل Excel
أخي الغالي أبو يوسف ما السطر الذي يحدث عنده خطأ ؟ وما هي نسخة الأوفيس التي تعمل عليها ؟ الأخ الكريم المنار أحسنت في فكرة تقديم موضوع جديد .. هل كنت فعلاً أنه يمكن معالجة الأمر بدون برمجة !! المعادلات عملها محدود للغاية ، بينما البرمجة تفتح لك آفاقاً واسعة في الملف المرفق يتم إنشاء مصنفات جديدة وأوراق عمل داخل المصنفات وإغلاق وحفظ هذه المصنفات بالإضافة إلى إدراج بيانات بها ...فكيف للمعادلات أن تقوم بمثل تلك الخطوات ؟؟ -
استدعاء الشهادات بمعيه رقم الجلوس
ياسر خليل أبو البراء replied to قصي's topic in منتدى الاكسيل Excel
أخي أسامة راجع الشرح الرقم 8 خاص بعدد أعمدة الإزاحة وتم شرحها بالتقصيل يا جميل -
استدعاء الشهادات بمعيه رقم الجلوس
ياسر خليل أبو البراء replied to قصي's topic in منتدى الاكسيل Excel
الأخ الكريم سامي نوهت من قبل ألا تكون المشاركات متتالية بهذا الشكل ادينا فرصة نرد على مشاركة مشاركة وإلا (من يطارد عصفورين يفقدهما) أحب التأني في الطلب ..فقط طلب واحد في كل مرة إلى أن يأتيك الرد ..وأفضل دائماً طرح موضوع مستقل لكل طلب كنوع من التنظيم دا لأن الخلية دي مش في نطاق أرقام الجلوس بالتالي لازم تحدد الصف والعمود بهذا الشكل لتصبح المعادلة بهذا الشكل =OFFSET('كنترول شيت'!$R$10,-1,8) لاحظ أن البيانات تبدأ من الصف رقم 11 -
استدعاء الشهادات بمعيه رقم الجلوس
ياسر خليل أبو البراء replied to قصي's topic in منتدى الاكسيل Excel
السلام عليكم ورحمة الله وبركاته إخواني الكرام ..جمعة مباركة عليكم إليكم شرح الطريقة الرابعة من معادلات الباشمهندس علي السحيب سيتم الشرح على الملف المرفق بعد عمل معادلتين فيه للتطبيق ، والشرح سيكون على ورقة العمل المسماة "شهادة الترم الثاني(2)" المعادلة الأولى في الخلية C3 =IF(OR($M$3<MIN(رقم_الجلوس),$M$3>MAX(رقم_الجلوس)),"",OFFSET('كنترول شيت'!$R$10,MATCH($M$3,'كنترول شيت'!رقم_الجلوس,0),-15)) الجزء الأول من المعادلة تم شرحه مسبقاً في المشاركة رقم 4 OR($M$3<MIN(رقم_الجلوس),$M$3>MAX(رقم_الجلوس)) وذكرنا في خلاصة شرح الجزئية دي إن : لو رقم الجلوس الموجود في الخلية M3 كان مش موجود ضمن نطاق أرقام الجلوس الموجودة في ورقة العمل "كنترول" تعطي النتيجة فراغ ..عشان رقم الجلوس في الحالة دي مش موجود ، فطبيعي إن ميكونش فيه بيانات مرتبطة بيه ، فيعطي فراغ ننتقل للجزء الثاني من المعادلة ، ودا الجزء المسئول عن جلب البيانات المرتبطة برقم الجلوس OFFSET('كنترول شيت'!$R$10,MATCH($M$3,'كنترول شيت'!رقم_الجلوس,0),-15) وهنا تم استخدام الدالة Offset ودي دالة إزاحة ، وهنفهم إن شاء الله يعني ايه إزاحة ، والدالة دي ناخد فكرة عامة الأول عنها .. الدالة لها 5 بارامترات ..اللي يهمنا فيهم أول 3 لأن دول إجباري أما البارامتر الرابع (خاص ارتفاع صفوف الإزاحة) فدا اختياري ، والبارامتر الخامس (خاص بعرض أعمدة الإزاحة) ودا بردو اختياري نيجي للـ 3 بارامترات المهمة والمستخدمة في المعادلة البارامتر الأول 'كنترول شيت'!$R$10 المرجع أو ممكن نسميها نقطة الإزاحة يعني بشكل آخر نقطة البداية اللي هنطلق منها ..ودي هتكون في الصف السابق لأول صف فيه بيانات للطلاب يعني كمثال في الملف المرفق في ورقة العمل المسماة "كنترول شيت" بيانات الطلاب بتبدأ في الصف رقم 11 يبقا نقطة الإنطلاق هتكون في الصف رقم 10 .. السؤال اللي بيطرح نفسه : نقطة الإنطلاق المفروض إنها خلية واحدة والخلية معروف إنها ليها اسم عمود ورقم صف ..إحنا عرفنا رقم الصف اللي هنبدأ منه ، طيب واسم العمود اللي هنشتغل عليه الإجابة : أي عمود يعجبك مش هتفرق .. اللي هيفرق هو حساب عدد أعمدة الإزاحة ، هنتناولها بالتفصيل بعد قليل (ماشي يا جميل) أنا في المثال اخترت العمود R (الكلام دلوقتي في ورقة العمل "كنترول شيت" عشان محدش يتوه مني) خلاصة الكلام تم تحديد نقطة الإنطلاق لتكون الخلية R10 البارامتر الثاني MATCH($M$3,'كنترول شيت'!رقم_الجلوس,0) دا الجزء المسئول عن حساب عدد صفوف الإزاحة نفم الأول يعني ايه إزاحة ؟ إزاحة يعني انتقال من نقطة لنقطة أخرى بمقدار معين (كلام كبير أنا نفسي محتاج أشرحه تاني عشان أفهمه) بالمثال نفهم المقال : يعني لما قلنا إن نقطة البداية هي الخلية R10 لما أقول عايزين نعمل انتقال أو إزاحة صف واحد لتحت ، تبقا الخلية المقصودة التي سيتم الإنتقال إليها هي R11 طيب لو قلنا عايزين نعمل إزاحة بمقدار 5 صفوف من نقطة الإنطلاق R10 ، يبقا في الحالة دي هننزل بعد نقطة الإنطلاق بمقدار 5 يبقا الخلية المقصودة R15 طيب الإزاحة بتكون لتحت بس ، لا ممكن تكون لفوق بس في الحالة دي الرقم بيكون بالسالب ..... يعني لو قلت عايز إزاحة من نقطة الإنطلاق R10 بمقدار -9 ، يبقا الخلية المقصودة R1 (يا ريت تكون وضحت فكرة الإزاحة) يرجع مرجوعنا لموضوعنا .. إحنا بنتكلم عن عدد صفوف الإزاحة المطلوبة من نقطة الإنطلاق ، وعشان كدا استخدمنا دالة البحث match ودي بتجيب رقم الصف اللي فيه رقم الجلوس ومن غير تفاصيل كتيره الدالة بتبحث عن رقم الجلوس في الخلية M3 ، بتبحث فين ؟؟ سؤال سهل الإجابة عليه : بتبحث في نطاق أرقام الجلوس ، والبحث بيكون تطابق تام عشان كدا استخدمنا صفر مثال : لو الخلية M3 مكتوب فيها رقم الجلوس 1985 ، الدالة هتاخد الرقم وتبحث عنه في أرقام الجلوس ، هتلاقي نتيجة الجزء ده في الحالة دي هو رقم 3 لأن دا فعلاً تالت رقم جلوس متسجل عندي في قايمة أرقام الجلوس ... يبقا استفدنا من الدالة Match إنها جابت لي رقم 3 ، والرقم ده بيمثل عدد صفوف الإزاحة ، يبقا من نقطة الإنطلاق ستتم الإزاحة بمقدار 3 صفوف لأسفل أي أن الخلية الجديدة التي سيتم الانتقال إليها هي R13 بكدا نكون وقفنا في الخلية R13 (ناخد كوباية عصير وإحنا واقفين في الخلية ..عشان أنا ريقي نشف ..) البارامتر الثالث -15 ودا المسئول عن عدد أعمدة الإزاحة وزي ما شرحنا إن فيه إزاحة عبر الصفوف لتحت (موجب) ولفوق (سالب) ، نفس الكلام مع الإزاحة عبر الأعمدة يعني لو كانت نقطة الإنطلاق R10 وحبيت أعمل إزاحة أو انتقال بمقدار 2 هتكون الخلية الجديدة ايه ؟ فكر شوية ..بالنسبة للأعمدة معروف إنها بأسماء الحروف A, B , C وهكذا فلما أكون في الخلية R10 وأنتقل بمقدار 2 يبقا هاعد بعد حرف R مرتين ..بعد R حرف الـ S دي أول إزاحة ، وبعد حرف الـ S حرف الـ T ودي تاني إزاحة ، يبقا الخلية المقصودة هي T10 ونفس الكلام اللي قلناه مع الصفوف هو نفس الكلام مع الأعمدة ، إننا لو انتقلنا بشكل عكسي يبقا الرقم بالسالب .. يعني لو كانت نقطة الإنطلاق R10 و حبيت أعمل إزاحة أو انتقال بمقدار -3 مثلاً ، يبقا نمشي بالعكس نشوف العمود اللي قبل الـ R اللي هي الـ Q ودي كدا أول إزاحة ، ونروح للعمود اللي قبل الـ Q اللي هو P ودي كدا تاني إزاحة ، ونروح للعمود اللي قبل الـ P اللي هو الـ O ودي ثالت وآخر إزاحة مطلوبة ، يبقا الخلية المقصودة هي O10 يرجع مرجوعنا لموضوعنا .. الرقم الموجود في المعادلة -15 هي عدد أعمدة الإزاحة اللي هتوصلنا للعمود المطلوب ألا وهو عمود الاسم نقطة الإنطلاق R10 هنعمل إزاحة بمقدار -15 هنوصل للعمود C وعشان منحسبش الإزاحة بشكل يدوي ممكن تعمل حيلة بسيطة ..تيجي في أي صف فارغ فوق البيانات وليكن الصف الأول في ورقة العمل المسماة "كنترول شيت" ونضع المعادلة التالية في أول خلية =COLUMN() ونسحب المعادلة لحد الخلية DH1 ، ودي عشان نعرف رقم العمود الحيلة اللي ممكن تقدر توصل بيها للرقم المطلوب لعدد أعمدة الإزاحة .... تشوف رقم عمود نقطة الإنطلاق العمود R رقمه كام ، والعمود المطلوب الوصول إليه العمود C رقمه كام ، وتطرح نقطة الوصول ناقص نقطة الإنطلاق (3 - 18 = -15) ، وبما إننا ماشيين عكس السير يبقا الرقم بالسالب -15 المعادلة الثانية في الخلية C9 =IF(OR($M$3<MIN(رقم_الجلوس),$M$3>MAX(رقم_الجلوس)),"",OFFSET('كنترول شيت'!$R$10,MATCH($M$3,'كنترول شيت'!رقم_الجلوس,0),8)) نفس المعادلة بالتمام والتمام ..التغيير بس في أعمدة الإزاحة نشوف إحنا عايز أي عمود ، أي أننا ننظر إلى عمود محطة الوصول (إحنا عايز درجة العربي ، ودرجة العربي في العمود رقم 26 ، ونقطة الإنطلاق العمود R اللي هو رقم 18 ) زي ما اتعلمنا وخدها قاعدة نقطة محطة الوصول (العمود المراد جلب البيانات منه) - نقطة الإنطلاق يبقا لو طبقنا القاعدة : 26 - 18 = 8 ، وهو دا عدد أعمدة الإزاحة وأخيراً أرجو أن أكون وفقت في توصيل المعلومة بشكل مبسط تقبلوا تحياتي Offset Function.rar -
صناعة ملفات اكسل من ملف اكسل ماستر
ياسر خليل أبو البراء replied to أبو محمد المنار's topic in منتدى الاكسيل Excel
أخي الفاضل حضرتك طرحت ملف مرفق وشكل للنتائج المتوقعة وتم العمل على هذا الأساس .. أعتقد إذا كان الطلب سيتمحور حول نقاط أخرى أفضل أن تطرح موضوع جديد .. اطرح موضوع جديد لكي تتم الاستفادة .. ويا ريت في الموضوع الجديد ترفق ملف يكون مشابه تماماً للملف الأصلي بالنسبة لسؤالك لو كان فيه تنسيق معين (فورمات جاهزة) هل تقصد أن هناك مصنف جاهز لعملية الإدخال أم أن هناك مصنفات بالفعل لكل موظف ؟ ولما لم تنوه عن ذلك في الموضوع من البداية ماذا تقصد بـ 70 متغير ؟هل تقصد 70 بيان في 70 عمود أم ماذا؟