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

طارق محمود

أوفيسنا
  • Posts

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

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

  • Days Won

    42

كل منشورات العضو طارق محمود

  1. السلام عليكم أخي العزيز تقول "لدي رقم في النقطة كذا .. " هل تعني رقمين لكل نقطة أي الإحداثيات س، ص أم ماذا تعني يرجي إرفاق ملف
  2. السلام عليكم أخي الحبيب / أبو آلاء هون عليك تذكر أن المنتدي للجميع للتعلم والتعليم - الهدف الأسمي والأخ عندما غير أو بدل ، هو أو غيره لايحتاج لإذن حيث أنك وضعت البرنامج لنفس الغرض وقد رأينا ردك علي الأخ الفاضل (عبد الفتاح كيرة) يسأل في المشاركة رقم 3 أعتقد في الموضوع الأصلي ترد عليه "استاذى الحبيب - البرنامج كله تحت امرك عدل فيه كيفما تشاء وارجوا منك عمل اللازم ليستفيد الجميع" هذه هي الروح المطلوبة ولكننا نعتب علي الأخ الذي حذف اسمك ووضع اسمه بدون داعي ولم ينوه حتي إلي مصمم البرنامج الأصلي فليست هذه أخلاقنا في المنتدي رجاء إخواني ألا ينزع الشيطان بينكما وليكن هدفنا كما كان دائما نشر العلم لوجه الله فقط
  3. السلام عليكم ======== سألني عضو جديد علي الخاص السؤال التالي - شاهدت لحضرتك بعض الملفات اكسيل مرسوم فيها بالدوال الخطية - رجاءا ان يوجد شرح مفصل لهذه الدوال لان انا لا اعلم عنها شئ وكنت ابحث عنها وعندما شهدت ملف حضرتك انبهرت فعلا والله اعلم - اريد ان استخدمها فى رسم بيانات عندى مثل حضرتك فى ملف Eng_Func_Draw والمثال الموضح باسم SIN_COS وسوال اخر لو تكرمت هل الاكسيل يستطيع حساب المساحة بين الخطين الازرق والاحمر الت فى رسم حضرتك . أحببت أن أضع السؤال والإجابة هنا أيضا لتكون المشاركات هنا في الموضوع ليستفيد منها باقي الأعضاء وقد أجبته كالتالي السلام عليكم أخي الحبيب أهلا ومرحبا بك في أي وقت وأي سؤال ==================== أخي الكريم أسئلتك عامة بعض الشيء فهلا حددت نقاط معينة بعدما تقرأ ماشرحته أنا بالفعل بالموضوع الذي ذكرته http://www.officena....showtopic=30605 مثلا أخبرني طبيعة عملك ونوع البيانات أو ارسل نسخة مثال منها حتي يمكنني شرح ماتريد أما سؤالك " هل الاكسيل يستطيع حساب المساحة بين الخطين الازرق والاحمر" فالإجابة لا الإكسل لوحده لايفعل شيئا ، لابد أن تعلم أنت المعادلات والعلاقات اللازمة لحساب ماتريد ثم تتضعها للبرنامج وهو يطبقها فقط بصوابها وخطئها أما من ناحية أخري ، فنحن نستطيع طبعا إن كنت أنا أو أنت لانستطيع فهناك من يفعل ذلك بيسر وسهولة فالمساحة بين منحنيين أيا ماكانوا تستطيع حسابها كالتالي 1- المساحة بين المنحني الأول ومحور السينات = أ مثلا 2- المساحة بين المنحني الثاني ومحور السينات = ب مثلا فتكون المساحة المطلوبة تساوي (أ-ب) وللحصول علي المساحة بين المنحني ومحور السينات فعليك بالتكامل (Integration) تقديم بلاغ عن مشاركة مخالفة(عنوان الآي بي: 83.110.89.142 )
  4. خلاص يبقي نطبق معادلة الغالي / بن علية مع ضبط موضوع الطول كالتالي =1*VALUE(RIGHT(B3,LEN(B3)-SEARCH("/",B3)+3)+DATE(2,1,0))
  5. السلام عليكم أخي الحبيب وأستاذي الفاضل / بن علية فكرت في تلك المعادلة ولكن خشيت أن الأسماء قد تطول وتقصر ولن تكون كلها 10 أحرف مثل ahmed.moh لذلك كان افتراض أن طول معامل التاريخ يكون أكثر ثباتا وهاهو أبو حنين يضرب لنا ذلك الفرض أيضا لابد من تثبيت شيء لنبدأ بالتعامل من عنده مثلا لو الأسماء لاتحتوي مسافات ، نعمل دالة تجلب لنا أول مسافة فين ثم نأخذ التاريخ من بعدها وإلا نأخذ مكان أول علامة "/" ونطرح منه ثلاثة هذا سيكون أفضل إذن المعادلة التالية أشمل بإذن الله بشرط ألا يتضمن إسم الشخص في الخلية هذا الحرف "/" =IFERROR(EDATE(VALUE(RIGHT(B3,LEN(B3)-SEARCH("/",B3)+3)),24),"")
  6. السلام عليكم أخي العزيز الحل علي الفرض الثاني أسرع تفضل إستبدل الكود الخاص بالورقة بالتالي Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim LR As Integer Dim nametodel As String On Error Resume Next LR = Cells(Rows.Count, 1).End(xlUp).Row If LR < 8 Then LR = 8 Set myrg = Range("A8:A" & LR) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, myrg) Is Nothing Then nametodel = Target.Offset(0, 1).Value Justify = MsgBox(nametodel & " " & "هل تريد إخفاء الصف ", vbYesNoCancel) If Justify = vbYes Then Target.EntireRow.Hidden = True End If If Target.Offset(1, 0).EntireRow.Hidden = True Then nametodel = Target.Offset(1, 1).Value J2 = MsgBox(nametodel & " " & "إذن هل تريد إظهار الصف التالي ", vbYesNoCancel) If J2 = vbYes Then Target.Offset(1, 0).EntireRow.Hidden = False End If End If End Sub أو تفضل المرفق جدول المبيعات2.rar
  7. السلام عليكم أخي العزيز بفرض أن التاريخ دائما بهذا التنسيق الذي أرسلته والذي طوله = 18 حرفا جرب هذه المعادلة =IFERROR(EDATE(VALUE(RIGHT(B3,18)),24),"")
  8. السلام عليكم أخي العزيز تأخرت عليك ، عذرا تفضل المرفق بالتنسيق الشرطي AnyYearBusinessCalendar1.rar
  9. جزاك الله كل خير أخي الغالي الحبيب / بن علية لقد علمتني بعض خواص الرسومات البيانية بالإكسل ، كنت أظنني أعلمها كلها حل جميل رائع جزاك الله خيرا ============== أخي العزيز ASLLLY أفضل برناج للرسم رأيته هو الأوتوكاد ولكنه يتطلب وقتا طويلا حتي تجيده ولكن إنتاجه يشبه السحر
  10. لايوجد مرفق لكني أعتقد أن التسيق الشرطي (Conditional Format) يفي بالغرض في حالتك هذه
  11. السلام عليكم أخي الكريم عموما الإكسل ليس الأفضل للرسم ولكن ، انظر المرفق وبه بعض الشرح ccc2.rar
  12. السلام عليكم أهلا ومرحبا أخي سليم بين إخوانك عادة مايرفق السائل ملف للعمل عليه لكن كتحية لك ولأول مشاركة لك معنا وبعد إذن أخواي العزيزان الغاليان إسلام الشيمي ، سليم حاصبيا عدلت علي ملف قديم عندي بخصوص قطع الغيار ليناسب طلبك تفضل المرفق قطع غيار السيارات.rar
  13. السلام عليكم أخي العزيز / عمرو طلبة تجد الرد إن شاء الله في الموضوع http://www.officena....=56242&p=371623
  14. اسلام عليكم أخي العزيز معذرة لم أنتبه للموضوع لانشغالي الفترة السابقة =============================== أولا حمل الملفات الثلاثة المرفقة (Data ، Data10-2014 ، sample) واحفظهم في مجلد منفصل ثانيا شغل الملف :Data كما سبق سينتج 3 ملفات بأسماء الوحدات 5-10001، 6-10001، 15-20005 للمستخدمين : محمد ، أحمد ، عمرو كما سبق فإن فتحت أيا منهم ستجد أن موضوع التفقيط في الفاتورة تم حله المطلوب الرابع وستجد أن عنوان ورقة المطالبة "مطالبة سداد فاتورة مياه شهر " تم تعديله ليكون أوتوماتيكيا وبعض التعديلات اللخري التي أجريتها علي الملف sample ثالثا إفتح الملف :Data10-2014 لعلك تلاحظ أن هناك عملاء جديدون إبراهيم 01 ، إبراهيم 02 ، رقم 4 ، 5 >> ليس لهم ملفات فى 9 /2014 ثم شغل الملف :Data10-2014 ستجد أن البيانات الجديدة لشهر 10-2014 للمستخدمين الثلاثة تم إضافتها لملفاتهم في ورقة مطالبات وتم تحويل البيانات القديمة لشهر 9 إلي نصوص (لكي يتم حفظها بلا تغيير من المعادلات) وستجد أن الطباعة تغير مجالها لشهر 10 الجديد أما المستخدمين الجدد فقد تم إنشاء ملفات جديدة لهم كما بالسابق AMRO TOLBA.rar
  15. السلام عليكم أخي الحبيب ياسر خليل مازلت أشكرك علي الجهد المتميز ، وفقك الله وأعانك أحببت أشارك ولو بشيء بسيط هذا الكود لترتيب أوراق العمل تصاعديا أو تنازليا طبعا جربته ، تمام وبصراحة لم أتحقق إن كان موجود بمكتبتنا الرائعة أم لا أضيف عليك هذا الجهد (التحقق من أنه موجود أم لا بالمكتبة) مرفق ملف شرح Sub Sort_Worksheets() Dim i As Integer, j As Integer, Ansr As VbMsgBoxResult Ansr = MsgBox("تريد ترتيب الشيتات تصاعديا ؟" & Chr(10) & "بضغط (لا) سيتم الترتيب تنازليا", _ vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets") For i = 1 To Sheets.Count For j = 1 To Sheets.Count - 1 If Ansr = vbYes Then If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1) ElseIf Ansr = vbNo Then If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1) End If Next j Next i End Sub هذا الكود ضمن أكثر من مائة كود علي الرابط http://www.teachexcel.com/free-excel-macros/ أنا فقط عدلت في الشكل ونص السؤال بالعربية بدلا من الإنجليزية ومن هذا الرابط أيضا يمكن إقتباس فكرة ضم الأكواد في مجموعات أو عناوين كبيرة شرح الكود ترتيب أسماء الورقات.rar
  16. السلام عليكم أخي الكريم أهلا بك ومرحبا دائما والشكر موصول لأخونا الغالي / الصـقر ، جزاه الله خيرا وجعل جهده في ميزان حسناته ================ أخي الكريم مرة أخري لفهم هذه الجزئية ترجع قليلا في الكود ستجد الأوامر كالتالي nr = [F9999].End(xlUp).Row + 1 أي أن nr سيأخذ قيمة رقم الصف الجديد الجاهز للبيانات في تلك الورقات new row وأيضا كما سبق ، الجزء n = LR - 17 يعتمد علي أن أول بيانات مكتوبة بالورقة ستكون بالصف 18 علي أساس أن LR = Last Row ولفهم الجزء الذي تسأل عنه ، نفرض أن آخر سطر به بيانات منقولة في تلك الورقة مثلا السطر رقم 25 أي أن nr سيأخذ قيمة رقم 25+1 = 26 مثلا و n مثلا =7 إذن For Each cl In Range("B" & nr & ":B" & nr + n - 1) تكون For Each cl In Range("B" & 26 & ":B" & 26 + 7 - 1) أي For Each cl In Range("B26:B32) تكون معناها أن إفعل التالي لكل عنصر من عناصر من خلايا النطاق B26:B32 (العنصر هنا هو cl أي الخلية ) والتالي المقصود هو cl.Value قيمة الخلية = cl.Offset(-1, 0).Value قيمة الخلية التي تسبقها في العمود وفي نفس صفها + 1 كل خلية تجعل قيمتها تساوي قيمة الخلية التي تعلوها في نفس العمود وتزيد عليها 1 طبعا أنت تعرف ان الدالة Offset تحرك المؤشر من الخلية cl إلي تلك التي تبعد عنها بمقدار صف واحد للأعلي -1 وفي نفس العمود 0 يعني في مثالنا هذا B26 سوف تساوي B25+1 و B27 سوف تساوي B26+1 و B28 سوف تساوي B27+1 وهكذا حتي B32
  17. السلام عليكم أخي الكريم اتبع الخطوات التالية فك الدمج Merge في العمود T ضع أي بيان في الخلية T6 لأنها ستكون فارغة بعد فك الدمج إنسخ الخلية T6 إلي الخلية X6 مثلا ظلل المجال من الخلية T6 إلي الخلية T78 ثم من قائمة Data >> Advance Filter >> Copy to another location >> Unique records only أنظر الفييديو المرفق أيضا Data_AdvanceFilter.rar
  18. أخي عبد الله راجعت الخاص وحملت الملف وسأعمل عليه اليوم إن شاء الله وأستأذنك إذا نجح الأمر في نشر الملف للإستفادة منه (لن أنشره إلا إذا وافقت) نقطة أخري : سأغير العنوان السينيمائي للموضوع
  19. السلام عليكم لاأدري يإن كنت فهمت أم لا أرجو النظر للمرفق غير بالخلية الصفراء A2 (بفرض أن هذه هي التي تتغير بشكل لحظي عشوائي تلقائي) إذا كان هذا ماتريد يسهل عملها علي مجموعة خلايا أو أعمدة عبدالله279.rar
×
×
  • اضف...

Important Information