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

طارق محمود

أوفيسنا
  • Posts

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

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

  • Days Won

    42

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

  1. السلام عليكم أخي العزيز أكتب المعادلة التالية في الخلية B2 ثم إنسخها للأسفل =IF(OR(LEN(A1)=0,LEN(A2)>0),"",A1) أو تفضل المرفق test2.rar
  2. لابد أن ترجع للسطر السابق N = Cells(Rows.Count, "H").End(xlUp).Row بفرض أن عندك بيانات في العمود H حتي السطر 20 فهذا الأمر يجعل مؤشر الإكسل يذهب للخلية H65536 (مثلا آخر خلية في إكسل 2003) ثم يصعد حتي يجد بيانات وفي هذا المثال سيجد البيانات في الخلية H20 إذن سيعطي المتغير N قيمة رقم السطر = 20 ومن هنا نأتي لهذا الجزء من السطر الثاني SUM(H1:H" & N & ") إذا عوضت عن N بالرقم 20 ستكون المعادلة SUM(H1:H20) وأيضا الجزء الأول من السطر الثاني Cells(N + 1, "H").Formula تعني صيغة المعادلة بالخلية H21 (إذا عوضت عن N بالرقم 20) إذن السطر الثاني كاملا Cells(N + 1, "H").Formula = "=SUM(H1:H" & N & ")" يعني إجعل صيغة المعادلة بالخلية H21 = SUM(H1:H20)
  3. السلام عليكم ليس هذا هو السبب تم علاج ذلك في الكود تم علاج ذلك أيضا في الكود تفضل الكود أستبدله بالذي عندك Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.DisplayAlerts = False ActiveSheet.Unprotect If Target.Column <> 2 Or Target.Row < 2 Then Exit Sub If Target.Count <> 1 Then For Each ce In Target If ce.Value = "" Then Range(ce.Offset(0, 1), ce.Offset(0, 9)).ClearContents Next ce Exit Sub End If If Target.Value = Empty Then Range(Target.Offset(0, 1), Target.Offset(0, 9)).Value = Empty: Exit Sub If Not Intersect(Target, Range("b2:b60000")) Is Nothing Then Target.Offset(0, 9).FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-9],list,2,FALSE)),"""",VLOOKUP(RC[-9],list,2,FALSE))" ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFiltering:=True Exit Sub End If Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.DisplayAlerts = True End Sub
  4. السلام عليكم أخي / عيد مصطفى أنظر المرفق بالتنسيق الشرطي REMINDER.rar
  5. السلام عليكم أخي العزيز معذرة عدل الكود إلي Sub SameCells() On Error Resume Next Dim Fil As String, A(99, 99) As Long '============================================================ x = ActiveWorkbook.Name Fil = Dir(ActiveWorkbook.Path & "\" & "*.xls") Do Until Fil = "" If Fil = x Then GoTo 10 Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & Fil For cc = 1 To 8 ' Columns A:H For rr = 1 To 20 ' Rows A(rr, cc) = A(rr, cc) + Cells(rr, cc) Next rr Next cc ActiveWorkbook.Close 10 Fil = Dir Loop For cc = 1 To 8 ' Columns A:H For rr = 1 To 20 ' Rows Cells(rr, cc) = A(rr, cc) Next rr Next cc End Sub بمعني آخر ، إستبدل السطر Workbooks.Open Filename:= Fil بالتالي Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & Fil أو المرفق بعد التعديل TOTAL.rar
  6. السلام عليكم كنت قد بدأت العمل علي هذا الموضوع ثم نسيته عذرا لإنشغالي تفضل الملف وبه بعض الطلبات عند الضغط على شيت المطلوب يثم تشغيل اليوزر فورم ضبط تنسيق التاريخ (حيث يظهر أرقام غريبة) عمل مربع بحث يظهر كل العمال الحاضرين فى يوم ما المرفق Mas_Attendance_Roll_1.rar
  7. السلام عليكم أخي وليد لازم تحدد المشكلة فالشيت ليس متواضع وليس به مكرو واحد أنا فتحت فقط (شيت الصف الثانى) وجدت به اكثر من 40 ماكرو لابد ان تشير إلي الكود الذي إسمه كذا لايعمل أو الموجود بالورقة كذا يلزم أن تساعد من يريد المساعدة
  8. جرب أخي الكود التالي Worksheets(CurrentSheetName).Range("I12", [I120000].End(xlUp).Offset(1, 0)).FormulaR1C1 = "=rc[-1]*rc[-2]"
  9. لا ياأخي ، لم أغلقها عندي رسائل من يوم ومن يومين .. طبيعي راسلني علي الإميل لو فيه ضرورة tarekmahmoud_2@hotmail.com
  10. السلام عليكم لم أفهم جيدا أنظر المرفق قد يكون هو ماتريد Dadavalidation_autocomlet3.rar
  11. السلام عليكم أخي العزيز (1) أنا فرضت انك سوف تضغط الزر فقط في الورقة الأخيرة فعادة ماتحتاج لزيادة ورقة بعد آخر يوم انت سجلته فالكود يقرأ التاريخ من الخلية A1 في الورقة التي ضغطت عليه بها ثم يزيد علي هذا التاريخ (1) ويكون ورقة جديدة تحمل اسم هذا التاريخ الجديد أنظر الفيديو المرفق (2) أي خلية (أو خلايا) بالضبط تريد ترحيلها؟ (3) أولا نتبع نصيحة أخونا العيدروس وفعلا وبإذن الله ستجد الكثير بالمنتدي إبحث إبحث إبحث وإجتهد وستنال ماترجو إن شاء الله ورقة جديدة.rar
  12. السلام عليكم بعد إذن اخي العيدروس تفضل أخي المرفق به ماطلبت علي أساس أنه (1) مجال عمل الكود هو في A1:H20 في جميع الملفات (2) سنستخدم فقط البيانات الموجودة في الورقة النشطة بمعني أنه مثلا الملف الثاني كان مغلق وهو علي الورقة2 فسيأخذ الكود منه بيانات الورقة2 وهكذا إن كنت تريد غير ذلك فلابد من ضمان أن جميع الملفات بما فيها ملف التجميع يحتوون علي نفس عدد الورقات وايضا ممكن التعديل لينقل الأوراق ذات الإسم المتشابه في نفس الإسم في ملف التجميع ولكنه الآن يعمل مع الورقة النشطة فقط فكرة العمل أنه سيفتح الملفات ويغلقها واحدا تلو الآخر ويخزن البيانات في متغير لديه ثم يضع هذا المتغير أخيرا بالملف TOTAL تفضل المرفق Has100.rar
  13. السلام عليكم إن كنت تقصد عدد العمال (1) في شيت (Data_Entry) ____(أ) في كود shift_Biomass ........ c = WorksheetFunction.Match(a, .Range("C4:AH4"), 0) + 2 For r1 = 3 To LastRow For r2 = 5 To 61 ............ تغير الرقم 61 والذي يعبر عن آخر الصف الذي به آخر عامل بالبيوماس ____(ب) في كود shift_Shredders ........ c = WorksheetFunction.Match(a, .Range("C66:AH66"), 0) + 2 For r1 = 39 To LastRow For r2 = 67 To 125 ............ تغير الرقمين 67 ، 125 والذي يعبران عن أول و آخر الصف به عمال المفارم (2) في شيت (المطلوب) كود shift_Biomass لاتغيير كود shift_Shredders تغيير طفيف الرقم 39 هذا الأخير يستبدل برقم الصف الذي تبدأ منه أول عمل في المفارم في شيت (المطلوب) أما إن كنت تقصد عدد الأيام وهي موجودة حاليا في الصف الرابع في المجال C4:AH4 لنفرض انها أصبحت تصل إلي العمود BX مثلا فتستبدل كل AH4 في الكود إلي BX4 وبالنسبة لمسح الخلايا آخر جزء في كلا الكودين ..... If Response <> vbYes Then Exit Sub Range("D1,D3:D33,I3:I33").ClearContents '=========================================== On Error GoTo 0 End Sub هذا المجال أو المجالات "D1,D3:D33,I3:I33" هي التي تتغير في الورقة (المطلوب) فلتغيرها حسب التعديلات
  14. أخي العيدروس أعتقد أن أخونا hsa100 يعني أن الخلية A1 في الملف المجمع يكون بها رقم يساوي A1 في الملف1+A1 في الملف2 وهكذا أخي العزيز hsa100 من الأفضل تحديد مجال لعمل الكود مارأيك في A1::H20 مثلا
  15. اذا ذكر الأخ العزيز والأستاذ الفاضل / يحيى حسين ملك المعادلات ولاسيما الــ SUMPRODUCT فليتنحي الجميع طبعا
  16. جزاك الله خيرا اخي العيدروس كلنا نستفيد ونتعلم من بعضنا في هذا المنتدي الأكثر من رائع أنا تعلمنت هنا اكثر بكثير مما أعطيت ليجعل الله هذا كله في موازيننا جميعا
  17. السلام عليكم في حالة أن يكون بالشهر 4 جمعات مثلا والمعادلة انتجت 5 ينتج من MIN الأقل منهما مثلا المعادلة = MIN(A,B) تنتج الأقل من A ، B الدالة weekday تعطيها تاريخ فتأتي بترتيب اليوم بين أيام الأسبوع في هذا التاريخ ولكنها تبدأ الأسبوع بيوم الأحد ، لذلك فيوم الأحد ينتج (1) ويوم الأثنين ينتج (2) ، ... ويوم السبت ينتج (6) الرابط بين المعادلات جميعا في الخلايا (AO3:AQ3) هو أنك تحسب كم لأسبوع صحيح بين التاريخين وبالتالي إذا كان عندك مثلا بين التاريخين 26 يوم فهذه 3 أسابيع كاملة يعني 3 جمعات ويتبقي بعد القسمة علي 7 (26-21) خمسة أيام فإذا كان بداية التاريخين مثلا يوم الثلاثاء فهذا يعني أنك بعد 3 أسابيع سليمة (بها 3 جمعات) سيبقي لديك 5 أيام يبدأن بالثلاثاء بمعلومية ان الثلاثاء هو اليوم رقم 3 في الأسبوع وبإضافة 5 ينتج 8 (اكبر من 7) إذن نضيف يوم جمعة آخر أما لو في نفس المثال بدأنا من يوم الأحد (رقم 1 في الأسبوع ) وبإضافة 5 ينتج 6 (اصغر من 7) إذن لانضيف يوم جمعة ولو في نفس المثال بدأنا من يوم السبت (رقم 6 في الأسبوع في هذه الالة فقط نطرح 7 لأنه بدأ قبل يوم بداية الأسبوع فيكون اليوم رقمه (-1)) وبإضافة 5 ينتج 4 (اصغر من 7) إذن لانضيف يوم جمعة
  18. السلام عليكم أخي الكريم أولا ، بعد إذنك أنا لغيت الموضوعين اللذان كانا بنفس الإسم ولم يكن بهما مرفقات ثانيا ، تفضل المرفق به ماتريد إن شاء الله كشف حركة الخزينة.rar
  19. أخي الفاضل jazea الحمد لله الذي بنعمته تتم الصالحات _____________________________________ أخي الفاضل وأستاذي / أبوعبدالله شرف كبير مروكم الكريم واكبر منه إطرائك لعملي المتواضع جزاكم الله خيرا
  20. السلام عليكم اخي سعيد الرقم الموضوع في الخلية C2 وهو 3750 ليس مضبوطا احتساب المدة من 2011/9/1 وحتى تاريخ القطع = 90 يوم مضروبا فى القيمة بالخلية A2*25% =112,500 إذا كان هذا الراتب سنوي سيتم القسمة علي 365 مثلا أو شهري فيتم القسمة علي 30 أنظر المرفق حساب قيمة معينه خلال مدتين مختلفتين2.rar
  21. السلام عليكم تفضل أخي المرفق علي الرابط http://www.4shared.com/rar/Azmx4VWU/__TAREQ.html
  22. السلام عليكم صحيح كلامك ، فهمت ممكن تغير المعادلة في الخلية AI5 إلي =MIN(IF($AH5<=5,0,IF($AH5<=13,1,IF($AH5<=20,2,IF($AH5<=23,3,IF($AH5=24,4,IF($AH5>=26,5,IF(AND($AH5=25,$AN$3=5,$AR$4=30),5,4))))))),$AN$3) ثم تنسخها كمعادلة لباقي الخلايا أو تفضل المرفق Extra_Req_TAREQ2.rar
×
×
  • اضف...

Important Information