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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      9

    • Posts

      9,814


  2. ma4fd2010

    ma4fd2010

    02 الأعضاء


    • نقاط

      5

    • Posts

      54


  3. ابراهيم الحداد

    • نقاط

      3

    • Posts

      1,252


  4. هانى محمد

    هانى محمد

    04 عضو فضي


    • نقاط

      2

    • Posts

      1,002


Popular Content

Showing content with the highest reputation on 21 ماي, 2021 in all areas

  1. تجميع و دمج عده ملفات عمل اكسيل في ملف عمل واحد Acc: Mohamed ElSayed 24 مارس، 2020 اضف تعليق 1,217 زيارة دمج عده ملفات عمل اكسيل في ملف عمل واحد كثيرا من الاحيان نحتاج في اعمالنا اليوميه الي تجميع و دمج عده ملفات عمل اكسيل في ملف عمل لنتعامل مع ملف واحد بدلا من التعامل مع عده ملفات و في هذا المقال نستعرض طريقه عمل ذلك بضغطه زر عن طريق كود برمجي مهما كان عدد شيتات العمل الذي نحتاج الي اضافته تجميع و دمج عده ملفات عمل اكسيل في ملف عمل واحد في البدايه دعنا نتعرف علي طريقه عمل هذا الملف ثم نستعرض فكره عمل هذا الكود كي نتمكن من تطوير هذا الكود في اعمالنا فالاهم من مجرد تطبيق اي كود هو فهمه كي نستطيع التعامل مع هذا الكود خطوات العمل دعنا نبدا بنسخ الكود المرفق و فتح ملف الاكسيل الذي نريد اضافه اليه كل الشيتات الاخري ثم اضغط Alt + F11 او اضغط ضغطه بزر الماوس الايمن علي اسم الشيت ثم اختر view code ليفتح محرر الاكواد ثم اختر من قائمه insert اختر module ثم قم بلصق الكود بعد ذلك قم بالحفظ و اغلق محرر الاكواد ثم انتقل الي الاكسيل و قم باختيرا save as من خلال القائمه file و غير صيغه الملف file type الي اي صيغه تقبل الكود و ليكن الصيغه xlsm الصيغه excel Macro-Enabled Workbook هي صيغه تتيح حفظ الاكواد و الوحدات النمطيه و النماذج داخل شيت العمل و تاخذ الامتداد .Xlsm بعد ذلك قم بنسخ هذا الملف داخل مجلد فارغ و قم بعمل مجلد اخر داخل هذا المجلد الفارغ و قم باعده تسميه هذا الملف الي اسم test ثم قم بوضع كل الملفات المراد دمجها الي مجلد test الجديد ثم انتقل الي ملف العمل الموجود به الكود و افتحه اضغط علي macro من خلال القائمه view اختر CollectWorkbooks اسم الماكرو الذي قمنا باضافته عن طريق الكود بمجرد عمل هذا الكود ينتقل كافه شيتات العمل من المجلد test الي الشيت المفتوح بنفس الترتيب خلال ثواني Option Explicit ()Sub CollectWorkbooks 'تعريف متغير من النوع النصي و اعطيناه اسم '( path) Dim Path As String 'تعريف متغير من النوع النصي و اعطيناه اسم '(Filename) Dim Filename As String 'تعريف متغير من النوع ورقه عمل و اعطيناه اسم ' (SH) Dim SH As Worksheet ' تعريف المتغير لترتيب اوراق العمل بالترتيب الصحيح و قمنا بافتراض قيمه اسميه له 'x Dim X As Long 'افترضنا قيمه افتراضيه للمتغير x بقيمه 1 X = 1 'تعين المتغير ليحدد مسار الملفات المراد دمجها بجوار مسار الملف الاساسي داخل مخلد test كاسم افتراضي Path = ThisWorkbook.Path & "\Test\" 'تعين المصنف ليساوي اسم كل مصنف داخل ملف العمل و مسار ملف العمل بصيغه ملف اكسيل ماكرو كضيغه افتراضيه يمكنها حفظ كود العمل Filename = Dir(Path & "*.xlsm") 'الغاء خاصيه اهتتزاز الشاشه Application.ScreenUpdating = False 'الغاء خاصيه الرسائل التنبهيه Application.DisplayAlerts = False 'حلقه تكراريه لحذف ورقه ما عدا ورقه المسار For Each SH In ThisWorkbook.Sheets If SH.Name <> "Collector" Then SH.Delete Next SH 'حلقه تكراريه للمصنفات الموجوده في المسار المحدد الي ان يجد اي مصنف في هذا المسار Do While Filename <> "" 'فتح المصنف Workbooks.Open Filename:=Path & Filename, ReadOnly:=True 'حلقه تكراريه لكل اوراق العمل داخل المصنف النشط For Each SH In ActiveWorkbook.Sheets 'نسخ ورقه العمل و لصقها بنهايه فهرس اوراق العمل SH.Copy After:=ThisWorkbook.Sheets(X) 'زياده قيمه المتغير بمقدار 1 X = X + 1 'الانتقال لورقه العمل التاليه Next SH 'اغلاق المصنف Workbooks(Filename).Close 'اعاده ضبط المتغير Filename = Dir() Loop 'تنشيط او تحديد ورقه العمل الاولي Sheets("Collector").Activate 'تفعيل خاصيه التنبيه بالرسائل Application.DisplayAlerts = True 'تفعيل خاصيه اهتزاز الشاشه Application.ScreenUpdating = True End Sub حيث ان هذا الكود يقوم بعمل حلقه تكراريه علي اسماء الشيتات داخل المجلد test و البدا باول شيت ثم اعاده عمل حلقه تكراريه اخري جديده علي اسماء الشيتات الموجوده في هذا الشيت لنقلها بالترتيب و بعد الانهاء يقوم باغلاق ملف الاكسيل الاول و الانتقال الي الحلقه التكراريه الاولي لياخذ الملف التالي و يعود و يكرر نفس الحلقه التكراريه حتي ينتهي من كل ملفات الاكسيل داخل المجلد test و بعد الانتهاء تقف الحلقه التكراريه و يقف الكود تم وضع شرح للكود بكافه تفاصيله يمكنك مشاهده داله حساب ضريبه كسب العمل- داله مبرمجه في الاكسيل يمكنك مشاهده تحويل pdf الي ورد او اكسيل بدون برامج يمكنك مشاهده الطباعه في الاكسيل يمكنك مشاهده حمايه البيانات في الاكسيل قد يعجبك ايضا تصميم شيت اليوميه الامريكيه قد يعجبك ايضا شرح داله البحث الداله vlookup بالامثله و التطبيقات العمليه المصدر موقع المحاسب العربي https://acc-arab.com/2020/03/blog-post_24-2.html
    3 points
  2. تفضل جرب المرفق ، ولكن ، لما تكتب في السجل ، فتلقائيا سيظهر لك سجل جديد في الاسفل ، ولكن لما تنتهي من تعبئة السجل ، فتلقائيا سيختفي ، الى ان تضغط على زر سجل جديد مرة اخرى 1376.block5-.accdb.zip
    2 points
  3. maklemééééééééééé21, انتبه من فضلك فالمعادلة تعمل بكل كفاءة فهذه معادلة مصفوفة ولابد من الضغط على Ctrl+Shift+Enter وليس Enter فقط , كما أخبرك استاذنا الكبير ابراهيم الحداد بارك الله فيه وفى جهوده
    2 points
  4. ملفك يحتوي علي اسماء فقط بدون درجات تفضل المصنف2.xlsx
    2 points
  5. تلوين الخليه النشطه في الشيت تلوين الخليه النشطه في الشيت نقدم لكم اليوم كود لتلوين الخليه النشطه بمجرد الضغط بالماوس حيث يسمح هذا الكود بمجرد الضغط بالماوس بتلوين الخليه النشطه و بمجرد الانتقال الي خليه اخري يتم الغاء اللون و يعود بدون لون فهذا الكود يساعد في التعامل مع شيتات العمل كبيره البينات الا ان المشكله في هذا الكود انه سيقوم بمسح التنسيقات الاساسيه للشيت و عليك اعاده تنسيق الشيت بعد انتهاء العمل كيف يمكن اضافه الكود انتقل الي اسم الشيت و اضغط بزر الماوس الايمن و اختار view code ثم من القائمه الجانبيه اختر الشيت الذي تريد تنشيط هذا الكود به و قم بوضع الكود المرفق Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer ' اجعل جميع خلايا ورقة العمل الحالية بدون لون Cells.Interior.ColorIndex = 0 rowNumberValue = ActiveCell.Row columnNumberValue = ActiveCell.Column ' لون عمود الخلية الفعالة مابين الخلية الفعالة واسم العمود For i = 1 To rowNumberValue Cells(i, columnNumberValue).Interior.ColorIndex = 19 Next i ' لون سطر الخلية الفعالة مابين الخلية الفعالة واسم العمود For j = 1 To columnNumberValue Cells(rowNumberValue, j).Interior.ColorIndex = 19 Next j End Sub تستطيع التحكم في لون التظليل من خلال تغير القيمه للمتغير Interior.ColorIndex باحد الارقام التاليه تغيير اللون المستخدم في هذا الكود: يمكنك استخدام أي لون من الالوان الموجوده في القائمة التالية فقط استبدل رمز اللون في الكود ثم لاحظ أن القيمة 0 تعني لا لون. تلوين الخليه النشطه في الشيت و في الختام يتضح لنا بعض من امكانيات البسيطه التي يمكن ان ننفذها من خلال برمجه الاكسيل المتقدم و ننصحك بمزيد من الدروس في هذا المجال الشيق و يمكن متابعه المزيد من الافكار في هذا المجال من خلال تحميل افضل مرجع عربي لتعلم برمجه الاكسيل المتقدم و لكن اذا كنت من المهتمين ببرمجه الاكسيس المتقدم تحميل كتاب استخدام الاكسيس في تصميم البرامج التجاريه يوجد به العديد من الافكار البرمجيه في مجال تصميم البرامج التجاريه و المحاسبيه يمكنك ان تشاهد ايضا الدوال المبرمجه في الاكسيل مواضيع ذات صله دوال التجميع و التجميع الشرطي الان و فقط حصري علي المواقع العربيه تعلم كيفيه تصميم الدوال المبرمجه في الاكسيل مهارات كتابه المعادلات في الاكسيل تحويل pdf الي ورد او اكسيل بدون برامج تجميع و دمج عده ملفات عمل اكسيل في ملف عمل واحد تعلم طريقه تصميم شيت اليوميه الامريكيه احترافي من الصفر شرح داله البحث الداله vlookup بالامثله و التطبيقات العمليه المصدر موقع المحاسب العربي https://acc-arab.com/2020/07/active-cell-color.html
    2 points
  6. السلام عليكم ورحمة الله ضع هذه المعادلة فى الخلية "B5" =IFERROR(INDEX('قائمة الموفين'!$B$5:$L$15;SMALL(IF('قائمة الموفين'!$M$5:$M$15=$H$2;ROW('قائمة الموفين'!$M$5:$M$15));ROW(A1))-4;COLUMN(A1));"") و اضغط Ctrl+Shift+Enter ثم اسحب طولا و عرضا ثم ضع المعادلة التالية فى الخلية "A5" ثم اسحب نزولا =IF(B5="";"";SUBTOTAL(3;$B$5:B5)) قوائم العمال1.xlsx
    2 points
  7. . قصدك هذه الازرار: . السبب ان هذه الازرار لا تتفاعل مع اعدادات النموذج ، لأن هذه ازرار البرنامج وليست ازرار النموذج 🙂 وطريقة إخفائهم تتم عن طريق مكتبات الوندوز: Private Const GWL_STYLE = (-16) Private Const WS_CAPTION = &HC00000 Private Const WS_MINIMIZEBOX = &H20000 Private Const WS_MAXIMIZEBOX = &H10000 Private Const WS_SYSMENU = &H80000 Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOZORDER = &H4 Public Const SWP_FRAMECHANGED = &H20 Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare PtrSafe Function SetWindowPos Lib "user32" ( _ ByVal hwnd As Long, _ ByVal hWndInsertAfter As Long, _ ByVal X As Long, _ ByVal Y As Long, _ ByVal cx As Long, _ ByVal cy As Long, _ ByVal wFlags As Long) As Long ' ************************************************** ' Public Function AccessTitleBar(Show As Boolean) As Long ' ' Calling it AccessTitleBar(0) ' This will Hide Acces Title Bar ' it will fill the screen, without a Title Bar without Buttons, so you will have to give the use a way to quit ' Dim hwnd As Long Dim nIndex As Long Dim dwNewLong As Long Dim dwLong As Long Dim wFlags As Long hwnd = hWndAccessApp nIndex = GWL_STYLE wFlags = SWP_NOSIZE + SWP_NOZORDER + SWP_FRAMECHANGED + SWP_NOMOVE dwLong = GetWindowLong(hwnd, nIndex) If Show Then dwNewLong = (dwLong Or WS_CAPTION) Else dwNewLong = (dwLong And Not WS_CAPTION) End If Call SetWindowLong(hwnd, nIndex, dwNewLong) Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, wFlags) End Function Public Function AccessTitleBarButtons(Show As Boolean) As Long ' ' Calling it AccessTitleBarButtons(0) ' This will Hide the Buttons: MINIMIZE, AXIMIZE, Close buttons on the Access Title Bar ' to Hide MINIMIZE Button ONLY: Const FLAGS_COMBI = WS_MAXIMIZEBOX Or WS_SYSMENU ' to Show MINIMIZE Button ONLY: Const FLAGS_COMBI = WS_MINIMIZEBOX ' ' to Hide them all: Const FLAGS_COMBI = WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_SYSMENU ' Dim hwnd As Long Dim nIndex As Long Dim dwNewLong As Long Dim dwLong As Long hwnd = hWndAccessApp nIndex = GWL_STYLE Const wFlags = SWP_NOSIZE + SWP_NOZORDER + SWP_FRAMECHANGED + SWP_NOMOVE Const FLAGS_COMBI = WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_SYSMENU dwLong = GetWindowLong(hwnd, nIndex) If Show Then dwNewLong = (dwLong Or FLAGS_COMBI) Else dwNewLong = (dwLong And Not FLAGS_COMBI) End If Call SetWindowLong(hwnd, nIndex, dwNewLong) Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, wFlags) End Function . 1. اذا اردنا اخفاء الازرار ، فننادي دالة: AccessTitleBarButtons(0) 2. بينما اذا لا نريد الازرار ، ولا نريد تحريك البرنامج من شريط الادوات Toolbar ، فيجب اخفاء شريط الادوات (ويمكن استبداله في النموذج بمربع تسمية ، اذا لزم الامر) ، فننادي دالة: AccessTitleBar(0) المناداة تكون في ملف الماكرو AutoExec والذي يعمل تلقائيا لما يعمل البرنامج : . لتصبح الشاشة هكذا: جعفر example_semo.zip
    2 points
  8. السلام عليكم بعض التصويب في معادلة أخي سليم بالملف المرفق... إن شاء الله تفي الغرض المطلوب.. بن علية حاجي Naser_Masry_2.xlsx
    1 point
  9. السلام عليكم ورحمة الله غير العبارة Dim ahmed As Range الى Dim ahmed As long و سيعمل معك الكود
    1 point
  10. وعليكم السلام 🙂 عملت زر في النموذج الرئيسي . وهذا الكود لحدث تحميل النموذج ، وحدث آخر عن نقر الزر Private Sub Form_Load() Me.subtblIbriData.Form.AllowAdditions = False End Sub Private Sub cmd_Add_Record_Click() Me.subtblIbriData.Form.AllowAdditions = True Me.subtblIbriData.SetFocus Me.subtblIbriData!Block.SetFocus End Sub جعفر 1376.block5-.accdb.zip
    1 point
  11. إبداع فوق الوصف،، الله يعطيك العافية ويوفقك لكل خير،،
    1 point
  12. حياك الله 🙂 وانصحك انك دائما تستعمل البرنامج المرفق ، كل مرة تعدل على برنامجك ، وكل مرة تصادف مشكلة : جعفر
    1 point
  13. استبدل السطر بهذا : Private Declare PtrSafe Function apiGetLocaleInfo Lib "kernel32" _ واعمل compile مرة اخرى
    1 point
  14. ولكي يكون الموضوع متكامل 🙂 وبدل ان تستخدم القوائم المختصرة الافتراضية : و والتي تسمح للمستخدم ان يدخل في تصميم النموذج والتقرير ، او بدل ان تخفي القائمة المختصرة من البرنامج فلا يستفيد المستخدم من احد اهم القوى المتوفرة في الاكسس بدون برمجة ، اعمل قائمتك المختصرة مثل: او او او او حسب التعليمات في هذ الموضوع: القائمة المختصرة - Shortcut menu - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
    1 point
  15. حياك الله 🙂 ولكن رجاء تذكّر: لا تقيّد المستخدم بإحكام ، بحيث حتى هذه الازرار تخفيها عنه ، فيجب عليك عمل ازرار كافية لكي يخرج من النماذج او البرنامج ، وإلا ، فسيغلق الكمبيوتر من زر الكهرباء ويعمل عطب وتلف لهذا البرنامج ، والسبب انه اراد الخروج من البرنامج ولم يحصل على طريقة اخرى ، ونحن المبرمجين نكون السبب 😬 جعفر
    1 point
  16. وعليكم السلام تفضل .... Kan_aa.accdb
    1 point
  17. اتمني يكون المطلوب ‫‫‫‫‫‫‫‫قاعدة الدورات التدريبية 5 والاخيرة - نسخة.rar
    1 point
  18. السلام عليكم ورحمة الله وبركاته كل عام وانتم بخير هذا البرنامج هدية مقدمة من الاستاذ صالح ربيع ... هذا البرنامج مسموح تطويره وتحديثه الى الافضل برنامج طباعة الاختبارات بطريقة الأتمتة.rar
    1 point
  19. البرنامج اولا به مشاكل يسجل اسم الشركة للمرة الاولى ولكن لا يستدعيها فى الكومبوكس فى النموذج الدخول وبالتالى لا يفتح لا يمكن للمستخدم سوى شئ واحد فقط خسارة وقته فى التحميل البرنامج غير مفتوع اصلا mdb كل ما الاحظه شئ واحد فقط اناس تضع مشاركات لغرض زيادة عدد المشاركات اناس تستخف برواد المنتدى اعتذر بصراحة دائما احزن بسبب المشاركات الخداعة والردود المستفزة على تلك المشاركات والتى فى وجهة نظرى فى الاخر هى والعدم سواء المنتدى هنا تعليمى بحت اما لطرح الافكار من خلال مرفقات مفتوحه او تبادل الخبرات من خلال النقاش او تناقل العلم بتطوير اعمال سبقنا اليها غيرنا لتواكب التطور او حتى الرد على تساؤلات تحتاج الى اجابات نتعلم منها جميها اعرف ان كلماتى لاذعة واعتقد قد تغضب منى الكثيرين ولكن هناك اماكن للتباهى وهناك اماكن لكسب الاعداد الكثيرة من المشاركات لم يهتم بعدد المشاركات كما انا هناك اماكن مخصصة للاعلانات والبيع لعرض السلع اما بصراحة المنتدى هنا والقسم هذا تحديدا للتعلم وتناقل الخبرات والمعرفة ومساعدة المحتاجين الجادين فى التعلم لذلك بصراحة امقت مصل هذه المشاركات والردود عليها بالاطراء الغير مبرر اصلا اتمنى ان يبحث كل من يريد عن ظالته فى المكان المخصص لذلك فلكل مقام مقال ومقام هذا القسم ليس الا لتناقل العلم والمعرفة اعتذر لنقدى اللاذع ولكن وقتى ثمين اكره ان يضيع بين مثل هذه الاشياء التى فى غير محلها
    1 point
  20. سلام الله عليكم ورحمته وبركاته ارجو من سيادتكم المساعدة للوصول الى حل لمنع نسخ ملف الاكسل من على الجهاز الموجود عليه الى جهاز اخر . ويوجد عند فكرة هل يمكن مثلا ربط ملف الاكسل مثلا بالسريل نمبر الخاص بالهارد ديسك الخاص بالجهاز. بحيث ان الملف لاينسخ على جهاز اخر لايحمل نفس السريل نمبر او يمنع نسخه اصلا . وهذا بالطبع يتم عن طريق الكود . المهم هل يمكن فعل هذا او غيره لحماية الملف من النسخ من جهاز الى جهاز اخر . ووشكرا و
    1 point
  21. اتفضل افتح تقريرك في وصع التصميم واكتب هذا الكود عند فتح التقرير Private Sub Report_Open(Cancel As Integer) DoCmd.Minimize DoCmd.OpenReport Me.Name, acViewPreview End Sub ولان لا ارفقت اي القاعدة اتفضل اليك مرفق لكي تلقي نظرتا اليه اظهار التقرير عند اخفاء شاشة اكسس وبدون تكبير التقرير.rar
    1 point
  22. تفضل اخى الكريم برنامج حسابات صغير يعتمد على قيود اليوميه من تصميمى ما عليك الا انك تنشء حساب باسم الصندوق واسماء العملاء الذى تريد وتعامل معها بحكم خبرتك فى المحاسبة مدين ودائن وكدا اسم المستخدم admin ;كلمة السر admin برنامج حسابات يعتمد على قيود يوميه.rar
    1 point
  23. شكرا لك اخى العزيز ولكن كلمة السر الهدف منها هو حماية المعادلات من التغيير حتى لا ينهار التصميم حتى لاينهار البرنامج في حالة استخدامه كبرنامج للطلبه اما اذا اردنا الاستفاده منه من الاكواد من طريقه التصمبم ... لانستطيع نرجو ان تحذو حذو عمالقة المنتدى وترفع نسخه 2003 مفتوحة وجزاك الله خيرا
    1 point
  24. أخى الفاضل / هذا الملف لأحد الزملاء افتحه قد يفى بالغرض منع فتح الملف إذا تم نقله أو تغيير إسمه ومنع حفظه بإسم جديد.rar
    1 point
  25. تمت الاجابة على طلبك في الموضوع الاصل 🙂 جعفر
    0 points
×
×
  • اضف...

Important Information