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

سليم حاصبيا

أوفيسنا
  • Posts

    8,723
  • تاريخ الانضمام

  • Days Won

    262

كل منشورات العضو سليم حاصبيا

  1. على الرغم اني لا أعمل على اليوزر ولا أطيق العمل عليه(حيث هناك عدة خيارات بواسطة الفلتر و الفلتر المتقدم الخ.......) تم معالجة الامر filteringby_user.xlsm
  2. ربما تستفيد من هذا الملف Working_time.xlsx
  3. لاستعمال الماكرو الذي كتبته لك يجب كتابة كلمة Status في الخلية G1
  4. بعد اذن اخي علي هذا الكود Option Explicit Sub filter_for_ME() With Application .ScreenUpdating = False .Calculation = xlCalculationManual End With Dim S_sh As Worksheet: Set S_sh = Sheets("المرحلة الابتدائية") Dim T_sh As Worksheet Dim My_Table As Range: Set My_Table = S_sh.Range("A1").CurrentRegion For Each T_sh In Worksheets If T_sh.Name <> S_sh.Name Then With T_sh .Cells.ClearContents .Range("z1") = "Status": .Range("z2") = T_sh.Name My_Table.AdvancedFilter Action:=2, _ CriteriaRange:=.Range("z1:z2"), _ CopyToRange:=T_sh.Range("A1") .Range("z1:z2") = vbNullString End With End If Next With Application .ScreenUpdating = True .Calculation = xlCalculationAutomatic End With End Sub الملف مرفق سداد_Salim.xls
  5. جرب هذا الملف ساعات العمل.xls
  6. جرب هذا الملف مصروفاتت Salim.xlsx
  7. ربما يكون عندك خطأ مطبعي في جدول الـــــــ Vlookup مثلاً Jun واردة Jan
  8. الملف ليس به أي حطأ ربما يجب توسيع العامود A قليلاً لترى النتيجة
  9. جرب هذا الملف Month_Cal.xlsm
  10. هذه المعادلة =SUM(C2:J2)-MIN(C2:J2) و قي حال يوجد اكثر من رقم متساويين ويساوون اصغر رقم في المجموعة مثلاً 100و 100 و100و 100و100و 60 و 60 هذه المعادلة =SUM(C2:J2)-MIN(C2:J2)*COUNTIF(C2:J2,MIN(C2:J2))
  11. نزولاُ عند رغبة بعض الأصدقاء و متابعة للموضوع على هذا العنوان ( المراتب من 1 الى مئة) http://www.officena.net/ib/topic/84849-المراتب-من-1-الى-100/ تم زيادة النطاق لغاية الرقم 1000 و بذلك يكتب لك الاكسل مثلاً الرقم 125 (مئة وخمسة وعشرون) : الرقم 934 (تسعمئة وأربعة وثلاثون) الكود Option Explicit Function Order_Salim(cel) Dim degree$, i%, My_num1%, My_num2% Dim aHad$, Asharat$ If Not IsNumeric(cel) Then Order_Salim = "N/A": Exit Function If cel = 100 Then Order_Salim = "المائة": Exit Function End If If cel > 100 Then Order_Salim = "too Big Number": Exit Function End If cel = Int(Abs(cel)) Dim deg1$, deg2$, deg3$, deg4$, deg5$, deg6$, deg7$, deg8$, deg9$, deg10$ deg1 = "الأوّل": deg2 = "الثّاني": deg3 = "الثّالث": deg4 = "الرّابع" deg5 = "الخامس": deg6 = "السّادس": deg7 = "السّابع": deg8 = "الثّامن": deg9 = "التّاسع": deg10 = "العاشر" Dim deg01$, deg02$, deg03$, deg04$, deg05$, deg06$, deg07$, deg08$, deg09$ deg01 = "عشر": deg02 = "والعشرون": deg03 = "والثّلاثون": deg04 = "والأربعون": deg05 = "والخمسون" deg06 = "والستون": deg07 = "والسّبعون": deg08 = "والثّمانون": deg09 = "والتّسعون" If cel < 11 Then Select Case cel Case Is = 1: degree = deg1 Case Is = 2: degree = deg2 Case Is = 3: degree = deg3 Case Is = 4: degree = deg4 Case Is = 5: degree = deg5 Case Is = 6: degree = deg6 Case Is = 7: degree = deg7 Case Is = 8: degree = deg8 Case Is = 9: degree = deg9 Case Is = 10: degree = deg10 End Select Order_Salim = degree: Exit Function Else My_num1 = Mid(cel, 2, 1) '=========================== Select Case My_num1 '======================= Case Is = 1: aHad = "الحادي" Case Is = 2: aHad = deg2 Case Is = 3: aHad = deg3 Case Is = 4: aHad = deg4 Case Is = 5: aHad = deg5 Case Is = 6: aHad = deg6 Case Is = 7: aHad = deg7 Case Is = 8: aHad = deg8 Case Is = 9: aHad = deg9 End Select '====================== My_num2 = Mid(cel, 1, 1) Select Case My_num2 Case Is = 1: Asharat = deg01 Case Is = 2: Asharat = deg02 Case Is = 3: Asharat = deg03 Case Is = 4: Asharat = deg04 Case Is = 5: Asharat = deg05 Case Is = 6: Asharat = deg06 Case Is = 7: Asharat = deg07 Case Is = 8: Asharat = deg08 Case Is = 9: Asharat = deg09 End Select If My_num1 = 0 Then Order_Salim = Right(aHad & " " & Asharat, Len(aHad & " " & Asharat) - 2) Else Order_Salim = aHad & " " & Asharat End If End If End Function Function OrdeUP100(cel) If Not IsNumeric(cel) Or Int(cel) <> cel Or Int(cel) <= 0 Then OrdeUP100 = "ERROR": Exit Function End If If cel = 1000 Then OrdeUP100 = "الألف": Exit Function If cel > 1000 Then OrdeUP100 = "Too Large Integer": Exit Function Dim Mi3at, Free, Martab1 If cel <= 99 Then OrdeUP100 = Order_Salim(cel): Exit Function Select Case Left(cel, 1) Case Is = 1: Mi3at = "مئة" Case Is = 2: Mi3at = "مئتين" Case Is = 3: Mi3at = "ثلاثمائة" Case Is = 4: Mi3at = "أربعمئة" Case Is = 5: Mi3at = "خمسمئة" Case Is = 6: Mi3at = "ستممئة" Case Is = 7: Mi3at = "سبعمئة" Case Is = 8: Mi3at = "ثمانمئة" Case Is = 9: Mi3at = "تسعممئة" End Select If Mid(cel, 2, 1) = 0 Then Free = Right(cel, 1) Select Case Free Case 0: Martab1 = "" Case 1: Martab1 = " وواحد" Case 2: Martab1 = "وإثنين" Case 3: Martab1 = "وثلاثة" Case 4: Martab1 = "وأربعة" Case 5: Martab1 = "وخمسة" Case 6: Martab1 = "وستة" Case 7: Martab1 = "وسبعة" Case 8: Martab1 = "وثمانية" Case 9: Martab1 = "وتسعة" End Select OrdeUP100 = Mi3at & " " & Martab1: Exit Function End If OrdeUP100 = Mi3at & " و" & Order_Salim(Mid(cel, 2, 2) * 1) End Function الملف مرفق order_up_to_1000.xlsm
  12. جرب هذه الكود Option Explicit 'Created By Salim Hasbaya 25/10/2018 Function Order_Salim(cel) Dim degree$, i%, My_num1%, My_num2% Dim aHad$, Asharat$ If Not IsNumeric(cel) Then Order_Salim = "N/A": Exit Function If cel = 100 Then Order_Salim = "المائة": Exit Function End If If cel > 100 Then Order_Salim = "too Big Number": Exit Function End If cel = Int(Abs(cel)) Dim deg1$, deg2$, deg3$, deg4$, deg5$, deg6$, deg7$, deg8$, deg9$, deg10$ deg1 = "الأوّل": deg2 = "الثّاني": deg3 = "الثّالث": deg4 = "الرّابع" deg5 = "الخامس": deg6 = "السّادس": deg7 = "السّابع": deg8 = "الثّامن": deg9 = "التّاسع": deg10 = "العاشر" Dim deg01$, deg02$, deg03$, deg04$, deg05$, deg06$, deg07$, deg08$, deg09$ deg01 = "عشر": deg02 = "والعشرون": deg03 = "والثّلاثون": deg04 = "والأربعون": deg05 = "والخمسون" deg06 = "والستون": deg07 = "والسّبعون": deg08 = "والثّمانون": deg09 = "والتّسعون" If cel < 11 Then Select Case cel Case Is = 1: degree = deg1 Case Is = 2: degree = deg2 Case Is = 3: degree = deg3 Case Is = 4: degree = deg4 Case Is = 5: degree = deg5 Case Is = 6: degree = deg6 Case Is = 7: degree = deg7 Case Is = 8: degree = deg8 Case Is = 9: degree = deg9 Case Is = 10: degree = deg10 End Select Order_Salim = degree: Exit Function Else My_num1 = Mid(cel, 2, 1) '=========================== Select Case My_num1 '======================= Case Is = 1: aHad = "الحادي" Case Is = 2: aHad = deg2 Case Is = 3: aHad = deg3 Case Is = 4: aHad = deg4 Case Is = 5: aHad = deg5 Case Is = 6: aHad = deg6 Case Is = 7: aHad = deg7 Case Is = 8: aHad = deg8 Case Is = 9: aHad = deg9 End Select '====================== My_num2 = Mid(cel, 1, 1) Select Case My_num2 Case Is = 1: Asharat = deg01 Case Is = 2: Asharat = deg02 Case Is = 3: Asharat = deg03 Case Is = 4: Asharat = deg04 Case Is = 5: Asharat = deg05 Case Is = 6: Asharat = deg06 Case Is = 7: Asharat = deg07 Case Is = 8: Asharat = deg08 Case Is = 9: Asharat = deg09 End Select If My_num1 = 0 Then Order_Salim = Right(aHad & " " & Asharat, Len(aHad & " " & Asharat) - 2) Else Order_Salim = aHad & " " & Asharat End If End If End Function '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Function OrdeUP100(cel) 'Created By Salim Hasbaya 25/10/2018 If Not IsNumeric(cel) Or Int(cel) <> cel Or Int(cel) <= 0 Then OrdeUP100 = "ERROR": Exit Function End If If cel = 1000 Then OrdeUP100 = "الألف": Exit Function If cel > 1000 Then OrdeUP100 = "Too Large Integer": Exit Function Dim Mi3at, Free, Martab1 If cel <= 99 Then OrdeUP100 = Order_Salim(cel): Exit Function Select Case Left(cel, 1) Case Is = 1: Mi3at = "مئة" Case Is = 2: Mi3at = "مئتين" Case Is = 3: Mi3at = "ثلاثمائة" Case Is = 4: Mi3at = "أربعمئة" Case Is = 5: Mi3at = "خمسمئة" Case Is = 6: Mi3at = "ستممئة" Case Is = 7: Mi3at = "سبعمئة" Case Is = 8: Mi3at = "ثمانمئة" Case Is = 9: Mi3at = "تسعممئة" End Select If Mid(cel, 2, 1) = 0 Then Free = Right(cel, 1) Select Case Free Case 0: Martab1 = "" Case 1: Martab1 = " وواحد" Case 2: Martab1 = "وإثنين" Case 3: Martab1 = "وثلاثة" Case 4: Martab1 = "وأربعة" Case 5: Martab1 = "وخمسة" Case 6: Martab1 = "وستة" Case 7: Martab1 = "وسبعة" Case 8: Martab1 = "وثمانية" Case 9: Martab1 = "وتسعة" End Select OrdeUP100 = Mi3at & " " & Martab1: Exit Function End If OrdeUP100 = Mi3at & " و" & Order_Salim(Mid(cel, 2, 2) * 1) End Function الملف مرفق order_up_to_1000.xlsm
  13. في هذه الحالة هذه المعادلة (لا تعمل الا اذا كانت كل الخلايا B,C &D غير فارغة) =IF(AND(B2<>"",C2<>"",D2<>""),D2&"--"&C2,"") اذا لم تعمل معك استبدل الفاصلة بفاصلة منقوطة لتصبح المعادلة هكذا: =IF(AND(B2<>"";C2<>"";D2<>"");D2&"--"&C2;"")
  14. تم معالجة الامر سليم_الترتيب.xlsm
  15. =D2&" --"&C2 اكتب هذه المعادلة في F2 ثم اسحب نزولاً
  16. في بداية المشاركة كنت تريد الترتيب حتى الرقم 10 و انت مقتنع بهذا الأمر أعطيتك حتى 100 (ماذا جرى ولما الترتيب حتى 500 ) هذا ليس بالأمر السهل اعادة كتابة الدالة المعرفة من جديد
  17. يمكنك الاستعانة بهذا الملف Salim's Order.xlsm
  18. المسافات ممنوعة في Defined name لذلك بدل كتابة WATER FEATURE يجب كتابة WATER_FEATURE اي كتابة Underscore بين الكلمتين انظر الى هذا الملف LIST_SALIM.xlsx
  19. اذا لم تعط المعادلة نتيجة استبدل الفاصلة بفاصلة منقوطة (حسب اعدادات الجهاز عندك ) لتكون المعادلة كما يلي: ثم استبدل الرقم 5 بالرقم الذي تريده =IF(MOD(K7;12)<>0;MOD(K7;12);5)
  20. تحصل على النتيجة صفر اذا كان العدد ينقسم على 12 و هذا شيء طبيعي على ماذا تريد ان تجصل اذا كان الجواب صفر؟ ضع الرقم الذي تريد مكان الرقم 5 في هذه المعادلة =IF(MOD(K7,12)<>0,MOD(K7,12),5)
  21. عليك الا تمسح البيانات من الجدول بل الصفوف باستعمال هذا الماكرو الصغير Sub del_row() ActiveSheet.Rows("2:1000").Delete End Sub
  22. لا حاجة لعمليات الطرح اكثر من مرة استعمل هذا المعادلة =MOD(K7,12)
×
×
  • اضف...

Important Information