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

نجوم المشاركات

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

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

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


    • نقاط

      11

    • Posts

      13,165


  2. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      7

    • Posts

      8,723


  3. أبو حنــــين

    أبو حنــــين

    الخبراء


    • نقاط

      5

    • Posts

      2,845


  4. omar elhosseini

    omar elhosseini

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


    • نقاط

      2

    • Posts

      1,950


Popular Content

Showing content with the highest reputation on 28 أغس, 2016 in all areas

  1. بعد اذن الاخ ياسر والاخ أبو حنين هذا الكود (بدون حلقات تكرارية حيث ان ابو البراء لا يجبذها) Sub salim() Dim My_Rg As Range Dim t As Integer Set My_Rg = Union(Sheets("sheet1").Range("d5").Resize(Cells(Rows.Count, 4).End(3).Row - 4, 1) _ , Sheets("sheet1").Range("f5").Resize(Cells(Rows.Count, 6).End(3).Row - 4, 1)) t = Application.CountA(My_Rg): If t = 0 Then Exit Sub Range("h5:j100").ClearContents With My_Rg .Areas(1).Copy Destination:=Range("h5") .Areas(2).Copy Destination:=Range("i5") .ClearContents End With Sheets("sheet1").Range("j5").Resize(Cells(Rows.Count, 8).End(3).Row - 4, 1) _ .FormulaR1C1 = "=RC[-2]-RC[-1]" End Sub
    3 points
  2. جزيت خيراً أخي العزيز سليم على قوة الملاحظة لم أنتبه لمسح النطاق بعد الترحيل .. إليك التعديل التالي ليناسب المشكلة في حالة تكرار الكود Sub Test() Dim Lr As Long, startRow As Long startRow = 5 With ActiveSheet Lr = .Cells(Rows.Count, "D").End(xlUp).Row If Lr < startRow Then MsgBox "Put Some Data", vbExclamation: Exit Sub .Range("H" & startRow).Resize(Lr - (startRow - 1)).Value = .Range("D" & startRow).Resize(Lr - (startRow - 1)).Value .Range("I" & startRow).Resize(Lr - (startRow - 1)).Value = .Range("F" & startRow).Resize(Lr - (startRow - 1)).Value .Range("D" & startRow & ":F" & Lr).ClearContents .Range("J" & startRow).Resize(Lr - (startRow - 1)).Formula = "=RC[-2]-RC[-1]" End With End Sub
    2 points
  3. بارك الله فيك اخي الحبيب ياسر لكن انا ارى انه لا بد من هذا السطر في الكود t = Application.CountA(My_Rg): If t = 0 Then Exit Sub و ذلك من اجل تفادي محي البيانات قي النتائج في حال قام المستخدم بتنفيذ الكود اكثر من مرة قبل اضافة بيانات جديدة
    2 points
  4. بارك الله فيك أخي العزيز سليم وهذه محاولة مني بعد اقتباس الفكرة من الكود الذي قدمته Sub Test() Dim Lr As Long, startRow As Long startRow = 5 With ActiveSheet Lr = .Cells(Rows.Count, "D").End(xlUp).Row .Range("H" & startRow).Resize(Lr - (startRow - 1)).Value = .Range("D" & startRow).Resize(Lr - (startRow - 1)).Value .Range("I" & startRow).Resize(Lr - (startRow - 1)).Value = .Range("F" & startRow).Resize(Lr - (startRow - 1)).Value .Range("J" & startRow).Resize(Lr - (startRow - 1)).Formula = "=RC[-2]-RC[-1]" End With End Sub يمكن التعديل رقم 5 حيث يمثل صف البداية للبيانات المراد التعامل معها تقبلوا تحياتي
    2 points
  5. بارك الله فيك أخي الغالي أبو حنين ممكن أعرف ليه التعقيد في سطر الـ Union ؟؟!! بدلاً من استخدام السطر بالشكل التالي Union(Range(Cells(i, 4), Cells(i, 4)), Range(Cells(i, 6), Cells(i, 6))).Copy يمكن استخدامه بالشكل التالي Union(Range("D" & I), Range("F" & I)).Copy بسطها يا كبير .. ويا ريت بعد إذنك لو مكانش يضايقك .. دا إذا مكانش يضايقك طبعاً أن تقوم بوضع الكود في المشاركة ..إذ أنني لا أحب تحميل المرفق إلا بعد الإطلاع على الكود المقدم .. تقبل وافر تقديري وحبي واحترامي
    2 points
  6. بسم الله الرحمن الرحيم وبه نستعين إخوانى الاعزاء السلام عليكم ورحمته الله وبركاته بناءا على طلب أحد الزملاء الافاضل بهذا الصرح المبارك عبرالخاص وحتى تعم الفائده للجميع أقدم لسيادته وللساده الاعضاء هذا البرنامج وهو يصلح للسادة العاملين بمصانع القطاع الخاص حيث تم ربط الاجر بالحضور والانصراف ويتم التسجيل هنا بصفة يومية وعلى مدار شهرالاستحقاق لكل عامل وهو مقسم على ثلاثة مراحل حسب وضع كل عامل بهذا المصنع المرحلة الاولى مرتبطة بالاجر الاساسى الشهرى المتفق عليه وهو محدد بعدد الساعات الاصلية للعمل المرحلة الثانية مرتبطة بالاجرالاضافى وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل المرحلة الثالثة مرتبطة بالاجرالاضافى للسهرات الليلية وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل يشمل البرنامج أيضا الجزاءات التى تقع على العامل ويمكن تعديلة حسب نظام كل شركة يشمل البرنامج أيضا اأيام الغياب لكل عامل بالشركة ففى حالة سماح أيا من رصيد العامل لآجازنه الاعتيادية أو أجازنه العارضة فلايتم خصم أية مبالغ من هذا العامل إلا فى حالة نفاذ تلك الارصدة فتقع عليه أيام الغياب بالخصم يشمل أيضا السلف الذى يتقاضاها العامل على مدارالشهرعلى أن يتم خصمها من اجمالى راتبه اليومى وهناك المزيد نسألكم الدعاء.... تقبوا وافر احترامى .... وجزاكم الله خيرا
    1 point
  7. أخي الكريم يرجى الإطلاع على موضوع التوجيهات في الموضوعات المثبتة في صدر المنتدى ضع الأكواد بين أقواس الكود .. لتظهر بشكل منضبط الملاحظات على الملف المرفق : أكرر الملف المرفق لا يحتوي على موديول ولا على أية أكواد على الإطلاق الأزرار الموضوعة بالملف من النوع ActiveX أي أن الأكواد الخاصة بها توجد في موديول ورقة العمل وليس في موديول عادي أسماء الإجراءات الفرعية غير مناسبة حيث أنها تشير لخلايا في ورقة العمل ، أقصد التسمية mh1 اسم الماكرو غير مناسب ، حيث من المفترض أن هذا اسم عمود (العمود MH في الصف رقم 1) ارفق الملف مرة أخرى وبه الأكواد ووضح المشكلة بالضبط أعتقد أن هناك موضوع مشابه قمت بالمساهمة فيه .. كان تقريباً نفس الملف مع تغييرات في الأعمدة
    1 point
  8. أرجو الاطلاع على مشاركتي السابقة
    1 point
  9. غير Dim R As Integer بهذا السطر Dim R As Long اقتباس تعديل Quote this و تأكد جيدا من اسم الورقة SH2
    1 point
  10. قم بارجاع السطر For T = 2 To SH2.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
    1 point
  11. الاخ الدبعي شاهد المرفق تصفح تعليمات البرنامج قبل ان تفعل اي شئ تمت التجربة علي اكسيل 14 / 2010 اكسيل 11 / 2003 Omar_1.rar
    1 point
  12. السلام عليكم ورحمة الله تعالى وبركاته ممكن من فضلك مرفق من قاعدة البيانات
    1 point
  13. الاخ أبو العقاب سوف اعمل علي طلبك فور انتهائي من برنامج الاخ الدبعي غدا بإذن الله
    1 point
  14. lمرحبا اخي صلاح ربما هذا الكود يفي بالغرض Sub CopyTofilter() Dim SH1 As Worksheet, SH2 As Worksheet, R As Integer, T As Integer, Date1 As Double, Date2 As Double R = 1 Set SH1 = Sheets("filter"): Set SH2 = Sheets("all data") Date1 = SH1.Range("L2"): Date2 = SH1.Range("M2") SH1.Range("A2:K" & SH1.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row) = "" Application.ScreenUpdating = False For T = 2 To SH2.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row Select Case SH2.Cells(T, 2).Value2: Case Date1 To Date2 R = R + 1 SH2.Range("A" & T).Resize(, 11).Copy SH1.Range("A" & R).PasteSpecial xlPasteValues End Select Next Application.ScreenUpdating = True End Sub
    1 point
  15. وعليكم السلام أخي الكريم صلاح راجع الرابط التالي عله يفيدك https://www.officena.net/ib/topic/68426-تصفية-متقدمة-بين-تاريخين-وفق-عدة-معايير-بالأكواد-والمعادلات-للتاريخ/?do=findComment&comment=445127
    1 point
  16. أخي الكريم سليم الموضوع كما أخبرت له 10 أيام وتوجد ردود كثيرة في الموضوع ، مما يوهم الأعضاء أن الموضوع منتهي أو متبقي فيه نقاط فرعية بسيطة .. حاول تعذر إخوانك فلكل واحد منهم ما يشغله .. والمنتدى يستقبل عدد كبير من الموضوعات ومن يقدم المساعدة يعدون على أصابع اليد ، وبالتأكيد كل منا له مشاغله الخاصة .. فالتماس العذر مطلوب بارك الله فيك وأعلى من شأنك حاول لما يكون الموضوع فيه أكثر من نقطة أن تقوم بطرح الموضوع على أكثر من موضوع ليسهل التعامل معه .. راجع التوجيهات في الموضوعات المثبتة في صدر المنتدى تقبل تحياتي
    1 point
  17. حرب هذا الملف number begining by zero.rar
    1 point
  18. ماذا لو كان هناك خلية في النطاق D2:D4 غير فارغة ؟؟ استخدام xlDown قد يسبب مشاكل في حالة وجود خلايا غير فارغة حيث أنه لن يعطي نتائج صحيحة في هذه الحالة عموماً الأمر دائماً يرجع لهيكلة الملف ووقة العمل لذا دائماً نطلب ملف مرفق لتتضح الصورة ونطلب أن يكون الملف المرفق معبر عن الملف الأصلي بشكل كبير جزاك الله خيراً أخي العزيز سليم
    1 point
  19. بارك الله بك من جديد ملاجظة اخيرة لماذا لا ندع الاكسل نفسة يحدد startRow من خلال هذا السطر startRow = Range("d1").End(xlDown).Row+1
    1 point
  20. أخي العزيز أسامة ولا يهمك .. كلنا نخطيء ولكن علينا أن نتعلم من الخطأ حاول أن تنظم أفكارك بشكل جيد ثم ارفق ملف وبه بعض النتائج المتوقعة ليسهل تصور الفكرة وصدقني أن معرفة المشكلة بشكل واضح يمثل 90 % من الحل .. وهذا ما لا يدركه الكثيرون التخبط في فهم المشكلة يجعل الموضوع يطول بدون داعي وتجد كل من يريد تقديم المساعدة يتخبط ويخمن ويعمل على أساس تخمينه والذي ربما لا يكون هو المطلوب ، فيضيع الوقت والجهد هباءً وبدون فائدة آمل أن نتعلم كيف نتعامل مع المشكلات بأسلوب علمي وبمنطق واضح تقبل وافر تقديري واحترامي
    1 point
  21. شكرا لكم اخوتي وبالفعل انتم على حق يبدو ان الشرح لم يكن واضح وكالعاده اخوي ابو البراء انا لا التلفت الى نصائحك قمت بتطبيق المعادلة وقمت بحساب العدد الفائض والعدد الناقص لكنى ادركت نقطه مهمة للغاية انه يجب ان يكون هنالك عدد كلي للشاحنات يعني مثلا متوفر لدي 1000 شاحنه منهم 400 من فئة a و 600 من فئة b على ان اقوم بمراجعة الملف مرة اخرى وتجهيزيه جيدا ومن ثم فتح موضوع جديد بطريقة وصيفة افضل شكرا لكم وجزاكم الله كل خير
    1 point
  22. كل الشكـر والتقدير لاستاذنا الحبيب ومعلمنا القدير ابا خليل كل الشكر استاذى وحبيبى محمد سلامة
    1 point
  23. مرحبا جرب المرفق ترحيل عمود الى عمود وتفريغ الاول.rar
    1 point
  24. الأخ الكريم كعبلاوى بعد السلام عليكم مشكور لمرورك العطر ولكل بمثل ما دعيت به
    1 point
  25. السلام عليكم يعني : أنت حسبت مجموع الشاحنات الفائضة وهو 118 ووضعتها في الخلية M3 وحسبت مجموع الشاحنات الناقصة وهو 451 ووضعتها في الخلية M4 فالفارق بين الرقمين هو 333=118-451 لصالح الشاحنات الناقصة إذن عندك نقص مقداره 333 شاحنة , كيف الأن تريد معالجة هذا النقص ؟ أين تريد وضع المعادلات ؟ في أي عمود ؟ أرجو التوضيح أكثر تقبل تحياتي
    1 point
  26. السلام عليكم الأخ المكرم مصطفى شاهين اسمح لي أن أقول لك: جزاك الله خيرًا معلومة مفيدة جدًا وتدل على خيرة ممتازة. جزاك الله خيرا ونفع بك وجعلها في ميزان حسناتك
    1 point
  27. بارك الله فيك ياابا جودي وهذا الرابط مثل مثالك وبكود بسيط لاستاذنا المبدع ابوخليل
    1 point
  28. برنامج ادارة التدقيق الداخلي عبارة عن قاعدة بيانات خاصة باعمال التدقيق الداخلي وفق المعايير الدوليية للمارسه مهنة التدقيق الداخلي تم تصميمة من خلال اكسس 2010
    1 point
  29. السلام عليكمالاخوه الكرام : لاحظت ان اغلب الردود لمساعده الاعضاء دون شرح المشكله و كيفيه حلها ولكن الذى يستفيد منها بصوره اساسيه صاحب المشاركه و كذلك من يقوم بالبحث و المعرفه ومن الممكن ان تكون هناك مشاركه بها معلومات قيمه جدا و يمر عليها العضو دون ان يعرف مابها بمجرد ان اسم العنوان لا يعجبه او لا يعبر على مضمون المشاركه 0 ولذلك قررت ان اخصص هذا الموضوع للشرح محاولا ان يكون الشرح باسلوب بسيط و سهل و بصور موضحه 0 فعند تتبعى للمشاركات و جدت ان كثير من الاعضاء يسألون عن الماكرو طريقه انشاءه و فائدته و مما جعلنى ان اقوم بشرح الماكرو و ما الدور الذى يقوم به و كيفيه ربطه بمفتاح لتشغيله 0 الامر يتطلب فى البدايه معلوات بسيطه عن الماكرو : فالماكرو ببساطه هو انك تقوم بتسجيل خطوات معينه سواء ان كانت هذه الخطوات كتابه ارقام او معادلات او حتى التنقل بين الصفحات ثم عند تشغيل الماكرو يقوم بتنفيذ هذه الخطوات مره واحده دون تدخل منك و هناك طريقتان لتسجيل الماكرو 0 الطريقه الاولى : و هى الطريقه السهله فتقوم بتشغيل تسجيل الماكرو ثم تقوم باداء الخطوات التى تريدها ثم توقف التسجيل و بذلك تكون قد انتهيت من صناعه الماكرو , كأنك تقوم بتسجيل شريط أغانى ثم تقوم بعد ذلك بضغط مفتاح Play فتستمع الى الاغنيه التى تقوم بتسجيلها 0 الطريقه الثانيه : تقوم بكتابه الخطوات بلغه Visual Basic الفيجوال بيزيك و سوف نتناولها فى الشرح بشكل مبسط 0 و طبعا ارحب باى سؤال او استفسار او حتى تعديل طالما انه مع طريق الاستفاده للجميع 0 و اتمنى ان يكون هذا الموضوع صدقه جاريه يستفيد منها الجميع , و لا ينقصنى غير دعوه صالحه يجعلها الله فى ميزان الحسنات يوم القيامه 0 نبدأ بسم الله الرحمن الرحيم الدرس الاول الطريقه الاولى : أفتح الاكسيل و قف فى اعلى الصفحه بجوار Help (مساعده) و اعمل ريت كليك تظهر لك الشاشه التاليه 0 تابع : تابع : تابع : تابع : تابع : هذه طريقه بسيطه لصناعه الماكرو و الى لقاء لشرح كيفيه تشغيل الماكرو عن طريق مفتاح قال رسولنا صلى الله عليه وسلم " من صنع إليكم معروفا فكافئوه، فإن لم تجدوا ما تكافئوه به،فادعوا له حتى تروا أنكم قد كافأتموه "
    1 point
×
×
  • اضف...

Important Information