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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    198

كل منشورات العضو أ / محمد صالح

  1. علبكم السلام ورحمة الله زبركاته أعتقد أن الطريقة الصحيحة لبرمجة النواقص هي: في شاشة إضافة صنف يتم إضافة أقل قيمة أو كمية التنبيه أو أي تسمية وتسجل في الشيت الخاص بالأصناف وفي شاشة عمليات البيع يتم التأكد من أن العدد المطلوب أكبر من العدد المتبقي في المخزن وحساب العدد المتبقي بعد عملية البيع فإذا كان أقل من كمية التنبيه يتم إضافته للنواقص مع ضرورة تفريغ جدول النواقص بمجرد شراء هذه النواقص بالتوفيق
  2. الحمد لله الذي بنعمته تتم الصالحات
  3. الحمد لله الذي وفقنا لهذا
  4. ممكن التنسيق الشرطي يلون الخلايا المكررة وبعدها يحذف المستخدم هذا التكرار
  5. حسب فهمي للمطلوب يمكن تغيير إجراء تحميل القائمة إلى Sub loadlistbox() Set ws = ThisWorkbook.Sheets("SoldFeedbags") Set rData = ws.Range("A1").CurrentRegion irow = Application.WorksheetFunction.CountA(ws.Range("A:A")) If irow = 1 Then irow = 2 Me.TextBox8.Value = Evaluate("sum(SoldFeedbags!e2:e" & irow & ")") Me.TextBox9.Value = Evaluate("sum(SoldFeedbags!f2:f" & irow & ")") Me.TextBox10.Value = Evaluate("sum(SoldFeedbags!g2:g" & irow & ")") With Me.ListBox1 .RowSource = "SoldFeedbags!A2:I2" .RowSource = "SoldFeedbags!A2:I" & irow .ColumnCount = rData.Columns.Count .ColumnHeads = True .ColumnWidths = "60,70,70,70,70,60,70,60,70" End With End Sub بالتوفيق
  6. بعد إذن جميع المشاركين أخي الكريم لا يلزمنا ضرب قيمة الخلية في 100 إذا حولنا النسبة المئوية لرقم عشري مثلا 80% تساوي 0.8 وكذلك 8% تساوي 0.08 يمكنك استعمال هذا السطر If Target.Value >= 0 And Target.Value <= 0.082 Then بالتوفيق
  7. جميعا بإذن الله تعالى
  8. أخطاء بسيطة جدا تدل على محاولة تطبيق الكود بدون فهم متغيراته وكائناته إن شاء الله يكون هذا هو المطلوب Sub ColllectShets() Dim ws As Worksheet, Sh As Worksheet Dim LR As Long, x As Long Dim Arr, i As Long Set ws = Sheets("مجمع الصفوف") Application.ScreenUpdating = False ws.Range("C10:p10000").Clear For Each Sh In Sheets(Array("1", "2", "كي جي1")) x = WorksheetFunction.CountA(Sh.Range("a10:a" & Sh.Range("a" & Rows.Count).End(xlUp).Row)) Sh.Range("C10:p" & Sh.Range("a" & Rows.Count).End(xlUp).Row).Copy If LR < 9 Then LR = 9 Else LR = ws.Range("D" & Rows.Count).End(xlUp).Row End If ws.Range("C" & LR + 1).PasteSpecial xlPasteFormats ws.Range("C" & LR + 1).PasteSpecial xlPasteValues ws.Range("p" & LR + 1).Resize(x).Value = Sh.Name Application.CutCopyMode = False For i = 10 To ws.Range("d" & Rows.Count).End(xlUp).Row ws.Range("C" & i) = i - 9 Next i Next Sh Application.ScreenUpdating = True End Sub لاحظ استعمالك للعمود C للحصول على آخر صف بالرغم من فراغ العمود C لذلك تم استعمال العمود D بدلا منه بالتوفيق
  9. عليكم السلام ورحمة الله وبركاته حسب فهمي للمطلوب يمكنك استخدام هذه المعادلة =IF(R7=300,N11*300,IF(N11<=5,N11*600,(5*600)+(N11-5)*300)) بالتوفيق
  10. عليكم السلام ورحمة الله زبركاته يمكنك استعمال هذه المعادلة في C2 =IFERROR(IF(G2>INDEX($N$2:$N$5,MATCH(I2,$O$2:$O$5,0)),0,INDEX($N$2:$N$5,MATCH(I2,$O$2:$O$5,0))-G2),"") مع سحب المعادلة لأسفل بالتوفيق
  11. الحمد لله الذي وفقنا جميعا للخير
  12. عليكم السلام ورحمة الله وبركاته لفصل التاريخ عن الوقت يمكنك استعمال النص إلى أعمدة text to columns وفي هذا الحالة يجب إضافة عمود واحد بين تاريخ الإصدار وتاريخ الصرف ليتم كتابة الوقت فيه أو يمكنك استعمال flashfill ولكن في هذ الحالة يجب إضافة عمودين بين تاريخ الإصدار وتاريخ الصرف حتى يمكن كتابة التاريخ في الأولى والوقت في الثانية أو يمكنك استعمال المعادلات لتقسيم النص مثل هذه المعادلة لجلب التاريخ فقط من عمود تاريخ الإصدار =MID(A3,1,10) وهذه المعادلة لجلب الوقت فقط من عمود تاريخ الإصدار =MID(A3,12,8) ويمكن تنفيذها على عمود تاريخ الصرف بالتوفيق
  13. عليكم السلام ورحمة الله وبركاته أخي الكريم حتى يتوافق ملفك مع أنظمة قواعد البيانات والمعادلات المتبعة في إكسل يمكنك جعل الأيام الموجودة في الأعمدة من J إلى AG على شكل صفوف أسفل بعضها وإضافة عمود التاريخ لتصبح الأعمدة في قاعدة بياناتك هي: م / اسم الدليل / لغة الدليل / اسم المنفذ / عدد صفحات الدليل الأساسي / التاريخ / عدد الصفحات المخططة / عدد الصفحات المنجزة / المتبقي / ملاحظات بهذا التنظيم يمكنك استعمال دوال مثلsumif أو sumifs بكل سهولة ويسر أو يمكنك استعمال هذه المعادلة ويبقى الملف على حاله في الخلية F4 =SUMPRODUCT($G$18:$AG$30, ($G$17:$AG$17=F$3)*($E$18:$E$30=$C4)) ويمكنك سحب المعادلة يسارا وأسفل مع ضرورة تصحيح عناوين أعمدة عدد الصفحات المخططة في الأيام حيث أنها مكتوب بها المخططة مرتين بالتوفيق
  14. يمكنك حذف هذا السطر If Target.Column = 2 Then وكتابة هذا السطر If Target.Column > 3 and target.column < 14 and target.row > 2 and target.row < 11 Then أو هذا السطر If Not Application.Intersect(Target, Range("D3:M10")) Is Nothing Then بدلا منه بالتوفيق
  15. أخي الفاضل ربما إذا حددت لي ما السطر الغامض عليك في الكود أوضحه لك أما إذا كنت لا تعرف شيئا عن الأكواد فأنصحك بمتابعة هذه الدورة عن الأكواد من الصفر أولا ثم مراجعة أي كود مكتوب https://www.officena.net/ib/index.php?showtopic=39323 لأنه من الواضح لي أن: كود جلب أسماء الأبناء عمله بدلا عنك أستاذ Lion heart وهذا الكود الذي يتأسس عليه الكود الأول قمت به لك ونحن هنا للمرة المليون لا نقوم بعمل برامج جاهزة للناس مجانا (ولا تبخسوا الناس أشياءهم) خالص الدعوات بالتوفيق
  16. أي إجراء مثل sub tar7eel غير مرتبط بحدث مثل تغير الخلايا داخل الشيت أو فتح المصنف أو غيرها من الأحداث يجب ربطه بزر أو بشكل عن طريق asign to macro الموجودة في كلك يمين على الشكل أو الزر
  17. ربما إذا عرفنا في اي نقطة توقفت يمكننا المساعدة تذكر جيدا أن: أول خطوة في نقل الكود لملف جديد هو فهم الكود ومعرفة المتغيرات والكائنات المستعملة فيه وأن الهدف من المنتدى هو التعلم وليس الحصول على ما نحتاجه جاهزا من غيرنا
×
×
  • اضف...

Important Information