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

نجوم المشاركات

  1. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      20

    • Posts

      11,630


  2. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      13

    • Posts

      4,431


  3. ابوبسمله

    ابوبسمله

    الخبراء


    • نقاط

      4

    • Posts

      918


  4. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      2

    • Posts

      2,302


Popular Content

Showing content with the highest reputation on 10 يون, 2022 in all areas

  1. 2 points
  2. Sub Test() Const sSheetName As String = "Report" Dim e, ws As Worksheet, f As Boolean, t1 As Double, t2 As Double, x As Long, y As Long, r As Long, iRow As Long, fRow As Long Application.ScreenUpdating = False Set ws = ThisWorkbook.Worksheets("MIN") On Error Resume Next Application.DisplayAlerts = False ThisWorkbook.Worksheets(sSheetName).Delete Application.DisplayAlerts = True On Error GoTo 0 Sheets.Add(After:=Sheets(Sheets.Count)).Name = sSheetName With ThisWorkbook.Worksheets(sSheetName) .DisplayRightToLeft = True .Cells.Clear With .Cells .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With iRow = 1 For y = 2012 To Year(Date) fRow = iRow t1 = 0: t2 = 0: x = 0 ws.Range("C14").Value = y With .Cells(iRow, 1) .Value = y .Font.Bold = True .Interior.Color = RGB(219, 219, 219) End With For Each e In Array("16|30", "32|41", "43|52") x = x + 1 f = False For r = Val(Split(e, "|")(0)) To Val(Split(e, "|")(1)) If ws.Cells(r, "U").Value > 0 And ws.Cells(r, "U").Value <> Empty Then If f = False Then iRow = iRow + 1 If x = 2 Then iRow = iRow + 1 .Cells(iRow, 2).Value = ws.Range(IIf(x = 1, "D", "B") & Val(Split(e, "|")(0)) - 1).Value .Cells(iRow, 3).Resize(, 6).Value = ws.Range("P" & Val(Split(e, "|")(0)) - 1).Resize(, 6).Value .Cells(iRow, 2).Resize(, 7).Interior.Color = vbYellow f = True End If iRow = iRow + 1 .Cells(iRow, 2).Value = ws.Cells(r, IIf(x = 1, "D", "B")).Value .Cells(iRow, 3).Resize(, 6).Value = ws.Cells(r, "P").Resize(, 6).Value t1 = t1 + .Cells(iRow, "F").Value t2 = t2 + .Cells(iRow, "H").Value End If Next r iRow = iRow + 1 If x = 1 Then iRow = iRow - 1 Next e iRow = iRow + 1 .Cells(iRow, 2).Value = "Total" With .Cells(iRow, "F") .Value = t1 .Interior.Color = vbCyan End With With .Cells(iRow, "H") .Value = t2 .Interior.Color = vbCyan End With iRow = iRow + 2 With .Range(.Cells(fRow, 2), .Cells(iRow - 2, 8)) .Borders.Value = 1 .BorderAround Weight:=3 End With f = False Next y .Rows.RowHeight = 19 .Columns(1).ColumnWidth = 9 .Columns("B:H").AutoFit End With Application.ScreenUpdating = True End Sub
    1 point
  3. أخطاء بسيطة جدا تدل على محاولة تطبيق الكود بدون فهم متغيراته وكائناته إن شاء الله يكون هذا هو المطلوب 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 بدلا منه بالتوفيق
    1 point
  4. بارك الله فيك استاذ وجزاك الله خيرا
    1 point
  5. ممكن تعمل قائمة بالاوامر التي تريدها عند الضغط على زر طباعة / معاينة تظهر هذه القائمة المنبثقة مثل الصور .... وتجد في موضوع الاستاذ @jjafferr الكثير من المهارات المطلوبة ::
    1 point
  6. عليكم السلام ورحمة الله وبركاته حسب فهمي للمطلوب يمكنك استخدام هذه المعادلة =IF(R7=300,N11*300,IF(N11<=5,N11*600,(5*600)+(N11-5)*300)) بالتوفيق
    1 point
  7. لازم نعمل فكشن ثاني خاص بحقل الاخطاء هذا جزء من طلبك ...والبقية انت اعملها لانها تحتاج تتبع الاخطاء وماشاء الله كود اخينا ابو جودي يزغلل العيون قاعدة بيانات موظفين - (3).rar
    1 point
  8. موضوعك ... ممكن دخلت عليه بشكل يومي ومع ذلك لم افهم هل تريد زر واحد للمعاينة والطباعة والغاء الامر ... هل هذا طلبك ولماذا الغاء الامر ... ماهي وظيفته ... ؟؟؟
    1 point
  9. مصدر الصف فى مربع التحرير والسرد عمودين العمود الاول Column(0) = (crn) و العمود الثانى وهو المطلوب Column(1) = (الجهة الداخلية الوارد منها)
    1 point
  10. جزاكم الله خيرا تمام ١٠٠٪
    1 point
  11. عليكم السلام ورحمة الله زبركاته يمكنك استعمال هذه المعادلة في 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),"") مع سحب المعادلة لأسفل بالتوفيق
    1 point
  12. شكراً جزيلا أ. محمد على هذا الرد الوافي والشرح الواضح..تمنياتي لك بالتوفيق والمزيد من التألق،،
    1 point
  13. إخوتي في الله؛ رُوّاد موقع أوفيسنا المُباركون؛ فيما يلي كتابٌٌ نافع؛ أرجو أن ننتفع به جميعًا. عُنوان الكتاب: إهداء ثواب العمل للميّت المُسلم. المؤلّف: أ.د. محمد بن فهد بن عبدالعزيز الفريح. من هُنــــــا. المصدر/ مكتبة صيد الفوائد. في أمان الله.
    1 point
  14. الله عليك يا استاذي مبرمج سابق تسلم ايديك اشكرك هو المطلوب
    1 point
  15. وعليكم السلام واياكم اخى الحمدلله انك وجدت ما تبحث عنه اتفضل اطلع ع الرابط التالى من اعداد مهندسنا العزيز محمد طاهر جزاه الله عنا كل خير https://officena.net/Tips/Access-Mask.htm والتالى لميكروسوفت https://support.microsoft.com/ar-sa/office/التحكّم-في-تنسيقات-إدخال-البيانات-بواسطة-أقنعة-الإدخال-e125997a-7791-49e5-8672-4a47832de8da بالتوفيق
    1 point
  16. ممتاز استاذ مجدى بارك الله فيك وزادك الله من فضله
    1 point
  17. السلام عليكم اهلا اخى ومهندسنا العزيز كل الادوات الموجوده لدى للاطلاع والافاده فى الحدود مع المحافظه ع حقوق الاخرين والحمد لله معنا اخواننا ينبهوننا اذا تجاوزنا الحد وذلك للمحافظه على حقوق الاخرين ونحمد الله اننا نتعلم منهم كل حسن وطيب وجزاهم الله عنا كل خير بارك الله فيك مهندسنا العزيز وجزاك الله كل خير الحمدلله بالتوفيق
    1 point
  18. بسيطة ان شاء الله اتفضل يا سيدى New Microsoft Access Database (2-1).accdb
    1 point
  19. انا بالخدمة ما مكنني الله
    1 point
  20. 1 point
  21. أحسنت استاذ مجدى بارك الله فيك وزادك الله من فضله
    1 point
  22. أحسنت استاذ مجدى موضوع رائع بارك الله فيك وزادك الله من فضله
    1 point
  23. وعليكم السلام-تفضل Option Explicit Private IsArrow As Boolean Private Sub ComboBox1_Change() Dim i As Long If Not IsArrow Then With Me.ComboBox1 .List = Worksheets("Sheet1").Range("A4", Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp)).Value .ListRows = Application.WorksheetFunction.Min(6, .ListCount) .DropDown If Len(.Text) Then For i = .ListCount - 1 To 0 Step -1 If InStr(1, .List(i), .Text, vbTextCompare) = 0 Then .RemoveItem i Next .DropDown End If End With End If End Sub Private Sub ComboBox1_DropButtonClick() With Me.ComboBox1 .List = Worksheets("Sheet1").Range("A4", Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp)).Value .ListRows = Application.WorksheetFunction.Min(6, .ListCount) .DropDown End With End Sub Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Debug.Print Time; "KeyDown"; KeyCode; ComboBox1.ListIndex; ComboBox1.ListCount, ComboBox1.Value IsArrow = (KeyCode = vbKeyUp) Or (KeyCode = vbKeyDown) If KeyCode = vbKeyReturn Then Me.ComboBox1.List = Worksheets("Sheet1").Range("A4", Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp)).Value ElseIf KeyCode = vbKeyTab Then With Me.ComboBox1 If .ListIndex = -1 Then .Value = .List(0) Else .Value = .List(.ListIndex) End If End With KeyCode = vbKeyReturn End If End Sub القائمة بالكومبوبوكس1.xlsm
    1 point
  24. Zakariadz Bms من فضلك تجنباُ لإهدار الوقت أتمنى وأرجو منكم سرعة الرد دائماً ولا تتأخر ,فهل يعقل ان أقوم بالرد عليك يوم الإثنين وترد عليا يوم الخميس ؟!!! لو ممكن تقوم بالنظر الى الملف وان لم يكن هذا هو المطلوب , فعليك بتوضيح المطلوب اكثر من ذلك مع وضع النتائج المطلوبة يدوياً وشكرا .. وأرجو سرعة الرد حتى يتم غلق المشاركة حساب الاجر الوحيد أوفيسنا1.xlsx
    1 point
  25. أحسنت استاذ مجدى بارك الله فيك وزادك الله من فضله
    1 point
  26. حتى تخرج لك النتيجة المرجوة , فطالما هناك علامة أكبر من أو أصغر من بين علاماتات التنصيص فلابد ان يتبعها هذه العلامة & ...أما بالنسبة لعلامة التثبيت حتى نقوم بتبيت الخلية المراد العمل عليها حتى اذا قمت بسحب المعادلة فى اى مكان أخر فلا تتغير هذه الخلية , وشكرا
    1 point
  27. وعليكم السلام-اجعل المعادلة هكذا =SUMIFS(T_Op[المبلغ],T_Op[الحساب],"زبائن",T_Op[التاريخ],">"&$I$3) 1استفسار الشرطية متعددة الشروط مع التاريخ.xlsx
    1 point
  28. تفضل كان عليك بدء المشاركة بالتحية ... السلام عليكم , يمكنك استخدام هذه المعادلة ,كما تم عمل التنسيق الشرطى اللازم كما تريد اذا كان هناك اختلاف - كما تـــم ضبط الملف والغاء وحذف الخلايا المدمجة بالجدول (على الرغم ان هذا أتعبنى كثيراً الى ان تم على خير) فهذا يصعب من أعمال اى شيء على الإكسيل ..ورجاءاً لا تقوم بعمل اى خلايا مدمجة بعد ذلك فى ملفاتك , وذلك حتى لا تجعل الجميع يبتعد عن مساعدتك فى طلبك لأنه سيأخذ ويستغرق وقت طويل منهم =IF(OR(SUM(K16:N16)<>$O16,SUM(F16:J16)<>$O16,SUM(B16:E16)<>$O16),"هناك اختلاف","") 1OutPatientStatistic.xlsx
    1 point
  29. بسيطة وسهلة لا تفعل أكثر مما تراه بالصورة
    1 point
  30. بارك الله فيك وزادك الله من فضله بالطبع هذه البرامج من البرامج المفيدة والنافعة والهامة والمطلوبة لعدد كبير جداً من الأعضاء ... جعله الله فى ميزان حسناتك ورحم الله والديك
    1 point
  31. وعليكم السلام-تم تغيير المعادلة بمعادلة أخرى أخفف منها وليست مصفوفة -تفضل =IFERROR(INDEX($A$2:$A$14,AGGREGATE(15,6,ROW($A$1:$A$14)/(MATCH($A$2:$A$14&$B$2:$B$14,$A$2:$A$14&$B$2:$B$14,0)=ROW($A$1:$A$14)),ROWS($2:2))),"") ترتيب التاريخ1.xlsx
    1 point
  32. ممتاز استاذ مجدى عمل ممتاز جعله الله فى ميزان حسناتك ورحم الله والديك
    1 point
  33. أخي الكريم أنا استعملت في الكود أن اسم النموذج userform1 فإذا كان النموذج لديك له اسم مختلف يمكنك كتابة اسم النموذج ثم الوسيلة show فمثلا إذا كان النموذج لديك اسمه form1 يمكنك فتحه بعد المدة المحددة بالكود التالي form1.show وليس userform1.show أتمنى أن يكون الأمر واضحاً
    1 point
  34. لتحديد المدة التي يتم تنفيذ الإجراء بعدها نغير في هذا السطر من sub timer vartimer = Format(Now + TimeSerial(0, 2, 0), "hh:mm:ss") حيث أن الدالة timeserial تضيف على الوقت الحالي وأول رقم للساعات وثاني رقم للدقائق وثالث رقم للثواني ............... ولإظهار نموذج إسمه userform1 بعد انتهاء المدة المحددة نغير الكود داخل الإجراء Sub yahm() إلى userform1.show ليصبح Sub yahm() userform1.show end sub مع حذف الكود الخاص بحفظ الملف وإطفاء الجهاز
    1 point
  35. أعتقد أنك لم تمكن الملف من العمل في أول مرة فهذا ما يحدث عندي بالصور هذه صورة الإعدادات قبل تشغيل الملف وعند فتح الملف لأول مرة تظهر رسالة تمكين المحتوى وبعد تمكين المحتوى وعمل الملف هذه صورة الإعدادات ...... على العموم حتى تظهر رسالة تمكين المحتوى هذه مرة أخرى غيّر اسم الملف ثم افتحه واختر تمكين المحتوى أو تمكين الماكروات لأول مرة فقط وسيغيرها الملف كما مر بالصور
    1 point
  36. أخي الكريم بعد أن قمت برفع الأمان وفتحت ملفي ظهرت لك رسالة تخبرك أن الملف يحتوي على ماكروات ماذا فعلت مع هذه الرسالة؟؟!! ...... الصواب أن تمكن الماكرو حتى يعمل ويقوم بخفض الأمان بعد ذلك لاحظ النص الموجود في النموذج جرب وأخبرني بالنتيجة أخي الكريم
    1 point
  37. أخبرني بالضبط ماذا حدث معك بعد تحميل الملف وبالتفصيل الممل ...... للعلم أرفقت مثال بصيغة mdb حتى يمكن لمستخدمي أوفيس 2003 وما قبلها تجربته
    1 point
  38. أخي الكريم لتخفيض أمان الأكسس برمجيا لجميع نسخ الأكسس ضع في حدث عند التحميل للنموذج الذي تفتح عليه قاعدة البيانات الكود التالي Private Sub Form_Load() If CreateObject("WScript.Shell").RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Access\Security\" & IIf(Application.Version < 12, "Level", "VBAWarnings")) <> "1" Then CreateObject("WScript.Shell").RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Access\Security\" & IIf(Application.Version < 12, "Level", "VBAWarnings"), "1", "REG_DWORD" End If End Sub ومرفق مثال على ذلك بصيغة 2010 و 2003 يرجى تجربته على أكثر من إصدار أنا جربته على 2010 فقط ولكن بفضل الله الفكرة صحيحة MasAccessSecurity.rar MasAcessSecurity_mdb.rar
    1 point
  39. بالنسبة لتغيير الاسم يمكنك الذهاب إلى لوحة التحكم ----> تعديل اسم الظهور ثم تكتب الاسم الذي تريده وكلمة المرور الحالية ........... وبالنسبة لموضوع العدد أنت الذي قررت أن يكون 30 وتسأل الآن ماذا إذا لم يجد 30 أعتقد أنه يجب مراجعة المطلوب بدقة حتى لا تتعب الناس معك وكل عام أنتم بخير
    1 point
  40. أخي الكريم كيماس ابا عمر بالنسبة لموضوع إرسال الموقع لتنبيهات على بريدك إذا رد أحد على الموضوع يجب تفعيلها أولا بالضغط على (متابعة هذا الموضوع) الموجودة أعلى يسار الموضوع أو بصورة افتراضية لكل المواضيع التي اشتركت فيها من خلال لوحة التحكم ---> خيارات التنبيهات ستجد جميع خيارات التنبيه عدّلها كما تشاء
    1 point
  41. بارك الله فيك أخي كيماس المبرمج الحق الذي يؤدي العمل المطلوب بأقل كود ممكن ...... وإضافة ينبغي التنبيه إليها ولا تقلل من عمل الأستاذ كيماس يجب إلغاء اختيار تنبيه المستخدم إذا أدخل قيمة غير موافقة للتحقق وذلك من خلال التبويب الثالث (تنبيه أو رسالة الخطأ) في الصندوق الحواري الخاص بالتحقق حتى يتم قبول الملف للقيم المخالفة للشرط ومن ثم يتم وضع دوائر حولها وكل عام أنتم بخير
    1 point
  42. رائع أخي يحياوي كل عام أنتم بخير ولمن يريد إغلاق الملف وعدم إطفاء الجهاز يضع رمز التعليق قبل السطر التالي Shell "shutdown -s -t 02", vbHide لأنه هو المسئول عن إطفاء الجهاز
    1 point
×
×
  • اضف...

Important Information