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

أ / محمد صالح

أوفيسنا
  • Posts

    3,373
  • تاريخ الانضمام

  • Days Won

    92

Community Answers

  1. أ / محمد صالح's post in طلب كود اخفاء اعمدة was marked as the answer   
    يمكنك استعمال هذا الكود للإخفاء
    Sub hideblank() For n = 2 To 151 If Cells(5, n) = "" Then Columns(n).Hidden = True Next n End Sub وهذا لإظهار الكل
    Sub showblank() Columns("b:eu").Hidden = False End Sub بالتوفيق 
  2. أ / محمد صالح's post in خطأ عند استخدام دوال SUMIFS و COUNTIFS was marked as the answer   
    نظرا لوجود معادلة في العمود F ويكون ناتجها 0 في حالة عدم وجود أرقام
    ينبغي تعديل معادلة العد في الخلية R4 إلى 
    =COUNTIFS(B:B,Q4,F:F,">"&0) بالتوفيق 
  3. أ / محمد صالح's post in كيف يتم إحتساب غرامة التأخير على الدوام لمن خالف اللوائح التنظيمية وقواعد سير العمل. was marked as the answer   
    أخي الكريم اعذرني طريقة تنظيم الملف لا تساعد في الوصول للمطلوب
    تحتاج أولا إلى استعمال تنسيق الوقت 24 لضبط مواعيد الفترة الثانية وكل المواعيد بعد 12 ظهرا
    لأنها مثلا تعتبر 12:45 أكبر من 1:00
    وأقترح توفير عمودي موعد الحضور في الفترتين وكتابتهم في خليتين أعلى الجدول لأنهم ثابتان طوال الشهر
    بعد الحصول على مدة التأخير الصحيحة يمكن عمل الشروط الخاصة بالخصم عليها فيما يخصص دقائق التأخير
    وهذه معادلة مقترحة لحساب تأخير 1 وتأخير 2
    بالتوفيق 
    دوام ماهر الغيلي.xlsx
  4. أ / محمد صالح's post in تصحيح الدالة was marked as the answer   
    جرب حذف = التي قبل address
    أو
    إن شاء الله يفيدك هذا الموضوع المشابه 
    بالتوفيق 
     
  5. أ / محمد صالح's post in احتاج مساعدة ضرورية في تحويل dataset من عمود الى سجل was marked as the answer   
    تفضل 
    إن شاء اللّه يفيدك هذا المرفق
    EXAMPLE.xlsb
  6. أ / محمد صالح's post in الساعة الرقمية was marked as the answer   
    هذا الخطأ يظهر نتيجة
    إغلاق النموذج من زر الإغلاق والصواب حسب الكود كلك يمين على الزر الأيمن للساعة
    ولتعديل ذلك حتى ينتهي تنفيذ الكود مع الغلق من زر الغلق
    نقل آخر سطر من حدث UserForm_Initialize إلى حدث.UserForm_Activate
    مع إضافة هذا الحدث الخاص بزر الإغلاق
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) OK = False Me.Hide End Sub بالتوفيق 
  7. أ / محمد صالح's post in مشكلة الكسور العشرية في دمج المراسلات was marked as the answer   
    عليكم السلام و رحمة الله وبركاته 
    كلك يمين على الحقل المراد تنسيقه
    ثم اختيار Toggle Field Codes تبديل رموز الحقول
    إضافة التنسيق قبل قوس الغلق ليصبح هكذا
    {MERGEFIELD FieldName \#0.0} حيث FieldName اسم الحقل المراد تنسيقه
    بالتوفيق
  8. أ / محمد صالح's post in حل مشكله ترحيل صفوف فارغة عند استخدام كود vba was marked as the answer   
    إذا تم تحويل الجدول إلى نطاق convert table to range من تبويب تصميم الجدول table design 
    مع تغيير العمود E في هذا السطر 
    Range("b2:h" & Cells(Rows.Count, "E").End(xlUp).Row).Copy إلى العمود B
    ستحصل على ما تريد
    بالتوفيق 
  9. أ / محمد صالح's post in مساعده في ترحيل بيانات الصف بشرط معين was marked as the answer   
    يمكنك الاستغناء عن باقي شيتات الشهور
    حيث أن المعادلة تجلب بيانات جمبع الشهور 
    بعد كتابة تاريخ بداية الشهر المطلوب (أو أي تاريخ منه) في الخلية A1
    بالتوفيق 
    جلب بيانات الشهور.xlsx
  10. أ / محمد صالح's post in حماية cells مع التعديل اوتوماتيكالي was marked as the answer   
    * يمكن بعمل حماية للخلايا بكلمة مرور
    هكذا لا يمكن التعديل اليدوي إلا بكتابة كلمة المرور
    * وبالنسبة لتعديل الخلايا المحمية بالكود
    فيجب وضع سطر فك الحماية في بداية الإجراء 
    ActiveSheet.UnProtect password:="mas" ويجب وضع سطر الحماية قبل نهاية الإجراء 
    ActiveSheet.Protect password:="mas" حيث mas هي كلمة المرور المطلوبة
    بالتوفيق 
  11. أ / محمد صالح's post in كود مواد الدور الثاني was marked as the answer   
    المتغير k يزيد بمقدار 1 وهو المسئول عن وضع المواد في الأعمدة من 114 وما بعدها
    لذا ينبغي تعديل هذه السطور
    Cells(i, k ) = Cells(4, y - 2) k = k + 1 Else Cells(i, k ) = "" إلى
    Cells(i, k + (y - 10) / 9) = Cells(4, y - 2) Else Cells(i, k + (y - 10) / 9) = "" لأن y بدايتها 10 والخطوات 9
    ويوجد في الفصل الثاني  نفس الكود ولكن بداية y هي 16
    بالتوفيق
     
  12. أ / محمد صالح's post in المطلوب اضافة شرط ثالث للكود يعمل علي العمود c was marked as the answer   
    يمكنك إضافة العمود c في الترتيب المطلوب
    هنا تم اعتباره المستوى الثالث للترتيب
    Sub a_b() Application.GoTo Reference:="sheet" Selection.Sort Key1:=Range("E7"), Order1:=xlAscending, Key2:=Range("F7") _ , Order2:=xlAscending, Key3:=Range("c7"), Order3:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _ :=xlSortNormal, DataOption3:=xlSortNormal Range("A1").Select End Sub لاحظ إضافة key و order و dataoption لكل مستوى فرز
    بالتوفيق
  13. أ / محمد صالح's post in مشكله بعد التسطيب was marked as the answer   
    يتوقف الأمر على طريقة التحويل إلى ملف تنفيذي 
    وعلى كود الحفظ المستخدم 
  14. أ / محمد صالح's post in مشكلة في التواريخ was marked as the answer   
    السبب في ذلك هو طريقة إدخال البيانات
    حيث تم التعامل مع التاريخ على أنه نص وليس تاريخا
    والحل
    استعمال المعادلة التالية في الخلية G3
    =VALUE(F3) مع سحب المعادلة لأسفل
    ثم نسخ بيانات هذا العمود الجديد
    ولصقها في عمود التاريخ كقيم
    مع تنسيق عمود التاريخ كتاريخ
    بعدها يمكن حذف العمود F
    بالتوفيق 
  15. أ / محمد صالح's post in ترحيل الدرجات was marked as the answer   
    يمكنك استعمال هذا الاجراء
    Sub tr7eel() For r = 4 To Cells(Rows.Count, 2).End(3).Row r2 = Evaluate("=MATCH(B" & r & ",'الدور الثانى'!B:B,0)") c2 = Evaluate("=MATCH(C" & r & ",'الدور الثانى'!3:3,0)") Sheet2.Cells(r2, c2) = Range("d" & r) Next r MsgBox "Done by mr-mas.com" End Sub بالتوفيق
  16. أ / محمد صالح's post in تكملة شيت مخازن وتحويلات فروع was marked as the answer   
    أولا أحييك على فكرتك
    تم الاعتماد في التسجيل على رقم الصنف والمعادلة تجلب اسمه منعا من اللخبطة في الاسم واختلاف المسافات الزائدة
    يتم إضافة الرصيد المبدئي الحالي في شيت دليل أمام كل صنف وتحت كل فرع
    يتم تسجيل باقي الشيتات ستجد الجرد قد تم تحديثه 
    بالتوفيق
    جرد فروع.xlsx
  17. أ / محمد صالح's post in حماية ورقة عمل اكسل في ون درايف was marked as the answer   
    حماية ورقة العمل في وندرايف اكسل اونلاين هي نفسها في اكسل سطح المكتب 
    حدد جميع الخلايا ومن تنسيق الخلايا تبويب حماية و اختر مؤمن مخفي
    واجعل الخلية التي تريد عدم حمايتها العكس
    ثم من تبويب مراجعة حماية ورقة العمل واكتب كلمة المرور
    ويفضل التنفيذ من خلال اكسل سطح المكتب
    بالتوفيق 
  18. أ / محمد صالح's post in مساعدة في ترحيل تقييم الشعبة من شيت إلى شيت آخر وفقاً لرقم الشعبة was marked as the answer   
    بعض الناس تريد أن تتعلم وبعضهم للأسف يريد الحل جاهزا
    تم عمل المطلوب بالمرفق
    بالتوفيق 
     
    ‏‏برنامج تقييم الزيارات عن بعد للوحدات مكرر - نسخة.xlsb
  19. أ / محمد صالح's post in مساعدة في ترتيب الارقام تصاعديا في ملف اكسيل was marked as the answer   
    ينغي فك الدمج  في جميع الخلابا المدمجة قبل استعمال الفرز أو الترتيب
    بعد فك الدمج في الأعمدة
    وتحديد أول صف قبل البيانات
    والضغط على زر التصفية filter في تبويب بيانات data (رمز القمع)
    سيتحقق المطلوب بإذن الله
  20. أ / محمد صالح's post in اظهار الاستقطاع على اساس الرقم التعريفي ورقم المستند was marked as the answer   
    هذه معادلة البحث بشرطين باستخدام index match
    إن شاء اللّه تكون المطلوب
    بالتوفيق 
    اظهار الاستقطاع على اساس الرقم التعريفي ورقم المستند.xlsx
  21. أ / محمد صالح's post in مساعدة في كود ترحيل was marked as the answer   
    يمكنك استعمال هذا الكود في حدث عند التغيير في شيت سعد
    ولمن لا يعرف كيفية إضافة الكود في أحداث الصفحة
    كلك يمين على اسم الشيت ونختار view code بالعربي عرض التعليمات البرمجية
    ثم نلصق الكود
    Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$F$5" Then Sheet24.Range("b10:i1000").ClearContents For r = 3 To Sheet14.Cells(Rows.Count, 2).End(3).Row If Sheet14.Range("n" & r) = Target Then lr = Sheet24.Cells(Rows.Count, 2).End(3).Row + 1 cols = Array(3, 2, 9, 10, 11, 5, 14, 15) For n = 2 To 9 Sheet24.Cells(lr, n) = Sheet14.Cells(r, cols(n - 2)) Next n: End If: Next r MsgBox "Done by mr-mas.com" End If End Sub بالتوفيق
  22. أ / محمد صالح's post in Fichier pdf غير موجودة على import data was marked as the answer   
    عليكم السلام
    على حسب الصورة الأمر مفعل
    بعد الضغط عليه يتم تحميل دوت نت ويبدأ في عرض معالج الاستيراد ولكن يحتاج إلى وقت حسب امكانيات الجهاز
    لكنه لا يدعم للغة العربية للأسف
    هذا الأمر لمشتركي أوفيس 365 فقط حتى الآن
    بالتوفيق
  23. أ / محمد صالح's post in خطأ فى كود الترحيل was marked as the answer   
    إذا كنت تقصد كود زر الإضافة
    لا يتم الترحيل إلى. B2 وإنما إلى B50
    وذلك بسبب قراءتك لآخر صف في sheet2 باسمها الكودي والتي تشير إلى شيت final
    والصواب
    Last = ورقة3.Range("B304").End(xlUp).Row + 1 بالتوفيق
  24. أ / محمد صالح's post in شرح هذا السطر من الكود was marked as the answer   
    يبدو أن حضرتك ما قرأت هذا السطر
    يعني بعد تنفيذ الإجراء نذهب إلى الخلية K11 ستجد بها المعادلة بصورتها الطبيعية المعروفة التي يمكن فهما بصورة عادية
    أرجو أن يكون الأمر اتضح وتم تفسير الغموض
    وإذا كنت تريد قراءتها بالصورة العادية في الكود يمكنك تغيير سطر المعادلة  .FormulaR1C1 بهذا السطر
    .Formula = "=IF(COUNT($J11:J11)=0,IF(IF(AND(IF(K$2="""",TRUE,$C11=K$2),IF(K$3="""",TRUE,$D11=K$3),IF(K$4="""",TRUE,$E11=K$4),IF(K$5="""",TRUE,$F11=K$5),IF(K$6="""",TRUE,$G11=K$6),IF(K$7="""",TRUE,$H11=K$7)),COUNT(K$10:K10)+1,"""")>K$9,"""",IF(AND(IF(K$2="""",TRUE,$C11=K$2),IF(K$3="""",TRUE,$D11=K$3),IF(K$4="""",TRUE,$E11=K$4),IF(K$5="""",TRUE,$F11=K$5),IF(K$6="""",TRUE,$G11=K$6),IF(K$7="""",TRUE,$H11=K$7)),COUNT(K$10:K10)+1,"""")),"""")" وهي نفسها المعادلة الموجودة في K11
    بالتوفيق 
  25. أ / محمد صالح's post in محتاج كود تجميع شيتات was marked as the answer   
    هل تقصد نسخ البيانات من الشيتات المحددة إلى شيت مجمع شيتات؟
    وإذا كان هذا هو المقصود
    فيمكنك استعمال هذا الكود
    Sub getdata2() Sheet1.Range("a3:o" & Sheet1.Cells(Rows.Count, 2).End(3).Row + 2).ClearContents mysh = Array("1", "2", "3", "4", "هناء", "مني") For Each n In mysh lr = Sheets(n).Cells(Rows.Count, 2).End(3).Row If lr > 2 Then lr2 = Sheet1.Cells(Rows.Count, 2).End(3).Row + 1 lr2 = IIf(lr2 < 3, 3, lr2) Sheet1.Range("b" & lr2 & ":o" & lr2 + lr - 3).Value = Sheets(n).Range("b3:o" & lr).Value End If: Next n Sheet1.Range("A3").Value = 1 Sheet1.Range("A3").AutoFill Destination:=Range("A3:A" & lr2 + lr - 3), Type:=xlFillSeries Sheet1.Range("A3").Select MsgBox "Done by mr-mas.com" End Sub الكود يقوم بنسخ بيانات الشيتات الموجودة في المصفوفة إلى شيت مجمع شيتات ويقوم بوضع مسلسل للكل
    مع ضرورة تنسيق الأعمدة حسب نوع البيانات التي ستكون فيها مثل التواريخ والأرقام الكبيرة والنصوص
    بالتوفيق
×
×
  • اضف...

Important Information