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

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

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      5

    • Posts

      12,215


  2. ابو عبدالبارى

    ابو عبدالبارى

    الخبراء


    • نقاط

      4

    • Posts

      391


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      4

    • Posts

      8,723


  4. أبوعيد

    أبوعيد

    الخبراء


    • نقاط

      3

    • Posts

      1,541


Popular Content

Showing content with the highest reputation on 23 يول, 2016 in all areas

  1. السلام عليكم مرحبا بكم فى هذا الفيديو الجديد من فيديوهات شرح أكسيس يتناول هذا الفيديو شرح استعلام الإلحاق لجدول آخر حل مشكلة رسالة الخطأ فى استعلام الإلحاق تعرض بسيط للاستعلام الفرعى نفعكم الله به elhaqy1 -t.rar
    2 points
  2. السلام عليكم في زر البحث ستجد هذا السطر If CStr(.Cells(x, 3)) = CStr(TextBox5.Value) Then فقط قم بتغير الرقم 3 الى الرقم 1 و هو يعني عمود البحث العمود الاول 1 هو الاسم العمود الثاني 2 هو العنوان العمود الثالث 3 هو رقم الهاتف ........... وهكذا البحث بالاسم
    2 points
  3. 2 points
  4. عدم الرد من صاحب السوال جعلني ادخل مرة اخرى اواكتشف اني لم ارفق الوحدة المسؤولة عن الترجمة تفصل والصقها في صفحة وحدة نمطية جديدة Public Ok, Cancel, ABORT Public RETRY, IGNORE, YES, NO Private m_hHook As Long Private Const IDOK = 1 Private Const IDCANCEL = 2 Private Const IDABORT = 3 Private Const IDRETRY = 4 Private Const IDIGNORE = 5 Private Const IDYES = 6 Private Const IDNO = 7 Private Const WH_CBT = 5 Private Const GWL_HINSTANCE = (-6) Private Const HCBT_ACTIVATE = 5 Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, _ ByVal lpString As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As Long) As Long Public Sub MessageBoxH(hwndThreadOwner As Long) Dim hInstance As Long Dim hThreadId As Long hInstance = GetWindowLong(hwndThreadOwner, GWL_HINSTANCE) hThreadId = GetCurrentThreadId() m_hHook = SetWindowsHookEx(WH_CBT, AddressOf _ MsgBoxHookProc, hInstance, hThreadId) End Sub Private Function MsgBoxHookProc(ByVal uMsg As Long, ByVal _ wParam As Long, ByVal lParam As Long) As Long If uMsg = HCBT_ACTIVATE Then SetDlgItemText wParam, IDOK, Ok SetDlgItemText wParam, IDCANCEL, Cancel SetDlgItemText wParam, IDABORT, ABORT SetDlgItemText wParam, IDRETRY, ABORT SetDlgItemText wParam, IDIGNORE, ABORT SetDlgItemText wParam, IDYES, YES SetDlgItemText wParam, IDNO, YES UnhookWindowsHookEx m_hHook End If MsgBoxHookProc = False End Function
    2 points
  5. السلام عليكم ورحمة الله وبركاته كنت بصدد عمل برنامج " دليل هاتف " فصادفتني بعض المشاكل باستخدام القوائم فأردت عمل شئ من التغيير في استعمال القوائم حتى هداني الله الى فكرة بأستخدام الاكواد والحمد لله انجزتها ولكنها تبقى في بدايتها وامكانية تطويرها واردة واحببت ان اشارككم بها لعل اجد من ارائكم بعض الامور التي قد تفيد بهذا الشأن هنا ملف يحتوي على صفحة من البرنامج مع احتوائه على القائمة المذكورة اخوكم عماد الحسامي
    1 point
  6. الأخ الكريم جرب هذا الكود Private Sub Workbook_SheetActivate(ByVal Sh As Object) Range("D2").Select ActiveWindow.FreezePanes = True End Sub قم بتغيير عنوان الخلية التى تريد التجميد من عندها abo_abary_تجميد الأجزاء.rar
    1 point
  7. جرب هذا المرفق Book1 salim.rar
    1 point
  8. الأخ الكريم عامر ياسر السلام عليكم جرب المرفق التالى لعلة يفى بالغرض abo_abary_احصائية حسب المواد الدراسية والشعب لصف دراسي واحد.rar
    1 point
  9. السلا عليكم الموضوع هذا اصبح له حلّان: حلّي انا بإستخدام الاستعلام الجدولي ولأكثر من مرة ، وحل اخوي رمهان بإستخدام دالة Dcount في التقرير اكثر من مرة (اما موضوع النتائج الغير صحيحة كما اشرت اليها في مشاركتي السابقة ، فهو موضوع سهل حلّه على اخوي رمهان) . السؤال الذي طرأ على بالي هو: اي الطريقتين هي الاسرع (على اساس ان الطريقتين تعطيان النتائج الصحيحة) ، وبذلك نقترح هذه الطريقة على الاخ محمود سعيد في برنامجه لحساب السرعة ، يجب ان تكون الجداول كبيرة ، حتى يكون للمقارنة معنى ، لذلك عملت التالي: 1. عملت الفهرسة للحقول التي تحتاج فهرسة ، 2. جعلت عدد السجلات في الجداول كالتالي: Blagh = 3,845,966 ، المصابين = 1,922,966 ، الوفيات = 1,538,373 3. بحيث اصبح حجم قاعدة البيانات حوالي 328MB الموضوع اخذ مني يوم كامل ، والنتائج: وطريقة احتساب الوقت الذي أخذه كل تقرير على حده هو: t = Timer docmd.openreport .... Time_Took = Timer - t والنتيجة بالثوان: j = جعفر ، R = رمهان 1-7-2016 to 7-7-2016 j = 109.8164 R = 132.0977 1-7-2016 to 15-7-2016 j = 230.1016 R = 187.8359 1-7-2016 to 30-7-2016 j = 335.2969 R = 239.1992 وهذه صور التقرير النهائي: جعفر: . رمهان: لهذا السبب ، فانا اقترح على الاخ محمود سعيد ان يستخدم طريقة الاخ رمهان (طبعا بعد ان يتم تصحيح النتائج بها) ، فهي الاسرع في الاداء جعفر
    1 point
  10. يمكنك تجربة هذا الماكرو Refresh_By_Names _Macro 2.rar
    1 point
  11. كلك ذوق أخي الغالي أبو عبد الباري جهد كبير تشكر عليه كل الشكر و التقدير لجهدك و ذوقك أخوك وائل يونس سلامي
    1 point
  12. وعليكم السلام ورحمة الله وبركاته جرب المرفق التاريخ1.rar
    1 point
  13. يعمل لغاية 30 اسم (اذا كنت تريد اكثر استبدل في المعادلة الرقم 31 بالرقم الذي تريده واسحب نزولاً) لا تنس بعد استبدال الرقم 31 بالرقم الذي تريده ان تضغط Ctrl+Shift+Enter وليس Enter وحدها لان المعادلة (صفيف) بالنسبة لتعدد لاسماء فوق 500 اسم يصبح البرنامج بطيء نظراً لكثرة المعادلات في هذه الحالة الكود اسرع
    1 point
  14. جرب هذا الملف انه يقوم بترتيب الاسماء حسب من لديه اكبر حساب و يغرض في الخلية المجاورة حسابه مع عدم تكرار الاسم يعمل لغاية 30 اسم (اذا كنت تريد اكثر استبدل في المعادلة الرقم 31 بالرقم الذي تريده) Refresh_By_Names.rar
    1 point
  15. بارك الله لك و عليك يا أستاذ عبد الفتاح على هذا العمل.
    1 point
  16. وعليكم السلام المرفق الجديد يعمل بصورة ممتازة بارك الله فيك
    1 point
  17. السلام عليكم يوجد عمود مخفي هو العمود XFD قم بإظهاره , ثم عدل على العبارات كما تريد
    1 point
  18. مشكور اخى الكريم أبو حنــــين على التوضيح اخى الكريمخالد ع العتيبي لتوضيح الفكرة 1- انا اعتمدت على التنسيق الشرطى 2- التنسيق الشرطى لا يعمل الا فى نطاق داخل الصفحة 3-للتغلب على ذلك نعتمد على تسمية النطاقات فى نفس اىلشيت أو فى شيت آخر ووضعها داخل التنسيق الشرطى 4- قد تفضل الأستاذ أبو حنــــين مشكورا بشرح كيفية اضافة تسمية لنطاق
    1 point
  19. اخى العزيز جلال محمد كما ذكرت سابقا تشخيص المشكلة هو 90% من حلها .Formula = "=SUMPRODUCT(--(Total!N13:BX146=""غ"")*(Total!CJ13:CJ146=""ذكر""))" .Formula = "=SUMPRODUCT(--(Total!N13:BX146=""غ"")*(Total!CJ13:CJ146=""انثى""))"
    1 point
  20. وعليكم السلام أهلا بك أخي في هذا المنتدى التعليمي وأرجو أن تجد فيه حلولا لكل مشاكلك البرمجية بالنسبة لسؤالك في الأعلى أقول نعم يوجد , أقرأ هذا الموضوع تحياتي
    1 point
  21. مرحبا الملف يحتوي على ما طلبت تسجيل بيانات15.rar
    1 point
  22. وعليكم السلام ورحمة الله وبركاته أخي الكريم جلال محمد طالت غيبتك عن المنتدى ولا نراك إلا نادراً .. هل تحب الصيد أم تفضل السمك جاهز ؟ العمل على ملفك قد يستغرق بعض الوقت ففكرت أن أهديك طريقة الحل وليس الحل بالكامل وإن شاء الله ستتمكن من تكملة المشوار بنفسك .. سنأخذ مثال واحد فقط ونطبق عليه الكود : في ورقة الإحصاء في العمود الأول المطلوب إحصاء الذكور فالمعادلة التي يمكن استخدامها ببساطة باستخدام الدالة SUMPRODUCT ستكون بالشكل التالي =SUMPRODUCT(--(Total!$CJ$13:$CJ$146="ذكر")) سنقوم بوضع الكود التالي في موديول وسأشرح لك الأجزاء المهمة لتستطيع تنفيذ المهمة (شفت الجناس التام بين كلمة المهمة الأولى وكلمة المهمة الثانية ..مش موضوعنا) Sub Ehsaa_Using_VBA() Dim Ws As Worksheet Dim Sh As Worksheet Dim LR As Long Set Ws = Sheets("Total") Set Sh = Sheets("احصاء بالكود") 'متغير لمعرفة آخر صف فيه بيانات في ورقة العمل الأساسية LR = Ws.Range("C" & Rows.Count).End(xlUp).Row Application.ScreenUpdating = False With Sh.Range("C9:C24") .Formula = "=SUMPRODUCT(--(Total!$CJ$13:$CJ" & LR & "=""ذكر""))" .Value = .Value End With Application.ScreenUpdating = True MsgBox "Done...", 64 End Sub الكود في أوله شوية متغيرات وبعدين بنرمز لورقة العمل الأساسية بالرمز Ws وورقة العمل إحصاء بالرمز أو المتغير Sh .. بنحدد آخر صف فيه بيانات من خلال الكود .. ودا الفرق بين المعادلة والكود .. في المعادلة بنحدد آخر النطاق بأنفسنا لكن هنا في الكود هنخلي الإكسيل هو اللي يحدد آخر صف ودا هيكون بناءً على عمود الأسماء اللي هو العمود C أو العمود الثالث نيجي بقا للجزء المهم اللي من خلاله هنقدر نتعامل مع النطاق C9:C24 (العمود الأول في الإحصاء) كل الفكرة إننا هنضع المعادلة بس في الكود وبعدين نحول المعادلة لقيمة للتخلص من المعادلة والإبقاء على القيمة (ودا بيخفف من حجم الملف) With Sh.Range("C9:C24") .Formula = "=SUMPRODUCT(--(Total!$CJ$13:$CJ" & LR & "=""ذكر""))" .Value = .Value End With إزاي نتعامل .. أولاً بنحدد النطاق في السطر الأول اللي هنضع فيه المعادلات ودي أمرها بسيط النقطة الأهم إزاي نعدل المعادلة في الكود .. فيه شوية حاجات لازم تاخد بالك منها أول حاجة الفاصلة المنقوطة في المعادلة بتحولها لفاصلة عادية .. تاني حاجة المعادلة كلها توضع بين أقواس تنصيص بعد علامة يساوي اللي بعد كلمة Formula النصوص بتوضع بين أقواس تنصيص مرتين .. يعني مثلا كلمة ذكر في المعادلة وضعنا قوس تنصيص قبلها وقوس تنصيص بعدها ، أما داخل الكود هنخلي أقواس التنصيص مرتين قبلها ومرتين بعدها آخر حاجة بنعملها إننا بنشيل رقم آخر صف اللي هو في المعادلة الرقم 146 ونضع مكانه المتغير LR (اللي بيمثل رقم آخر صف داخل الكود) يعني شيل الرقم 146 من المعادلة وضع مكانها " & LR & " .... قم بتكرار نفس الأسطر الأربعة المشروحة لك مع بقية المعادلات مع تغيير النطاق وتغيير المعادلات وغير ما يلزم .. أرجو أن تكون الصورة واضحة لك .. وإن شاء الله تفلح في تكملة الحل .. واعذرني لأنني لا أقدم الحلول جاهزة كبقية الأخوة في المنتدى (هذا في رأيي الشخصي أفضل وأوفر للوقت والجهد ..) تقبل تحياتي
    1 point
  23. أخي الكريم مشعل أهلاً بك في المنتدى ونورت بين إخوانك يرجاء تغيير اسم الظهور للغة العربية والإطلاع على التوجيهات في الموضوعات المثبتة في صدر المنتدى بالنسبة لطلبك يوجد خيار في خيارات الإكسيل يمكن من خلاله أن تحدد مدة الحفظ التلقائي وأقل مدة يمكن تحديدها دقيقة واحدة فقط وأعتقد أنها مدة لا بأس بها أما إذا أردت الحفظ كل 5 ثواني فإليك الطريقة ضع الكود التالي في حدث المصنف ThisWorkbook Module Private Sub Workbook_Open() Call Save_Workbook End Sub ثم ضع الكود التالي في موديول عادي Public Sub Save_Workbook() Dim currentTime As Date Const Sec = 5 ThisWorkbook.Save currentTime = DateAdd("S", Sec, Now) Application.OnTime currentTime, "Save_Workbook" End Sub غير الرقم 5 والذي يمثل الثواني للرقم المطلوب الآن قم بحفظ المصنف وأغلقه وأعد فتحه وجرب بنفسك
    1 point
  24. السلام عليكم اخي العزيز عسى ان ينفعك هذا الملف العلاوات فقط.rar
    1 point
  25. شكرا اخي جعفر على هذه النوادر الجميلة وتفضل اخي عبدالله يمكنك كتابة اي شيء على الزر Dim resalh As Integer Ok = "أكيد موافق" Cancel = "not agree" MessageBoxH Me.hwnd resalh = MsgBox("تفضل هذه الخلطة في اللغة", vbOKCancel, "رسالة")
    1 point
  26. وعليكم السلام ابش رايك في Enhanced Msgbox (هو اصلا نموذج ، ولكن معمول خصيصا لعمل Msgbox ) ، وجاهز للتحميل المجاني هذه بعض الاشكال والالوان التي تستطيع ان تعملها ، وطبعا اللغة كذلك . وفي نسخته العاشرة هذا رابط الموقع ، وجميل النظر الى ملاحظات القرّاء: http://blog.nkadesign.com/2008/ms-access-enhanced-message-box-replacement/ ولتحميل البرنامج: http://blog.nkadesign.com/wp-content/uploads/2008/05/EnhancedMsgBoxv1.10.zip جعفر
    1 point
  27. السلام عليكم لقد أرجعت التعديلات السابقة وذلك لأن إنشاء نماذج في نسخ MDE غير متاح . تحياتي . ArbMsgBox_Ver1.rar
    1 point
×
×
  • اضف...

Important Information