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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    192

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

  1. جرب هذه المعادلة =MID(A2, 2,11) بالتوفيق
  2. في هذه الحالة يمكنك تخزين التاريخ في خلية وقيمة الليبل في خلية وفي حدث عن الإغلاق يتم تحديث الخليتين وفي حدث بداية النموذج يتم فحص خلية التاريخ إذا كانت أقل من تاريخ اليوم يضع قيمة الخلية في الليبل وإلا فلا يفعل شيئا بالتوفيق
  3. من الواضح في الصورة أن البيانات غير منضبطة في الصفوف أم أنك تريد حذف الصف الذي ليس به بيانات وإذا كان به بيان واحد يتم الابقاء عليه ؟؟
  4. أعتقد ينبغي الاحتفاظ بقيمتها في خلية معينة وليكن aa1 في حدث قبل إغلاق النموذج وفي بداية تحميل النموذج يتم وضع قيمة الخلية في التسمية label3 بالتوفيق
  5. عليكم السلام جرب تعدبل كود تغيير مربغ النص الى Private Sub TextBox1_Change() If TextBox1.Text <> "" Then ActiveSheet.ListObjects("data2").Range.AutoFilter Field:=4, Criteria1:="=" & TextBox1.Text & "*", Operator:=xlOr Else ActiveSheet.ListObjects("data2").Range.AutoFilter Field:=4 End If End Sub بالتوفيق
  6. يمكنك استعمال هذه المعادلة في المكان الذي تريد ظهور قائمة التليفونات بها =IFERROR(INDEX($B:$B,SMALL(IF(($E:$E="السبت")*($D:$D=""),ROW($E:$E)),ROW()-2)),"") مع سحب المعادلة لأسفل للحصول على باقي الأرقام بالتوفيق
  7. عليكم السلام ورحمة الله وبركاته الأمر hide يستعمل في إخفاء النموذج فقط وليس إغلاقه كاملا وهذا يعني إمكاية استعمال جميع المتغيرات والكائنات المستعملة في النموذج الأمر unload يستعمل في إعلاف النموذج كاملا فلا يمكن استعمال أي من متغيراته أو كائناته ويمكن استعمال الأمرين من داخل النموذج me.hide unload me أو من خارجه userform1.hide unload userform1 أما end فلا علاقة لها بالنموذج وإغلاقه فهي تستعمل للتعبير عن نهاية بعض الأوامر مثل End [Function | Sub | With | Select | Type | Enum | If ] أما exit فتستعمل للخروج من بعض الأوامر مثل Exit [ Do | For | Function | Select | Sub ] بالتوفيق
  8. عليكم البسلام ورحمة الله وبركاته يمكنك وضع استدعاء الإجراء الآخر حسب ترتيب التنفيذ المطلوب قبل أو بعد هذا السطر Call macro1 بالتوفيق
  9. شكرا جميعا لمروركم الكريم نقغنا الله جميعا به
  10. ويمكن استعمال هذه المعادلة بدون الاعتماد على الكود قي الخلية A2 =IFERROR(INDEX(المجمع!$A$2:$E$1000,SMALL(IF(المجمع!$A$2:$A$1000=$X$1,ROW($1:$999),""),ROW()-1),COLUMN()),"") مع سحب المعادلة يسارا ثم لأسفل بالتوفيق
  11. لا أعتقد أن هذا يتم بمعادلة يمكنك استعمال هذا الكود في حدث تغيير الشيت Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column > 1 And Target.Column < 6 Then Range("f" & Target.Row) = Date End Sub كلك يمين على اسم الشيت ثم view code ثم لصق هذا الكود في الناحية اليمنى مع حفظ الملف بامتداد يدعم الأكواد مثل xls أو xlsb أو xlsm بالتوفيق
  12. علبكم السلام ورحمة الله زبركاته أعتقد أن الطريقة الصحيحة لبرمجة النواقص هي: في شاشة إضافة صنف يتم إضافة أقل قيمة أو كمية التنبيه أو أي تسمية وتسجل في الشيت الخاص بالأصناف وفي شاشة عمليات البيع يتم التأكد من أن العدد المطلوب أكبر من العدد المتبقي في المخزن وحساب العدد المتبقي بعد عملية البيع فإذا كان أقل من كمية التنبيه يتم إضافته للنواقص مع ضرورة تفريغ جدول النواقص بمجرد شراء هذه النواقص بالتوفيق
  13. الحمد لله الذي بنعمته تتم الصالحات
  14. الحمد لله الذي وفقنا لهذا
  15. ممكن التنسيق الشرطي يلون الخلايا المكررة وبعدها يحذف المستخدم هذا التكرار
  16. حسب فهمي للمطلوب يمكن تغيير إجراء تحميل القائمة إلى 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 بالتوفيق
  17. بعد إذن جميع المشاركين أخي الكريم لا يلزمنا ضرب قيمة الخلية في 100 إذا حولنا النسبة المئوية لرقم عشري مثلا 80% تساوي 0.8 وكذلك 8% تساوي 0.08 يمكنك استعمال هذا السطر If Target.Value >= 0 And Target.Value <= 0.082 Then بالتوفيق
  18. جميعا بإذن الله تعالى
  19. أخطاء بسيطة جدا تدل على محاولة تطبيق الكود بدون فهم متغيراته وكائناته إن شاء الله يكون هذا هو المطلوب 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 بدلا منه بالتوفيق
  20. عليكم السلام ورحمة الله وبركاته حسب فهمي للمطلوب يمكنك استخدام هذه المعادلة =IF(R7=300,N11*300,IF(N11<=5,N11*600,(5*600)+(N11-5)*300)) بالتوفيق
  21. عليكم السلام ورحمة الله زبركاته يمكنك استعمال هذه المعادلة في 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),"") مع سحب المعادلة لأسفل بالتوفيق
×
×
  • اضف...

Important Information