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

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

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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      8

    • Posts

      8,723


  2. kanory

    kanory

    الخبراء


    • نقاط

      8

    • Posts

      2,256


  3. Barna

    Barna

    الخبراء


    • نقاط

      5

    • Posts

      983


  4. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      3

    • Posts

      9,814


Popular Content

Showing content with the highest reputation on 12 ينا, 2021 in all areas

  1. أهلا بك في المنتدى ..... اخي الكريم لو ارفقت مثال لما تريد لوجدت المساعدة من اعضاء المنتدى أهلا بك مرة اخرى في المنتدى
    3 points
  2. أعزائي طلاب العلم، السلام عليكم ورحمة الله وبركاته، يسعدني أن أتواصل معكم من خلال هذه المنصة الرائدة في تقديم المعرفة وتبادل الخبرات التعليمية. سأقوم إن شاء الله تعالى من خلال هذا الموضوع بشرح خطوات عمل البحث العلمي أو بحث التخرج مع التركيز على العلوم الاجتماعية والتربوية. أيضا سيتم من خلال هذه الشروحات بإذن الله تعالى تقديم أمثلة عملية تدريبية للمهتمين من طلاب العلم ومناقشة اهتماماتهم البحثية. وسيتم تقديم هذه الدروس إن شاء الله على شكل سلسلة يتم فيها شرح خطوات البحث العلمي ومشروع التخرج واحدة تلو الأخرى وصولا إلى البحث كاملا. وسيتم بإذن الله تقديم شروحات وافية عن عمليات التحليل الإحصائي المرتبطة بعمل البحوث وخصوصا البحوث الكمية وذلك في قسم علم الإحصاء متوازيا مع هذه الشروحات في حينه. قريبا جدا سأبدأ بالدروس .. فانتظروني !! أخوكم الدكتور خضر الرجبي
    2 points
  3. لان المتغير X و Y عبارة عن Variant الشبية للنص String ، بينما انت تريد ان تجمع الرقمين ، فلابد من تحويلهم الى Double او Integer لتتم عملية الجمع بطريقة صحيحة ، فهنا اخبرنا الكود: اعمل تغيير للمتغير X الى رقم: Convert to Double ، او cDbl 🙂 الطريقة المثلى للتعامل مع دوالنا الخاصة (سواء في النموذج او الوحدة النمطية) هي ، ارسال القيمة جاهزة اليها ، اي نضبط القيم قبل ارسالها للدالة ، وفي حال موضوعك هو: عند ارسال المعلومة: If Len(Me.txt1 & "") = 0 Then MsgBox "Please enter a value" Me.txt1.SetFocus ElseIf Len(Me.txt2 & "") = 0 Then MsgBox "Please enter a value" Me.txt2.SetFocus Else Me.txt3 = m(Nz(Me.txt1, 0), Nz(Me.txt2, 0)) End If . فتصبح الدالة: Function m(x As Double, y As Double) As Double m = x + y End Function . ولكن لأنك قلت انك تريد الفحص في الفنكشن ، لهذا السبب شفت محاولات الشباب 🙂 : .. . . من وين وصلتك هذه المعلومة ، فأنا لم اتكلم عنها لا من قريب ولا من بعيد !! في الواقع ، لذة البرمجة هي في عمل الدوال والتي بها يتم اختصار العمل وعدم عمل تكرار للكود 🙂 جعفر
    2 points
  4. سلسلة تعليم بور كويري الجزء الرابع جلب بيانات من نطاق أو من جدول في الفيديو دة تقدر تسحب بيانات من نطاق أو من جدول والفرق بينهم https://www.youtube.com/watch?v=6kckAB1dkRQ
    2 points
  5. لو استخدمت خاصية البحث في المنتدى لوجدت ما يسرك
    2 points
  6. بسم الله الرحمن الرحيم فى البداية لا اعلم ان كان قد تطرق احد الى هذا الموضوع الاتى شرحة من قبل ام لا وعلى كل لا ضرر فى توضيحة من جديد طبعا الحل دا هتلجأ لى بعد ما تنفذ منك كل سبل تصغير حجم قاعدة البيانات او ممكن تستخدمة عند انشاء برنامجك من البداية الموضوع ببساطة هو تحويل قاعدة بياناتاك من Access الى Sql تحويل الخلفية فقط ( الجداول ) اما النماذج فيتم انشائها فى اكسس عادى طريقة العمل المتطلبات ------------------ 1 - Microsoft SQL Server 2008 R2 RTM - Management Studio Express لينك التحميل https://www.microsoft.com/en-us/download/details.aspx?id=22985 2 - سيكوال سيرفير 2008 R2 لينك التحميل https://www.microsoft.com/en-us/download/details.aspx?id=30438 3- اوفيس اصدار 2007 فما فوق -------------------------------- شرح بسيط بالبلدى كدا احنا هنعمل سيرفير محلى وننشئ عليه قاعدة بيانات وبدل ما نصمم عليها الجداول من اول وجديد هنصدرها من الاكسس ببيانتها بكل ما تحتوى بس كدا هههههههههه طريقة العمل اول هنسطب السيرفر المحلى ( سيكوال سيرفير 2008 R2 ) طريقة تسطيب هتلاقوها فى الفيديو دا ثانيا تثبيت Microsoft SQL Server 2008 R2 RTM - Management Studio Express وهتلاقو طريقة التثبيت فى الفيديو دا نخش بقى على المهم بعد التثبيت هنفتح Management Studio Express هتلاقوه فاتح الشاشة دى هتكتب فى اسم السيرفير .\SQLEXPRESS وبعدين connect هتطلعلك الشاشة دى كليك يمين واختار داتابيز جديدة زى الصورة بالظبط هتظهرلك شاشة التالية هنكتب فيها اسم قاعدة بيانات اللى انت عاوزها وبعدين OK بعد كدا هتظهرلك قاعدة بايناتاك ضمن قواعد البيانات زى اللى فى الشاشة التالية لو مظهرتش كليك يمين ورفريش هتظهر معاك على طول --------------------------------------------------- كدا احنا انشأنا قاعدة البيانات على السيرفير ولكن بدون جداول فاضل بقى نظهر قاعدة البيانات للاكسس علشان يقدر يشوفها على السيرفير المحل تابع معايا اولا من قائمة استارت اختار بحث او ابحث عن البرنامج الاتى odbc data sources افتحه هيظهرلك الشاشة دى اختار Add بعد كدا هتظهرلك دى اختار Sql Server وبعدين Finsh هتظهرلك الشاشة دى طبعا هتكتب اسم قاعدة البيانات اللى انت عاوزها ونفسها فى حقل الوصف واسم السيرفير دا .\SQLEXPRESS وبعد كدا Next هتظهرلك الشاشة دى اختار منها Next هتظهر الشاشة دى علم على اللى فى الصورة واختار منها قاعدة بياناتك اللى انت انشأتها بعد كدا هتظهر اخر شاشة دى اختار منها Finsh هتظهرلك شاشة تاكيد اختار منها OK وممكن تعمل منها تيست لقاعدة البيانات تشوفها متصلة ولا لا بعد كدا هتلاقى قاعدة بياناتك ظاهرة فى كما فى الشاشة التالية --------------------------------------------- كدا احنا وصلنا لنص المهمة ظهرنا قاعدة البيانات للاكسس فاضل بس اصدر ليها الجداول بتاعتى هتفتح الاكسس وكليك يمين على الجدول نختار الاتى بعد كدا بعد كدا امسح الجدول طبعا قبل ما تمسح خد نسخة من قاعدة البيانات علشان مترجعش تصوتلى تقولى البرنامج باظ هههههههههه بعد كدا من بيانات خارجية فى الاكسس اختار التالى بعد كدا الاتباط بمصر البيانات علشان يعمل لينك للجدول بين السيكوال والاكسس بعد كدا اختار قاعدة البيانات بتاعتنا بعد كدا هتلاقى الجداول اللى صدرناها ظاهرة فى الاول مسبوقة بكلمة dbo_ اختاره واضغط اوكيه بعد كدا هياكد معاك حقول الجدول اللى هيا مفتاح اساسى اختار المفتاح الاساسى فقط هتلاقى الجدول ظهر عندك فى قاعدة البيانات الخاصة بك بهذا الشكل فقط اعد تسميته كما كان والجدول ظاهر بكل بياناته وبكدا يبقى قاعدة البيانات اتحول من اكسس الى سيكوال وسهل جدا تعمل لها باك اب من خلال سيكوال شكرا لكم
    1 point
  7. ألوان فاقعة وخلايا مدمجة (لأ استطيع العمل على هكذا ملف) أعتذر
    1 point
  8. بالنسبة للجداول انت بحاجة لجدولين رئيسيين جدول العاملين يشتمل على بيانات العامل الثابتة خاصة وجدول التفاصيل لإدراج المرتبات يشتمل على الاستحقاق المالي والشهر ( التاريخ) من الجدول الأخير يمكنك عمل تقارير متنوعة ولا تنسى عند استفسارك مرة اخرى ان ترفع مرفقا بآخر ما وصلت اليه _ كما بين لك اخي kanory _ مع طلب واحد فقط
    1 point
  9. السلام عليكم ورحمة الله وبركاته .. هذا هو المطلوب 100 % والله ثم والله يا سيد @سليم حاصبيا ما اقدر اعبر عن شكري لك واسأل الله ان يزيدك علم وبصيرة وينور حياتك وبدون ماتعرف المدام 😁😁( الله يزوجك ) الى هنا يعتبر هذا اكبر انجاز حقيقه .. واذا مابتمانع ياغالي اولا لما اسوي تصفية في صفحة Tarhil للصف 1 واكبس ترحيل يحذف التصفيه ممكن تعديل تبقى التصفية مكانها ... انا سويت الطلب سابقا.. ثانيا اذا ظهر تعديل جديد مابتمانع .. ممنون لك والله الف الف شكر 🙏
    1 point
  10. عندي عادة في الأكواد لا استعمل اللغة العربية لذلك استبدل المربع الأحمر بالمربع الأزرق (الصورة) الملف مرفق happy_New.xlsm
    1 point
  11. جرب الثال التالي ربما هو ما تقصده CentreFormExamples_v2_Popup.zip
    1 point
  12. بعد اذن الاساتذه عدل هذا الجزء LR = Range("G" & Rows.Count).End(3).Row الي LR = Range("E" & Rows.Count).End(3).Row
    1 point
  13. ممناز استاذ ابراهيم لكن كي لا تكون النتيجة بشكل تاريخ بوجود علامة "/" مثلاً jun 02 يجب ادراح السطر في المربع الأحمر من الصورة
    1 point
  14. لقاعدة البيانات علي الـ SQL Server أسلوب حماية قوي يمنع الوصول الي قاعدة البيانات الي أي أحد سوي المخول لهم فقط بذلك 1- اذا كنت قد أنشأت مستخدم جديد علي الويندوز للوصول الي قاعدة البيانات فامنحه الاذن من داخل الـ SQL Server للوصول اليها شاهد هذا الفيديو للافادة عن طريقة انشاء مستخدم علي السرفر ومنحه صلاحيات علي قاعدة البيانات 2- في اعدادات اتصال الـ ODBC حدد طريقة الوصول الي قاعدة البيانات windows authentication (هذا يمنحك صلاحيات مطلقة علي قاعدة البيانات) داخل السرفر المحلي فقط 3- اذا انتهت المشكلة بعد تنفيذ الخطوة الثانية فاعلم أن مشكلتك كانت في الصلاحيات الممنوحة للمستخدم فقم بمنح مستخدمك مزيد من الصلاحيات علي قاعدة البيانت (قراءة وكتابة ...)
    1 point
  15. السلام عليكم ورحمة الله استخدم هذا الكود بعد تحويل تنسيق العمود "E" الى "Text" Sub ConcaText() Dim LR As Long, i As Long LR = Range("G" & Rows.Count).End(3).Row i = 3 Do While i <= LR Range("E" & i).Value = Range("H" & i).Value & " / " & Range("G" & i).Value i = i + 1 Loop End Sub
    1 point
  16. اتفضل اخى لعله يفى بالغرض Sheet0.xlsx
    1 point
  17. لو استخدمت خاصية البحث تجد ما يسرك ...
    1 point
  18. جرب المرفق التالي واعلمني بالنتيجة kan_mosnad.accdb
    1 point
  19. وعليكم السلام ورحمه الله وبركاته تفضل اخى الكريم Private Sub Workbook_Open() #If VBA7 Then Application.WindowState = xlMaximized #Else Application.Quit #End If End Sub
    1 point
  20. الصفحة يحب ان يبدو هكذا (الصورة) ( الصفحة test من هذا الملف) (ثم لماذا لا نستطيع التحرك في الصفحة M1 لرؤية الخلية A100 مثلاً) ABC.xlsx
    1 point
  21. طيب ياسيدي لاحظ المرفق .... معليش انا غيرت بعض المسميات للجدول وبعض الحقول لانها محجوزة للاكسس .... بداية : جرب السرعة في الاضافة للسجل بين السجلات وفتح النموذج على السجل المضاف لأضافة الحديث أو المتن المطلوب بعدها نفكر في تحريك السجلات صعودا أو نزولا .... kan_mosnad.accdb
    1 point
  22. السلام عليكم ورحمة الله وبركاته بعد اذن اخوي العزيز سليم .. ملف اكسل .. احتمال كبير ممكن يفيدك في غياب واستئذان وتأخر الطلاب ادخل البيانات المطلوبة في صفحة data .. ادخال الغياب عن طريق رقم الطالب بشكل يومي .. بعد الانتهاء من ادخال الطلاب .. الغائبين .. قم بالضغط على حفظ .. وسوف يتم حفظها في صفحة اخرى .. امكان طباعة تقرير غياب الطلاب .. على شكل كلندر .. بمجرد ادخال رقم الطالب .. والضغط على Update احصائية الغياب لجميع الفصول .. احصائية غياب الطلاب لفصل واحد APSENTSTUDENT.xlsm
    1 point
  23. Try This Macro Option Explicit Dim E As Worksheet Dim O As Worksheet Dim RO%, RE%, i%, col% Dim x1%, x2%, y%, Total% Dim F_rg As Range Dim Where As Range Dim Bol As Boolean '+++++++++++++++++++++++++++++++++++ Sub Begin() Set O = Sheets("ONE") Set E = Sheets("Ehtiag") RO = O.Cells(Rows.Count, 1).End(3).Row col = E.Cells(1, Columns.Count).End(1).Column RE = E.Cells(Rows.Count, 1).End(3).Row Set Where = O.Range("J1:J" & RO) E.Range("C3").Resize(RO - 2, col - 2).Clear End Sub '+++++++++++++++++++++++++++++++++ Sub Ila_al_Amam_Ser() Application.ScreenUpdating = False Begin For i = 3 To RE Set F_rg = Where.Find(E.Range("A" & i), LOOKAT:=1) If Not F_rg Is Nothing Then x1 = F_rg.Row: x2 = x1 Do Bol = IsError(Application.Match(O.Cells(x2, 1), _ E.Cells(1, 1).Resize(, col), 0)) If Not Bol Then y = Application.Match(O.Cells(x2, 1), _ E.Cells(1, 1).Resize(, col), 0) E.Cells(i, y) = "Ok" End If Set F_rg = Where.FindNext(F_rg) x2 = F_rg.Row If x2 = x1 Then Exit Do Loop End If Next i Total = Application.CountA(E.Range("C3").Resize(RE - 2, col - 2)) If Total = 0 Then GoTo Buy_Buy With E.Range("C3").Resize(RE - 2, col - 2) .Borders.LineStyle = 1 With .SpecialCells(2, 23) .Font.Bold = True .Font.Size = 16 .InsertIndent 1 .Interior.ColorIndex = 35 End With End With Buy_Buy: Application.ScreenUpdating = True End Sub File Included happy_0.xlsm
    1 point
  24. علما انني لم افهم ما تقصده ولكن انظر المرفق ربما هو المطلوب !!! قاعدة.accdb
    1 point
  25. ممكن تزودنا بمرفق مصغر لما تريد ....
    1 point
  26. Between [ادخل تاريخ البداية] And [ادخل تاريخ النهاية]
    1 point
  27. السلام عليكم ورحمة الله وبركاته تفضل اخوي العزيز .. المعادلة =IF(B4="","",CONCATENATE(IF(D4="",$D$3&"-",""),IF(E4="",$E$3&"-",""),IF(F4="",$F$3&"-",""),IF(G4="",$G$3&"-",""),IF(H4="",$H$3&"-",""),IF(I4="",$I$3&"-",""))) BlankCell.xlsx
    1 point
  28. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته اخوتي / اخواتي لي الشرف ان انظم الى هذا الصرح العلمي ، سائلاً المولى جل وعلا ان يوفقني لما فيه الخير للجميع 🙂 في اول مشاركة لي ، اضع بين يديكم برنامج مسقط التقارير (مسمى صانع التقارير متداول كثيرا ، لذا احببت ان اسمي برنامجي بإسم مميز ، إسم مسقطنا الحبيبة 🙂 ). البرنامج في نسخته الاولى ، لذا ، فلا تتوقعوا الكثير منه 🙂 في احد المشاريع التي عملت عليها قريبا ، كان العمل لسجلات شؤون الموظفين ، ولم يكن بالامكان عمل تقرير محدد ، حيث كانت التقارير المطلوبة من الادارة بشتى انواع البيانات ، طولا وعرضا. لذا اضطررت العمل على صانع للتقارير (في الواقع مسقط التقارير يعتبر برنامجا بحد ذاته ، فالعمل كان ، برنامج في برنامج 🙂 ). مع ان البرنامج بسيط في طريقة عمله (وطبعا عندي الكثير من الاشياء الاخرى التي اود ان اضيفها ، لكن في وقتها ان شاء الله ، وبما ان البرنامج مفتوح المصدر ، فانا ارحب بمن يضيف عليه خصائص جديدة 🙂 ) ، فمع بساطة البرنامج ، إلا ان نتائجه مرضية 🙂 العمل على البرنامج ابسط بكثير من شرحه 🙂 يمكنك نقل هذه الكائنات السته الى برنامجك الخاص ، ومسقط التقارير سيعمل بدون الحاجة الى اي تغيير او كود: مسقط التقارير يعمل على الجداول والاستعلامات فقط ، واليكم طريقة العمل: جدول او استعلام: اختر من ايهم تريد ان تعمل تقريرك ، جدول او استعلام ، الاسم: على اساس الاختيار السابق ، ستظهر لك قائمة بجداولك او استعلاماتك ، وعندما تختار اسم جدول او استعلام ، فان النموذج الفرعي الذي اسفل الاسم سوف يمتلئ باسماء الحقول من الجدول او الاستعلام ، وكلها عليها اشارة اخفي (اي كلها ستكون مخفية من الظهور في النموذج الفرعي الذي بالاسفل) ، احذف اشارة الاخفاء عن الحقول/الخانات التي تريدها ، وستظهر لك في النموذج الفرعي الذي في اسفل النموذج. هذا النموذج هو شكل مبسط من التقرير ، فكما ترى الحقول وعرضها ، وعدد السجلات ، ستراها في التقرير. هناك خطان فوق النموذج الفرعي ، باللون الاصفر والاخضر ، اذا كانت بياناتك اقل من الخط الاصفر ، سيكون التقرير بالطول ، وإلا فانه سيكون بالعرض ، وهناك خطان صفر ، فالمسافة بينهم ستكون للترقيم التلقائي للتقرير (لاحظ ان التقرير لبيانات النموذج ادناه سيكون بالعرض ، لأننا تخطينا الخط الاصفر 🙂 يمكننا ان نمسك الحقول/الخانات بالزر الايسر من الفأرة ونغير ترتيبها يمينا ويسارا ، كما ان البرنامج يحترم عرض الحقل الذي تقوم بتعديله ، (لاحظ ان التقرير لبيانات النموذج سيكون بالطول ، لأننا في حدود الخط الاصفر 🙂 وهذا هو التقرير لبيانات النموذج السابق ، ولاحظ ان البرنامج يقوم بتغيير ارتفاع الصف تلقائيا ، حتى يمكن مشاهدة جميع بيانات الحقل. اذا قررت ان تتعدى الخط الاصفر ، فنفس شروط الخط الاصفر تنطبق على الخط الاخضر ، وهنا نرى باننا اضفنا عنوان لراس صفحة التقرير ، واضفنا معلومات عن موضوع التقرير ، بالاضافة الى معلومات في ذيل التقرير: وهذا هو تقرير لبيانات النموذج السابق ، ولاحظ ان البرنامج يوسع عمود الترقيم التلقائي ليسد المسافة: بعد اختيار الحقول التي نريدها في التقرير ، نستطيع ان نفرز الحقول بالطريقة التي نريد: وكذلك تصفية البيانات حسب الحاجة: وهذا هو تقرير لبيانات النموذج السابق ، لاحظ عدد السجلات قد تغير ، لأني طلبت ان ارى السجلات التي مبالغها اكبر من 500: البرنامج لا يحفظ التقارير (نعم ، عمل طريقة لحفظ اسم لكل تقرير ، على قمة قائمة التحديثات ان شاء الله 🙂 ) ارجوا ان تتقبلوا مني هذا العمل المتواضع 🙂 اسئلة/اقتراحات ، سأحاول الرد على قدر استطاعتي ان شاء الله 🙂 جعفر ملاحظة1: عمود المجموع لا يعمل ، وكان يجب ان اخفيه 😞 ملاحظة2: في الاساس كان عندي كمية كبيرة من صور الشرح ، إلا ان المنتدى لا يسمح بأكثر من 10 مرفقات ، فاختزلت الموضوع 🙂 ملاحظة3: ادراج فيديو لطريقة عمل التقرير: Muscat_Reports.zip
    1 point
  29. أخي الكريم لو استخدمت خاصية البحث في المنتدى لو جدت الكثير والكثير لطلبك .... تفضل
    1 point
  30. مشاركة مع اخي الاستاذ @ناقل تفضل -------->>>>>> can.accdb
    1 point
  31. قليل من التنسيق الاصافي بجيث يظهر لك مكان وجود الرصيد (اسم الشيت) مع تلوينه باللون الاصفر في الشيت Option Explicit Sub get_data() Dim Inf As Worksheet Dim sh As Worksheet Dim OBJ As Object Dim OBJ_name As Object Dim S_rg As Range Dim first_row%, sec_row%, m% Dim max_ro%, Arr, ky Dim iNCLR As Range, iNCLR_RO% Set OBJ = CreateObject("Scripting.Dictionary") Set OBJ_name = CreateObject("Scripting.Dictionary") Set Inf = Sheets("Info") '+++++++++++++++++++++++++++++ For Each sh In Sheets If sh.Name <> Inf.Name Then Set iNCLR = sh.Range("B2").CurrentRegion iNCLR_RO = iNCLR.Rows.Count If iNCLR_RO > 2 Then iNCLR.Offset(2).Resize(iNCLR_RO - 2). _ Interior.ColorIndex = xlNone End If End If Next '++++++++++++++++++++++++++++++++ max_ro = Inf.Range("B2").CurrentRegion.Rows.Count If max_ro > 2 Then Inf.Range("B2").CurrentRegion. _ Offset(2).Resize(max_ro - 2).Clear End If If Inf.Range("J1") = vbNullString Then Exit Sub For Each sh In Sheets If sh.Name <> Inf.Name Then Set S_rg = sh.Range("C:C").Find(Inf.Range("J1"), lookat:=1) If Not S_rg Is Nothing Then first_row = S_rg.Row: sec_row = first_row Do sh.Cells(sec_row, 2).Resize(, 7) _ .Interior.ColorIndex = 6 Arr = sh.Cells(sec_row, 3).Resize(, 6) Arr = Application.Transpose(Arr) Arr = Application.Transpose(Arr) OBJ(OBJ.Count) = Join(Arr, "*") OBJ_name(OBJ_name.Count) = sh.Name Set S_rg = sh.Range("C:C").FindNext(S_rg) sec_row = S_rg.Row If sec_row = first_row Then Exit Do Loop End If 'find End If 'name Next 'sh m = 3 If OBJ.Count Then For Each ky In OBJ.keys With Inf.Cells(m, 3) .Resize(, 6) = Split(OBJ(ky), "*") .Offset(, -1) = m - 2 .Offset(, 6) = OBJ_name.Item(m - 3) m = m + 1 End With Next With Inf.Range("B3").Resize(m - 2, 8) .Value = .Value .Columns(5).Formula = "=SUM(D3,-E3)" .Borders.LineStyle = 1 .InsertIndent 1 .Font.Size = 14 .Font.Bold = True .Interior.ColorIndex = 19 .Value = .Value End With Inf.Cells(m, 2) = "المجموع" Inf.Cells(m, 4).Resize(, 3).Formula = _ "=SUM(D3:D" & m - 1 & ")" Inf.Range("B" & m).Resize(, 7). _ VerticalAlignment = 2 Inf.Cells(m, 2).Resize(, 2). _ HorizontalAlignment = 7 With Inf.Range("B" & m).Resize(, 8) .Value = .Value .Interior.ColorIndex = 35 End With Else MsgBox "This Name Not Exists" End If End Sub الملف من جديد Sandook_NEW.xlsm
    1 point
  32. جرب هذا الملف Option Explicit Sub get_data() Dim Inf As Worksheet Dim sh As Worksheet Dim OBJ As Object Dim S_rg As Range Dim first_row%, sec_row%, m% Dim max_ro%, Arr, ky Set OBJ = CreateObject("Scripting.Dictionary") Set Inf = Sheets("Info") max_ro = Inf.Range("B2").CurrentRegion.Rows.Count If max_ro > 2 Then Inf.Range("B2").CurrentRegion. _ Offset(2).Resize(max_ro - 2).Clear End If If Inf.Range("J1") = vbNullString Then Exit Sub For Each sh In Sheets If sh.Name <> Inf.Name Then Set S_rg = sh.Range("C:C").Find(Inf.Range("J1"), lookat:=1) If Not S_rg Is Nothing Then first_row = S_rg.Row: sec_row = first_row Do Arr = sh.Cells(sec_row, 3).Resize(, 6) Arr = Application.Transpose(Arr) Arr = Application.Transpose(Arr) OBJ(OBJ.Count) = Join(Arr, "*") Set S_rg = sh.Range("C:C").FindNext(S_rg) sec_row = S_rg.Row If sec_row = first_row Then Exit Do Loop End If 'find End If 'name Next 'sh m = 3 If OBJ.Count Then For Each ky In OBJ.keys With Inf.Cells(m, 3) .Resize(, 6) = Split(OBJ(ky), "*") .Offset(, -1) = m - 2 m = m + 1 End With Next With Inf.Range("B3").Resize(m - 2, 7) .Value = .Value .Columns(5).Formula = "=SUM(D3,-E3)" .Borders.LineStyle = 1 .InsertIndent 1 .Font.Size = 14 .Font.Bold = True .Interior.ColorIndex = 19 .Value = .Value End With Inf.Cells(m, 2) = "المجموع" Inf.Cells(m, 4).Resize(, 3).Formula = _ "=SUM(D3:D" & m - 1 & ")" Inf.Range("B" & m).Resize(, 7). _ VerticalAlignment = 2 Inf.Cells(m, 2).Resize(, 2). _ HorizontalAlignment = 7 Inf.Range("B" & m).Resize(, 7).Value = _ Inf.Range("B" & m).Resize(, 7).Value Inf.Range("B" & m).Resize(, 7). _ Interior.ColorIndex = 35 Else MsgBox "This Name Not Exists" End If End Sub الملف مرفق Sandook.xlsm
    1 point
  33. السلام عليكم ورحمة الله وبركاته إخواني الكرام .. أحاول دائماً أن آتي إليكم بما هو مفيد وجديد ، في عالم الإكسيل ، اللامتناهي ، والممتد أقدم لكم اليوم دالة معرفة .. تقوم الدالة باستخراج البريد الإلكتروني أو الايميل Email من داخل النصوص ... قد تفيد أحد ما في وقت ما .. أترككم مع الدالة ومع الملف المرفق .. تقبلوا تحياتي Extract Email Address.rar
    1 point
  34. اول شي مثلا انا عندي برنامج مبيعات اوي برامج انت مصممه مثلا اسم البرنامج data1 . 1-نأخذ من نسخة من البرنامج ونسميه اي اسم اخر مثلا ونضعها علي سطح المكتب ونسميها data2 . 2- طبعا dsta1 هي الاساس نحذف منها الاستعلامات والنماذج والتقرير واي شئ ما عادي الجداول . 3- نروح ل data2 نحذف منها الجداول فقط علشان هي دي الي هنوزعها علي الاجهزه الاخري اي علي المستخدمين الاخرين . 4- طبعا بعد حذف الجداول من data2 هنعمل ايه بعدين علي قائمة اكسس 2007 ونختار بيانات خارجيه ونختار من قائمة بيانات خارجيه اكسس سوف تظهر لي قائمة بها خياران نختار الثاني الي هو ( الارتباط بمصدر البيانات بواسطة انشاء جدول مرتبط ) وبعد ذالك نضغط علي استعراض وشوف انتي حاطط data1 فين وعلم علي عليها كليكالبياناتها ثم اضغط علي فتح ثم تظهر لك قائمة بها الجداول اضغط تحديد الكل ثم موافق . كده انت قسمت قاعدة البينات . طبعا المفترض خطوه (4) تبقي اخر حاجه علشان ما نعملهاش من جديد . 5 - طبعا اذا كان عند سيرفر طبعا هتضع عليه data1 وطبق خطوه (4) اما لوكان علي جهازك الشخصي فتتبع الاتي (أ) ننشأ فولدر جديد ونضع في قاعدة البيانات data1 ونعمل شير للفولدر بحيث جميع الاجهزه تراه ونطبق بعد ذالك خطوه رقم (4) ولو حد عنده اي استفثارات او اي تعديل يفيدنا بيها في موضوع جديد ملفات مرفقة شرح الربط باالصوره New folder.rar
    1 point
×
×
  • اضف...

Important Information