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

احمد عبدالحليم

03 عضو مميز
  • Posts

    171
  • تاريخ الانضمام

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

  • Days Won

    7

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

  1. السلام عليكم ورحمه الله وبركاته من وجهة نظرى الصغيرة جدا يمكن تنفيذ ما تقصده فى بعض الحالات النادرة لكن الافضل تحديد كل شي تجنبا لحدوث اخطاء كمان قبل ما تبدأ تفكر فى الكود نفسه انتهى تماما من تصميم وترتيب البيانات بشكل نهائى وضع كل احتمالات اللى محتاجها لانك كل ما هتعدل فى شكل البيانات ومكانها لازم بالتالى تعدل فى الكود
  2. شكرا اخى الفاضل عمر الجزاوى على كلماتك الطيبة
  3. السلام عليكم بها نبدأ اى عمود خاص باسماء الموظفين هل هو العمود a ام b
  4. تفضل اخى الفاضل @عمر الجزاوى قمت باضافة بعد التعديلات كالتالى هذا بخصوص ListBox1 اذا كان رصيد الصنف اقل من او يساوى صفر عدم اضافة الصنف واظهار رسالة بان الرصيد لهذا الصنف قد انتهى عند اختيار الصنف لاكثر من مرة ووصول الكمية لاكبر من رصيد المخزن عدم اضافة الصنف واظهار رسالة بان الرصيد لا يسمح حيث انه لا يصح الصرف اذا كان الرصيد صفر او تعدت الكمية المباعة الرصيد الفعلى للصنف اما بخصوص ListBox2 يمكن ان تقوم بازالة منتج من الفاتورة فقط قم بالنقر على الصنف المراد حذفه من الفاتورة مرتيين تقبل تحياتى المصنف1.xlsm
  5. وعليكم السلام ورحمة الله وبركاته استاذنا الفاضل @Yasser Fathi Albanna المشكلة فى شيت PRODUCTS فى تنسيق الخلايا من A4:A7 عندما قمت بتحديد هذا المدى وكليك يمين واختيار Clear Contents وكتابة الاكواد يدويا المعادلات فى شيت INVOICE تعمل بشكل صحيح ربما سبب المشكلة ان هذه اكواد المنتجات تم نسخها من شيت او ملف اخر ولصقها فى شيت PRODUCTS واخذت نفس تنسيق اضفت الرد فى نفس الوقت مع رد حضرتك تقبل تحياتى
  6. وضح المطلوب اكتر والافضل إرفاق ملف به بيانات لما تريده وتوضيح المطلوب
  7. الحمد لله على تحقيق طلبك ولكن راجع النتائج جيدا حيث ان الكود الاساسى فى العمود A فى الملفات السابقة التى ارفقتها كان يحتوى على 6 او 5 أرقام وكان هناك تشابه كبير فى الاكواد التى تعديلها فى العمود E مما كان يجعل النتائج ليست دقيقة بسبب التشابه الكبير تقبل تحيانى
  8. السلام عليكم ورحمة والله وبركاته هذا نفس الملف الذى تم الاجابة عليه من الاخوة الفاضل ليس به تعديل من حيث تغيير موضع الاعمدة والخلايا كما ذكرت فى اول الموضوع اما الملف المرفق حاليا الكود يعمل ويجلب ايام الغياب
  9. نعم اصبح الاكسل يدغم لغة Python ولكن من الاصدار 2022 وما فوق كما انها ليست مجانية ولكن يمكنك الحصول على نسخة تجريبية مجانية لمدة 30 يومًا. ابحث وهتلاقى دروس كتير وخاصة على اليوتيوب
  10. وعليكم السلام ورحمة الله وبركاته اضرب فى الاكسل واعرضهم فى ListBox
  11. السلام عليكم ورحمة ورحمة الله كان هذا طلبك وتم الاجابة عليه باكثر من طريقة من الاخوة الافاضل انتهى من التصميم ثم فكر فى الحل قم بتغيير التالى x = Columns(1).Cells.Find(Range("N6"), , , 1).Row هنا هتغير حاجتين رقم العمود حيث كان العمود a وهو رقم 1 بالعمود الذى يحتوى على اكواد الموظفين وكمان هتغيير الخلية n6 وهى التى تحتوى على رقم كود الموظف بالخلية الجديدة التى تحتوى على كود الموظف Range("N8") = Cells(x, 2) هنا هتغير حاجتين Range("N8") بالخلية الجديدة التى اصبحت تحتوى على اسم الموظف وكمان هتغير Cells(x, 2) رقم 2 برقم العمود الذى اصبح يحتوى على اسماء الموظفين حسث كان سابقا هو العمود b اى رقم 2 Set r = Cells(x, 1 + Split(Range("N4").Text, "-")(0) * 1).Resize(, 1 + Split(Range("P4").Text, "-")(0) * 1) هنا هتغير Range("N4") باسم الخلية التى تحتوى على تاريخ البداية باسم الخلية الجديدة وكمان هتغيير Range("P4") تاريخ النهاية باسم الخلية الجديدة لتاريخ النهاية واكمل باقى باقى التغييرات بنفس النمط او قم برفع ملف لعمل التعديلات المطلوبة مفيش حد هيكتب توقعات على اساس التعديل الذى قمت به تقبل تحياتى
  12. وعليكم السلام ورحمة الله وبركاته حبا وتقديرا للاستاذ الفاضل @ياسر خليل أبو البراء تفضل مواقيت الصلاة.xlsb
  13. وعليكم السلام ورحمة الله وبركاته تفضل Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Me.Frame1.Visible = False End Sub
  14. استاذنا الفاضل ومعلمنا @أ / محمد صالح حل اكثر من رائع وغاية السهولة واليسر تقبل تحياتى
  15. وعليكم السلام ورحمة الله وبركاته تفضل اخى @husain alhammadi ملحوظة مهمة جدا يجب ان يكون اسماء الشيتات هى نفسها فى شيت الرئيسية (وذا كان هناك اسم شيت غير متطابق مع نفس اسم الشيت فى الشيت الرئسيى سوف تظهر رسالة تخبرك بهذا الشيت غير متطابق واتمنى بعد وضع الكلمات وترجمتها لهذه اللغات ان ترفع الملف لنا مرة اخرى فكرة رائعة بل اكثر من رائعة تقبل تحياتى ترجمة.2xlsm.xlsm
  16. جرب هذه الكود التالى لعله يكون المطلوب Attendance Report Work Sheet.xlsm
  17. وعليكم السلام ورحمة الله وبركاته تفضل اخى جرب الملف =IF(R3*24 < 8;"";INT(R3*24/8)) هذه المعادلة لحساب الايام واليوم = 8 ساعات وتم الضرب فى 24 وهو عدد ساعات اليوم الواحد ولتحويل الوقت الى رقم والدالة INT للحصول على الرقم الصحيح بدون كسر =IF(R3*24<8;R3;R3-S3*8/24) وهذه المعادلة لحساب عدد الساعات الباقية من الايام Book7.xlsx
  18. الشكر لله وجزاكم الله من جميع أبواب الخير تحياتى
  19. وعليكم السلام ورحمة الله وبركاته تفضل اخى جرب الملف الكود فى حدث الشيت Change Private Sub Worksheet_Change(ByVal Target As Range) Dim filterRange As Range Dim dataRange As Range Dim lastRow As Long Dim lastRow2 As Long Application.ScreenUpdating = False If Target.Address = "$P$4" Then lastRow2 = Cells(Rows.Count, "P").End(xlUp).Row Range("P6:V" & lastRow2 + 1).ClearContents If Not IsEmpty(Target.Value) Then lastRow = Cells(Rows.Count, "E").End(xlUp).Row Set dataRange = Range("A6:G" & lastRow) dataRange.AutoFilter Field:=5, Criteria1:="*" & Target.Value & "*" dataRange.Copy Range("P6") dataRange.AutoFilter End If End If Application.ScreenUpdating = True End Sub Data.xlsm
  20. تفضل اخى مطلبك على الملف الذى ارفقته سابقا بعد توضيح المطلوب DataBASE2.xlsm ولكن اذا كان غياب الموظف اكثر 7 ايام سوف يحدث خطأ بسبب التنسيقات حيث ان الجداول اسفل بعضها فى شيت Abs لذلك اليك حل اخر بحيث تكون الجداول لانواع الاجازات بجوار بعضها البحث برقم الموظف .xlsm فى كلا الملفين اكتب رقم الموظف سوف تحصل على الاجازات تقبل تحياتى
  21. جرب الكود التالى Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$8" Or Target.Address = "$F$8" Then Dim LastRow As Long Dim FilterRange As Range Dim FilterColumn As Long If Target.Address = "$D$8" Then FilterColumn = 2 ElseIf Target.Address = "$F$8" Then FilterColumn = 4 End If LastRow = Me.Cells(Rows.Count, "D").End(xlUp).Row Set FilterRange = Range("C9:U" & LastRow) If Not IsEmpty(Target.Value) Then FilterRange.AutoFilter Field:=FilterColumn, Criteria1:=Target.Value Else FilterRange.AutoFilter Field:=FilterColumn End If End If End Sub
  22. قم بتحديد العمود بأكمله من الاعلى
  23. ممكن بدون اكواد تحدد الأعمدة التى تحتوى على تاريخ وتعديل التنسيق إلى التاريخ بالشكل الذي تريده
×
×
  • اضف...

Important Information