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

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

  1. ياسر العربى

    ياسر العربى

    الخبراء


    • نقاط

      11

    • Posts

      1510


  2. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

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


    • نقاط

      11

    • Posts

      13165


  3. الصـقر

    الصـقر

    الخبراء


    • نقاط

      7

    • Posts

      1836


  4. خالد الرشيدى

    خالد الرشيدى

    الخبراء


    • نقاط

      6

    • Posts

      889


Popular Content

Showing content with the highest reputation on 10/26/15 in مشاركات

  1. إخواني وأحبابي في الله تتقدم إدارة الموقع بالتهنئة لكلٍ من العضوين الكريمين :: خالد الرشيدي *** ياسر العربي فنتقدم لهما بالتهنئة الحارة من قلوبنا ، ونتمنى لهما مزيد من التفوق والتميز .. مع تحيات أخوكم أبو البراء
    4 points
  2. الأخ العزي الأز / خالد الرشيدي والأخ العزيز/ ياسر العربي الف ألف مبروك ترقية مستحقة عن جدارة والكل يشهد لكم بذلك فإلى مزيد من التقدم والترقي في كافة مجالات حياتكم تقبللا تحياتي واحترامي والشكر موصول لأستاذنا القدير صاحب الهم الكبير ودواء العليل في هذا المنتدى حبيبنا ياسر خليل
    2 points
  3. أسعد الله أوقاتكم بكل خير فيما يلي الدرس العاشر من دورة "إكسيل 2013 المستوى المتقدم" بعنوان دوال قواعد البيانات- الجزء الثاني الدرس العاشر - دوال قواعد البيانات 2 أتمنى لكم مشاهدة ممتعة ومفيدة يمكنكم تحميل ملفات التمارين الخاصة بهذه الدورة من خلال الرابط التالي: http://www.4shared.com/rar/QvwJQLddce/_-__.html لمتابعة الموضوع الرئيسي للدورة يمكنكم فتح الرابط التالي حيث جميع الدروس موجودة: دورة اكسيل 2013 المستوى المتقدم دمتم بخير أخوكم م/نضال الشامي Google+
    2 points
  4. استاذ صقر هتنزل الاختبارات امتى عشان الحق اذاكر اصلي بقالي فترة مش براجع وشكلي هشيل المادة وبعدين بابا بيقولك راجعلي كويس عشان مش بفهم بسرعه يالهوي علي الحسد
    2 points
  5. أستاذ ياسر والأستاذ أبو البراء والأستاذ الصقر اذا بالإمكان تنزيل SQL وهو برنامج مجاني من مايكروسوفت وانشاء الله ستاتي الدروس لاحقا ------ انا اكثر اشي فادني بهاي المواضيع، انه بشغلي برنامج محاسبة ضخم أساسه sql وانا مش كثير راضي عن التقارير اللي بعطيني إياها البرنامج المحاسبي اضطريت اشبك البرنامج المحاسبي مع الاكسل عن طريق ربط الاكسل بجداول اس كيو ال وحاليا بكسبة زر ببني كل التقارير اللي بدي إياها مع رسوم بيانية بدون ادخال أي قيمة يدوية ------- ومع التجرية اقدرت ابني برامج بواجهة اكسل وبدون أي وجود للبيانات فيها، فقط برامج للتقارير وأيضا برامج اكسل تكون فقط بها شاشات ادخال وتخزن البيانات بقواعد بيانات اس كيو ال --------
    2 points
  6. يا ابو البراء ياسر ده خط كبير اسالنى انا محدش عارفه غيرى ده بحر وبحوره غويطه يبان قدامك انه غلبان وكدا وهو بقولك يا ياسر انا مش عايزك تبطل هرش فى دماغك طلع اللى عندك ومتخفش ولو عايز بخاخ على حسابى
    2 points
  7. الطريقه التاسعه :- تعبئه الكمبوبوكس بدون تكرار وبناء على شرط باستخدام الحلقه التكراريه For Each و المتغير Collection وداله If (طريقه احترافيه) لو عندى شيت زى كدا وفيه بيانات وعايز اقوم بتعبئة الكمبوبوكس بالبيانات المظلله باللون الاخضر ولكن دون تكرار وبناء على اسم المعرض شاهد الصوره كما هو مبين بالصوره انا عايز اقوم بتعبئة الكمبوبوكس ولكن حسب عملاء معينه مثلا وليكن الجزائر ( عبدالعزيز البسكرى و شوقى ربيع ) فقط نعمل ايه؟ هو نفس الكود السابق اللى بالطريقه الثامنه مع تعديل بسيط تعالو نشوف الكود كان ايه ؟ وما هو التعديلات اللى هتم عليه ؟ Private Sub UserForm_Initialize() On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) group1.Add data, data.Text group2.Add data.Offset(0, 1).Value Next data With Me.ComboBox1 For i = 1 To group1.Count .AddItem group1(i) .List(.ListCount - 1, 1) = group2(i) Next i End With End Sub اللى هيتم تغييره بالكود 1- هذا السطر للحلقه For Each For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) هنا بدل الحلقه ما بتلف على خلايا العمود A هخليها تلف على خلايا العمود B زى كدا For Each data In Sheet1.Range("b2:b" & Sheet1.Cells(Rows.Count, "b").End(xlUp).Row) 2- بعد سطر الحلقه التكراريه هعمل شرط لجلب البيانات وذالك من خلال قاعدة If انا عايز اجيب عملاء الجزائر فقط If data.Offset(0, -1).Value = "الجزائر" Then group1.Add data, data.Text group2.Add data.Offset(0, 1).Value, data.Text End If زى ما احنا شايفين سطر الكود استخدمنا If لعمل شرط ما هو الشرط ؟ الشرط ان data اللى بتمثل كل خلية فى العمود B يبص على الخليه اللى قبلها يعنى مثلا لما يكون data قيمتها B2 يبص على الخلية اللى قبلها اللى هى A2 ( طبعا دا تم من خلال offset ) طيب هو لما يبص على الخلية اللى قبلها A2 هيختبر ايه ؟ عايزه يشوف هل مكتوب بها الجزائر أو لا ؟ اذا كانت بها الجزائر ينفذذ الاسطر التالية ثم انهاء If وطبعا شرحنا معنى هذه الاسطر قبل كدا وبعد هذه التعديلات البسيطه على الكود هيكون شكله النهائى كدا فى حدث فتح الفورم Private Sub UserForm_Initialize() On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("b2:b" & Sheet1.Cells(Rows.Count, "b").End(xlUp).Row) If data.Offset(0, -1).Value = "الجزائر" Then group1.Add data, data.Text group2.Add data.Offset(0, 1).Value, data.Text End If Next data With Me.ComboBox1 For i = 1 To group1.Count .AddItem group1(i) .List(.ListCount - 1, 1) = group2(i) Next i End with End Sub شاهد الصوره عند فتح الفورم ************************************************************************************** واحد فنان هيسئلنى سؤال فنى ************************************************************************************** هو انا لو عايز مصر مثلا مش الجزائر لازم ادخل كل مره على الكود واغير فى هذا السطر If data.Offset(0, -1).Value = "الجزائر" Then هغير بدل من الجزائر اعملها مصر If data.Offset(0, -1).Value = "مصر" Then هقوله الاجابه ايوا لكن انا عارف قصدك انت عايز طريقه احترافيه وهى تعبئة الكمبوبوكس بناء على اخر فى الحاله دى لازم اعمل كمبوبوكس جديد فى الفورم اتبع معى الخطوات التالية الخطوه الاولى :- هنصمم كمبوبوكس جديد شاهد الصوره الخطوه الثانيه : عمل كود فى حدث فتح الفورم هنعمل كود ليقوم بتعبئة الكمبوبوكس 2 بالبيانات فى العمود A الخاصه باسماء المعارض ولكن دون تكرار امامك طريقتين 1- اذا كان الاسماء للمعارض ثابته ممكن تعملها من خلال المصفوفه زى ماعرفنا قبل كدا زى كدا Private Sub UserForm_Initialize() Dim a As Variant a = Array("اليمن", "مصر", "سوريا", "الجزائر") ComboBox2.List = a End Sub 2- اذا كان الاسماء للمعارض متغيره اذن هنستخدم كود المجموعات مع شرط عدم التكرار فهيكون الكود كدا كما تعلمنا من قبل Private Sub UserForm_Initialize() On Error Resume Next Dim data As Range Dim group1 As Collection Set group1 = New Collection For Each data In Sheet1.Range("a2:a" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) group1.Add data, data.Text Next data With Me.ComboBox2 For i = 1 To group1.Count .AddItem group1(i) Next i End With End Sub وعند تشغيل الفورم سيكون كالتالى الخطوه الثالثه :- انا عايز عند الاختيار من الكمبوبوكس 2 يتم تعبئة الكمبوبوكس 1 بالاسماء التابعه له تلقائيا اذن هعمل كود فى حدث تغيير الكمبوبوكس 2 ( يعنى كل ما يتم تغيير قيمة الكمبوبوكس 2 تتغير تعبئة الكمبوبوكس 1) هجيب نفس الكود اللى كان فى بداية الدرس اللى هو التعبئة بناء على شرط مع تغيرات بسيطه واحطه فى حدث تغيير الكمبوبوكس 2 كالتالى Private Sub ComboBox2_Change() ComboBox1.Clear On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("b2:b" & Sheet1.Cells(Rows.Count, "b").End(xlUp).Row) If data.Offset(0, -1).Value = ComboBox2.Value Then group1.Add data, data.Text group2.Add data.Offset(0, 1).Value, data.Text End If Next data With Me.ComboBox1 For i = 1 To group1.Count .AddItem group1(i) .List(.ListCount - 1, 1) = group2(i) Next i End With End Sub اللى تم تغييره فى هذا الكود هو اضافه السطر الاول يعنى تنظيف ومسح محتوى قائمة الكمبوبوكس 1 لاستضافه البيانات الجديده حسب التعديل فى الكمبوبوكس 2 وايضا استبدال هذا السطر If data.Offset(0, -1).Value = "الجزائر" Then بالسطر التالى If data.Offset(0, -1).Value = ComboBox2.Value Then جعل الشرط حسب محتوى الكمبوبوكس 2 شاهد الصوره التالية عند اختيار مصر من الكمبوبوكس 2 سيظهر القائمة فى الكمبوبوكس 1 باسماء عملاء مصر فقط شاهد الصوره التالية عند اختيار سوريا من الكمبوبوكس 2 سيظهر القائمة فى الكمبوبوكس 1 باسماء عملاء سوريا فقط **** كدا عرفنا ازاى نقوم بتعبئة الكمبوبوكس بناء على شرط **** وكمان عرفنا ازاى نقوم بتعبئة الكمبوبوكس بناء على كمبوبوكس اخر( وطبعا فى طرق اخرى كتير جدا لتعبئة كمبوبوكس بناء على كمبوبوكس اخر ) يعنى درس النهارده دسم ومحتاج تركيز ولازم تجربو الكلام ده عملى ارجوا يارب ان اكون وفقت بالشرح والى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد وطريقه اخرى من طرق تعبئة الكمبوبوكس انتظرونا تقبلوا تحياتى
    2 points
  8. أخى أنس مشكور على الأكواد الجميلة دى واثراء للموضوع ده كود تغيير المستخدم SwitchUser Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long Sub SwitchUser() Dim su su = ExitWindowsEx(EWX_REBOOT, 0) End Sub تحياتى
    2 points
  9. السّلام عليكم و رحمة الله و بركاته هل تعلم أستاذي القدير مختار حسين محمود أنّي من هُواة أعمالك .. جزاك الله خيرًا و زادها بميزان حسناتك .. متعة حقيقيّة بروائع أكوادك فائق إحتراماتي
    2 points
  10. اخي واستاذي الفاضل نضال الشامي بجد مجهود رائع وعمل متقن وجزيت خيرا علي هذه الدروس القيمة لي نصيحة صغيرة جدا دروس الميديا اقل تصفحا في اوقات العمل لذا انا واحد من الاشخاص هروح علي الدرس المشروح كتابة وصور ومثال توضيحي للوصول الى ما احتاجه بسرعه ولكن موضوع الشرح فيديو هذا سأقوم بتصفحه عند العودة من العمل فعملك المتقن يسقط منه فئة من الناس عن مشاهدة وخصوصا اصحاب السرعات الضعيفة ايضا واللي معندهمش وقت فاقترح اضافة شرح ولو بسيط بالصور والكتابة ومثال الحل والتمارين تحت دروس الميديا يبقي كدا وصلنا علمنا لمعظم الشرائح مجرد فكرة تقبل مروري الرخم صح ياسر العربي
    2 points
  11. دائما رائع أخى الغالى / مختار جزاك الله كل الخير على كل ما تقدمه تقبل منى خالص تحياتى وتقديرى
    2 points
  12. دائما اخوانا هنا سباقين بالحلول او انا اللي دايما بتأخر مش عارف المهم مشكور اخي العيدروس واسمحلي لازم احط التاتش المصري بردو دا عند غلق الملف مثل ما قال اخي الغالي Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.CommandBars("Ply").Enabled = True End Sub اما لو من شيت لاخر فا تبقي كدا Private Sub Worksheet_Activate() Application.CommandBars("Ply").Enabled = False End Sub Private Sub Worksheet_Deactivate() Application.CommandBars("Ply").Enabled = True End Sub تقبل مروري المتواضع ياسر العربي
    2 points
  13. حط في حدث اغلاق الملف Application.CommandBars("Ply").Enabled = true
    2 points
  14. ADO Connectionاستخدام الاكسيل كقاعدة بيانات عن طريق وسيلة الاتصال اعتقد ان هذا الموضوع سيعطيكم معلومة جديدة في كيفية التعامل مع الاكسل كقاعدة بيانات في البداية الطريقة تعتمد على وسيلة الاتصال Active Data Object ADO وهي وسيلة اتصال بين برنامج كتابة الاكواد و قاعدة البيانات مثلا VB.net and SQL Visual Basic and Access وهي حصرية لبرامج مايكروسوفت فقط ولكي يكون لدينا اتصال كامل يجب ان يكون لدينا Connection String وهو عنوان قاعدة البيانات التي سيتم الاتصال بها، والذي من خلاله سيكون التالي: * فتح اتصال* * جملة الاستعلام* * انهاء الاتصال* وهنا تكمن الميزة بهذه الطريقة، فجملة الاستعلام يجب كتابتها بطريقة SQL dataBase وهنا تنطبق معظم جمل SQL امثلة على الجمل select * from [data] Select Count(Customer) from [data] Select Sum(Customers) from [data] where city ='Ramallah' تعلم كتابة جمل جديدة وغيرها من الجمل التي يعرفها جيدا المبرمجون باستخدام قواعد البيانات SQL,MYSQL,Oracle اكبر فائدة لهذه الطريقة انه يمكن من خلالها تصميم واجهة برنامج على الاكسل او تصميم فورم على الاكسل وحفظ البيانات على ملف اكسل اخر بدون الحاجة الى فتحه ولاستخدام هذه الطريقة يجب تفعيل التالي Tools-References بالمرفق ملف اكسل يحتوي مثال على ما تم ذكره سابقا database.zip
    1 point
  15. هذا البرنامج البسيط الذي أسميته "خير جليس" هي ثمرة فكرة بدرت في ذهني حينما رأيت تراكم الكتب في منزلي ففكرت أنه لابد لكل واحد لديه نفس المشكلة في بيته فارتأيت إنجاز هذا العمل المتواضع ليسهل البحث عن الكتاب وكذلكك تنظيم الكتب وعدم اتلافها أوضياعها، ثم بعد ذلك تطورت الفكرة فرأيت أن أجعلها حتى لغير المنزل بل للمكتبات العامة ...وغيرها إن أمكن ذلك وأرجو أن ينال إعجابكم ورضاكم وأن ينفع الجميع إنشاء الله فقط لاتنسونا بأرائكم واقتراحاتكم بعد التفحيص والتمحيص في البرنامج ولا تنسونا من خالص دعائكم أيضا، وكذلك دون أن أنسى شكري الخالص لكل من ساندوني في كل اشكالاتي واستفساراتي التي كنت عالقا فيها من الإخوة الأعضاء والمشرفين لهذا المنتدى وكذلك التجارب والخبرات الكثيرة التي أخذتها، وهذا وإن أصبت فبتوفيق من الله عز وجل وإن أخطأت فمن تقصيري و من الشيطان. وفي الأخير تقبلوا مني فائق التقدير والإحترام . وشكرا المرفق بحجم كبير لذلك رفعته على رابط خارجي: http://www.up-gulf.com/do.php?id=2614
    1 point
  16. فنون وأساليب التنبؤ باستخدام الاكسيل نعرض أساليب التنبؤ بالدوال وأدوات تحليل البيانات الموجودة في برنامج ميكروسوفت اكسيل ثم نتناول الطرق الرياضية والاحصائية في كيفية حساب الدالة. للتأكيد على المزايا التي يوفرها الاكسيل والدقة العالية التي يحسب بها النتائج ******************************************** الفئات المستهدفة: المدراء الماليين رؤساء الحسابات المحاسبين مديري المبيعات المهتمين بدراسات الجدوى العاملون في مجال التخطيط المالي والموازنات التقديرية -------------------------------------------------------------------- دورة مجانية 100% يستضيفها جروب تدريب وتأهيل المحاسبين بالإسكندرية برعاية المحاسب القانوني الأستاذ احمد وفا. وسيتم تحديد موعد كل محاضره والاعلان عنها وسيكون الحضور اون لاين للانضمام في الدورة https://www.facebook.com/events/509996679169161/ ------------------------------------------------------ فيديو تعليمي بداخل الفيديو كتيب pdf+ ملفات اكسيل تطبيقية ارجو من الجميع المشاركة فهذه الدورة مجانية 100% ولا تنسونا بصالح دعاؤكم ملفات الاكسيل التطبيقية.rar
    1 point
  17. السلام عليكم ورحمة الله وبركاته تناولت فى الفترة الماضية مايأتى حماية للشيت ما عدا نطاق محدد أو Protect Sheet Expect Range على الرابط http://www.officena.net/ib/topic/64169-حماية-للشيت-ما-عدا-نطاق-محدد-أو-protect-sheet-expect-range/ حماية كل أوراق العمل ما عدا نطاقات محددة أو Protect All Sheets Expect Ranges على الرابط http://www.officena.net/ib/topic/64193-حماية-كل-أوراق-العمل-ما-عدا-نطاقات-محددة-أو-protect-all-sheets-expect-ranges/ واليوم أقدم لكم حماية تلقائية للبيانات بمجرد فتح الملف لكل أوراق العمل مع استثناء نطاقات محددة قابلة لتعديل البيانات بها و بكلمة سر كلمة السر هى unloock ( ممكن تغييرها من الكود ) وهذا بناء على طلب أخونا وائل الأسيوطى الكود وعليه الشرح Dim sh As Worksheet Private Sub Workbook_Activate() ' Auto Protect Workbook Expect Ranges ' by mokhtar 25/10/2015 With Application .DisplayAlerts = False ' تعطيل التنبيهات .ScreenUpdating = False ' تعطيل تحديث الشاشة For Each sh In Worksheets ' لكل شيت فى الاوراراق If sh.ProtectContents = True Then ' اذا كان الشيت محميا فان ' لا تفعل شيئا Else ' واذا لم يكن محميا sh.Protect ' اجعل الشيت محميا End If ' انهاء الشرط Next sh ' الشيت التالى ActiveWorkbook.Save ' حفظ .DisplayAlerts = True ' اعادة تشغيل التنبيهات .ScreenUpdating = True ' اعادة تشغيل تحديث الشاشة End With End Sub Private Sub Workbook_Open() With Application .DisplayAlerts = False ' تعطيل التنبيهات .ScreenUpdating = False ' تعطيل تحديث الشاشة On Error Resume Next ' فى حالة حدوث خطأ تجاهله وانتقل للأمر التالى ' حلقة تكرارية للتعامل مع كل شيت فى الملف For Each sh In Worksheets ' اذا كانت محتويات الشيت محمية فان If sh.ProtectContents = True Then ' اجعل الشيت غير محمياً sh.Unprotect ' حلقة تكرارية لحذف جميع النطاقات المسموح يتعديلها فى الشيت For i = 1 To sh.Protection.AllowEditRanges.Count Debug.Print sh.Protection.AllowEditRanges(i) sh.Protection.AllowEditRanges(i).Delete Next i ' انهاء الحلقة التكرارية ' اضافة النطاقات المسموح بتعديلها أثناء حماية الشيت Sheets("Sheet1").Protection.AllowEditRanges.Add Title:="mokhtar1", Range:=Range("A18:G29"), Password:="unloock" ' اضافة النطاق فى الورقة الاولى Sheets("Sheet2").Protection.AllowEditRanges.Add Title:="mokhtar2", Range:=Range("F6,H7,D8,F14,H14"), Password:="unloock" ' اضافة النطاق فى الورقة الثانية Sheets("Sheet3").Protection.AllowEditRanges.Add Title:="mokhtar3", Range:=Range("D2,F3,D6,B8,F11,B14,D14"), Password:="unloock" ' اضافة النطاق فى الورقة الثالثة Sheets("Sheet4").Protection.AllowEditRanges.Add Title:="mokhtar4", Range:=Range("F10:F23"), Password:="unloock" ' اضافة النطاق فى الورقة الرابعة Else sh.Protect End If ' انهاء الشرط Next sh ' انهاء الحلقة التكرارية .DisplayAlerts = True ' اعادة تشغيل التنبيهات .ScreenUpdating = True ' اعادة تشغيل تحديث الشاشة End With End Sub المرفق للتجربة تحياتى والسلام عليكم Auto Protect Workbook Expect Ranges By Mokhtar.rar
    1 point
  18. السلام عليكم ورحمة الله وبركاته بالكلمات لا يمكننى ان اعبر عن سعادتى بهذه التهنئة الرائعة ويعجز اللسان عن تقديم الشكر بالقدر اللائق بحضراتكم الاستاذ / ابو عبد الاله الاستاذ /ابو عبد الرحمن البغدادى الاستاذ القدير / عادل حنفى الاستاذ / محى الدين ابو البشر الاخ الحبيب أ/ الشهابي لكم جزيل الشكر والتقدير اخوتى واساتذتى الكرام ... وفقنا الله جميعا لما فيه الخير الاستاذ الكبير / أبو البراء .. صاحب التشجيع والدعم المستمر .. والله انى احبك فى الله .. .. لك منى خالص التحية والاحترام لشخصكم الكريم
    1 point
  19. مبارك ستاذ خالد الراشدي لمست تجاوبك الجميل وحلولك الذكية بارك الله بك وسدد خطاك
    1 point
  20. ألف مبروك ويستحقان هذه الترقية جهودهما واضحة وبارزة نسأل الله تعالى لهما التوفيق ومن تقدم لتقدم إن شاء الله .
    1 point
  21. السلام عليكم إستكمالاً لما بدأه الاستاذ / يــاسر العربى ... جزاه الله خيراً اليك الطلب الثانى اليك المرفق 2ترحيل.rar
    1 point
  22. الله يرحم لما كنا بنطفيه من الفيشة دلوقتي ما شاء الله بنطفيه من الاكسيل
    1 point
  23. أخي الحبيب مختار بارك الله فيك إنت عارف إني دايما بشوف وأجرب وأرجع أجرب لحد ما الاقي فيه مشكلة ولا كله تمام جرب تغير الباسورد الموجود داخل الكود ..واحفظ الملف وافتحه وجرب تعدل في الشيت الأول ..مفيش مشكلة هتكتب كلمة السر وكله تمام روح لورقة تانية وحاول تعدل في الخلايا المحددة هيطلب كلمة سر أدخل كلمة السر الجديد مش هتشتغل ...
    1 point
  24. يرجى طرح الموضوع من بداياته أخي الكريم مازن بدايةً من بدء تنصييب البرنامج .. في انتظار دروسك على أحر من الجمر ستجدني إن شاء الله أول الطلبة المتقدمين في صف التعلم أخي ياسر العربي شكلك طالب مشاكس ..ابقا اقعد في التختة اللي جنبي عشان أستفيد منك
    1 point
  25. برافو أهو كده يبقى التاتش المصرى
    1 point
  26. أخى الغالى ياسر فتحى بارك الله فيك و مشكور على مرورك والله فى أيام كثر فيها (اخطف واجري قبل ما صاحب الموضوع يدري ... )
    1 point
  27. أخى العزيز / ياسر العربى تحية طيبة وبعد ،،،،،، لا عليك إطلاقاً وليس هنالك أى داعى للإعتذار بل أنا الذى أعتذر لك إن كنت قد أسأت الظن بك أو بأحد. خالص شكرى وتقديرى أخوك عيد مصطفى
    1 point
  28. زي ما اخويا وحبيبي الغالي ابو البراء قال توضح لينا الفكرة ولو بمثال وطريقة الربط انا بصراحة دخلت هرشت في دماغي وخرجت كل اللي عرفته لاني بردو وحش وبيري غويط والمصري ميبقاش مصري لو محطش التاتش بتاعة ومينفعشي يقول معرفشي ان دا زي ما انا كنت بعمل منتديات ومواقع وارفعها علي اي استضافة بحتاج اني اربطها بقاعدة بيانات DataBaseName = "------" ServerName = "------" UserId = "------" Password = "------" بعرف اسم القاعدة وعنوان السيرفر واسم المستخدم وكلمة المرور عشان يقدر المنتدى او الموقع ايا كان يقدر يتواصل مع قاعدة بيانات الsql في انشاء الجداول ووضع البيانات المراد العمل عليها من ادخال واستعلامات زي اسماء المستخدمين وكلمات المرور والمواضيع والكلام دا فا هنا ربطنا الاكسيل بقاعدة اس كيو ال وبعدين استخرجنا قيمة من احد الجداول داخل القاعدة واخرجناها في الخلية Range("a3").CopyFromRecordset rs ياترى اكمل هرش في دماغي ولا ابطل
    1 point
  29. اخي وحبيبي الغالي/ ياسر فتحي البنا لك كل الشكر والتقدير لمروركم الكريم هذا ونراكم في تقدم وعطاء باذن الله والمشترك بينا الاسم والجيرة كمان انا من منيا القمح شرقية يعني سكة واحدة فدا شرف لينا حبيبي
    1 point
  30. اخى الفاضل / ياسر العربى الإسم الغالى مبارك على الترقية المستحقة مع مزيد من التقدم والرقى تقبل خالص تحياتى وتقديرى
    1 point
  31. استاذى الفاضل نضال الشامى جزاكم الله خيرا وجعل اعمالكم فى ميزان حسناتكم تقبل منى وافر الاحترام والتقدير
    1 point
  32. أخي محمد الخازمي كما شرحت وتفضلت هذه طريقة تنفيذ الكود أن تقوم بخفض مستوى الحماية عن الملف وتقوم بعمل تحديث للخلية a1 بحيث يجلبلك سريال (لوحة الام) وبعدها قم بإغلاق الملف وافتحه مرة أخرى إذا كان مطابق يفتح مباشرة وعند نقل نفس الملف الى جهاز أخر وفتحه يقوم الكود بفحص الرقم الموجود في الخلية A1 ويكون في هذه الحالة عدم التطابق "يعطيك رسالة مفادها أن البرنامج نسخة للعرض فقط كمثال" طبعاً أنت في ملفك تسطيع إضافة ماتريد في حال عدم التطابق مثلا (اغلاق الملف مع الحفظ أو بدون الحفظ) وفي هذه الحالة لاتسطيع ابدأ فتح الملف مرة أخرى أتمنى أن تكون فكرتي وصلت اليك بشكل صحيح تقبل تحياتي
    1 point
  33. بضغطة زر واحدة : يتم تعديل المراحل فقط بغض النظر عن الشعب وذلك باستخدام استعلام التحديث تبدأ بالمراحل العليا ثم الدنيا زيادة في الايضاح : لنفرض ان المرحلة هي المتوسطة فقط وهي ثلاث صفوف 1- اولا يتم حذف الطلاب المتخرجين في الصف الثالث 2- نعمل استعلام تحديث للصف الثاني ( تحديث الى : "الصف الثالث" ) وفي حقل المعايير نضع : "الصف الثاني" ثم نشغل الاستعلام يتم من خلال العملية السابقة استبدال الكلمة الصف الثاني بالكلمة الصف الثالث ثم نكرر هذه العملية لتحديث الصف الاول
    1 point
  34. اخي وليد لقد جهزت لك الملف للرفع الورقة محمية لذا لم استطع اضافة زر للماكرو اليك الكزد لهذاالغرض يمكنك نسخه في موديل جديد و تعيين زر له او تشغيل الماكرومن الملف المرفق Sub split_in_tow_columns1() Dim ws1, ws2 As Worksheet Dim Myrange As Range Dim lr, My_nb_rows As Integer Dim c, k As Integer k = 5 c = 3 Set ws1 = Sheets("ATTENDANCE"): Set ws2 = Sheets("Number trades in the project") lr = ws1.Cells(Rows.Count, "f").End(3).Row Set Myrange = ws1.Range("f9:f" & lr) ws2.Range("c5:c26").ClearContents ws2.Range("f5:f26").ClearContents For i = 9 To lr t = Application.CountIf(ws1.Range("f5:f" & i), Range("f" & i)) If t = 1 Then Cells(i, 6).Copy ws2.Cells(k, c) k = k + 1 If k > 26 Then k = 5: c = 6 End If Next End Sub برنامج حظور وانصراف salim.zip
    1 point
  35. السلام عليكم الاخ خالد الرشيدي اشكرك جزيل الشكر جزاكم الله خيرا على مجهودكم الطيب
    1 point
  36. اخى الحبيب / يــاسر العربى مبارك عليكم الترقية المستحقة ... الى مزيد من التقدم والرقى ان شاء لله واشارك حضرتك الشكر والتقدير للمنتدى وأساتذته والقائمين عليه على هذه الثقة الغالية التى منحونى اياها وفقنا الله جميعاً لما فيه الخير ... والسلام عليكم .
    1 point
  37. أخي الحبيب عيد مصطفى رويدك رويدك .. لا تغضب .. لا تغضب واتق الله في إخوانك وأحسن الظن بهم لست أنت المقصود على الإطلاق من الحوار ... الحوار في عموم الأمر .. ولك مني اعتذار إذا كنا قد أسأنا إليك تقبل وافر ودي واحترامي
    1 point
  38. ألف مبروك الترقية لخبير معتمد أخي الحبيب خالد الرشيدي فأنت والله تستحقها عن جدارة بارك الله فيك ولا حرمنا الله منك أبداً
    1 point
  39. أخي الحبيب خالد الرشيدي عمل رائع ومتميز كعادتك دائماً .. تقبل وافر تقديري واحترامي
    1 point
  40. أخي الكريم مازن ممكن مزيد من التفاصيل عن الـ SQL .. حيث أن معظمنا يفتقر للتعامل مع SQL .. بارك الله فيك وجزاك الله كل خير
    1 point
  41. الطريقه الثامنه :- تعبئه الكمبوبوكس بدون تكرار باستخدام الحلقه التكراريه For Each و المتغير Collection (طريقه احترافيه) هذه الطريقه طريقه احترافيه من حيث فكرة الكود وكتابته ولكنها غير عملية ومفيده فى البيانات ذات النطاق الكبير نظرا لاعتمادها على عدد 2 حلقه تكراريه مما يسبب البطئ فى ادخال البيانات لو كان نطاق العمل كبير لو عندى شيت زى كدا وفيه بيانات وعايز اقوم بتعبئة الكمبوبوكس بالبيانات المظلله باللون الاخضر ولكن دون تكرارشاهد الصوره انا كل مره بالشرح بكتب الكود وبعدين اشرحه بالتفصيل المره دى انا هشرحه قبل ما اكتبه تعالو نشوف ايه اللى بيحصل ببساطه ايه المطلوب ؟ المطلوب هو ادخال البيانات اللى بالشيت المظلله باللون الاخضر ( A2:B7) اذن لازم اعمل متغير يعبر عن كل خلية بالنطاق فنعمل ايه ؟ Dim data As Range انا دلوقتى عايز العمودين دول يدخلوا فى الكمبوبوكس برضوا فى عمودين انا هعمل ان كل بيانات عمود عباره عن مجموعه بمعنى ايه الخلايا من A2 الى اخر خلية بها بيانات فى العمود A ( دى تكون مجموعه اولى ) والخلايا من B2 الى اخر خلية بالعمود A ( دى تكون مجموعه تانية ) طيب علشان اعلن عن مجموعه يبقى لازم اعمل كدا Dim data As Range Dim group1 As Collection Dim group2 As Collection عرفت متغير وسميته group1 وقلت ان المتغير ده من النوع Collection ( وCollection تعنى مجموعه ) طبعا زى ما اتفقنا انى عايز اعرض عمودين يبقى لازم اعرف كل عمود فى مجموعه فأنا محتاج اعرف متغير لكل مجموعه لذالك عملت group1 و group2 طيب group1 و group2 عباره عن ايه ؟ عباره عن مجموعات جديده اذن لازم استخدم set لتحويل قيمة المتغير الى كائن طيب أزاى ؟ بالشكل ده شوف الكود Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection حولت قيمة المتغير group1 الى كائن يساوى مجموعه جديده وايضا حولت قيمة المتغير group2 الى كائن يساوى مجموعه جديده ********************************************************************************************* محلوظه مهمه جدا انا عملت مجموعتين لاننا عايزين نقوم بتعبئة الكمبوبوكس ببيانات العمودين A و B لكن لو حضرتك عايز عمود A فقط اذن تعرف مجموعه وحده فقط يعنى على حسب عدد الاعمده هتعرف مجموعات *********************************************************************************************** طيب دلوقتى عملنا بالكود مجموعتين عايزين ندخل فيهم البيانات بقى اللى بالشيت فنعمل ايه ؟ هنستخدم الحلقه التكراريه For Each ونسمى الحلقه باسم Data ونقول ان الحلقه تبدأ من A2: الى اخر خليه بها بيانات وطبعا اتكلمنا بالتفصيل قبل كدا عن الحلقه For Each راجع الدرس السابق تعالو نشوف الكود وصل لوين ؟ Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) Next data كدا عملنا الحلقه والحلقه هتلف من خلال Next بس كدا هتلف على الفاضى مجرد بس هتمر على الخلايا اللى بالنطاق وتقولها السلام عليكم ان مش عايز سلامات وطيبون دلوقتى انا عايز استفيد من لفتها ومن عملها عايز اقولها ان group1 المجموعه الاولى تساوى العمود A اللى هو Data وعايز ان group2 المجموعه الثانيه تساوى العمود B اللى هو بجوار الـ Data ( من خلال offset) فالكود هنضيف فيه ايه ؟ شوف الكود Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) group1.Add data group2.Add data.Offset(0, 1).Value Next data قلنا ان group1 قم بأضافه data ( اللى هى خلايا العمود A) من خلال Add وكذالك group2 قم بأضافه خلايا العمود B واحد هيقولى بس كدا هياخد كل البيانات اللى بالنطاق حتى وان كانت مكرره وانت قلتلى ان الطريقه دى مش هيكرر البيانات فى الكمبوبوكس هو انت بتضحك عليا هقوله يا عم اصبر شوية انا عايز اديك الطريقتين لو عايز البيانات زى ما هى حتى وان كانت مكررة يبقى الكود السابق كدا تمام ولكن لو مش عايز تكرار بسيطه جدا هنعمل اضافه صغيره جدا جدا جدا شوف الكود On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) group1.Add data, data.Text group2.Add data.Offset(0, 1).Value Next data اللى مركز معايا وصاحى هيعرف ايه اللى تم اضافته تم اضافه السطر الاول وهو عباره On Error Resume Next وتعنى عند حدوث اى خطا انتقل الى السطر التالى واحد هيقولى طيب وهو هيحصل خطأ ليه هو مش الكود مكتوب صح هقوله لان انت طلبت عدم تكرار الاسماء فالكود عندما يصادف اسم مكرر هيتوقف ليتم تبليغ حضرتك فعلشان كدا كتبتله هذه العباره انه مش عايزه يبلغنى وينتقل الى السطر التالى ويكمل الحلقه بتاعته دون توقف وتم اضافه هذا الجزء البسيط فى السطر group1.Add data, data.Text الجزء المظلل باللون الاحمر هى الاضافه البسيطه اللى تمنع التكرار طيب كدا حلو قوى لحد دلوقتى تم تعبئة كل مجموعه المجموعه الاولى بالعمود A والمجموعه الثانيه بالعمود B ازاى بقى ندخل بيانات كل مجموعه فى اعمدة الكمبوبوكس اذن هستخدم الخاصيه With واقفالها بــ End with للاشاره الى الكمبوبوكس المراد تعبئته With Me.ComboBox1 End With هنا ياتى دور الحلقه التكراريه التانيه اللى مهمتها تلف على كل محتويات المجموعه ودخلها فى اعمدة الكمبوبوكس الحلقه هى For Next للمرور على كل عناصر المجموعه من رقم 1 اللى هو اول عنصر بالمجموعه الاولى الى اخر عنصر بالمجموعه الاولى On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) group1.Add data, data.Text group2.Add data.Offset(0, 1).Value Next data With Me.ComboBox1 For i = 1 To group1.Count .AddItem group1(i) .List(.ListCount - 1, 1) = group2(i) Next i End With AddItem. يشير الى العمود الاولى للكمبوبوكس وقمنا بتعبئة عناصر المجموعه group1 (List(.ListCount - 1, 1. يشير الى العمود الثانى للكمبوبوكس وقمنا بتعبئة عناصر المجموعه group2 يبقى تحديد وقت تنفيذ الكود وزى ما اتفقنا قبل كدا ان وقت تنفيذ الكود انت اللى بتحدده ولكن على سبيل المثال فى حدث فتح الفورم Private Sub UserForm_Initialize() On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) group1.Add data, data.Text group2.Add data.Offset(0, 1).Value Next data With Me.ComboBox1 For i = 1 To group1.Count .AddItem group1(i) .List(.ListCount - 1, 1) = group2(i) Next i End With End Sub والى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد وطريقه اخرى من طرق تعبئة الكمبوبوكس انتظرونا تقبلوا تحياتى
    1 point
  42. السلام عليكم هذا حل بالإكواد اضغط الزر وانتظر قليلا ثم لاحظ النتيجة في العمودين الأصفرين تحياتي متوسط الإقفال لكل شهر.rar
    1 point
  43. السلام عليكم جميعا ورحمته الله وبركاته أخى الفاضل الاستاذ // رضا راغب أهلا وسهلا بك أخى الكريم بين إخوانك المتميزين خلقا وعلما وأدبا وبعد إذن اخى الحبيب // ياسر خليل " أبو البراء " وإثراءا للموضوع إليك هذا الكود وبإذن الله تعالى ستجد حلا للموضوع جزاكم الله خيرا وبارك فيكم Private Const cRunWhat = "Tarhil_Values" Private RunWhen As Double, Arr() As Range, CurIndex As Long Public Sub StartTimer() Dim A As Areas, I As Long If RunWhen > 0 Then MsgBox "The Process Is Already Running" Exit Sub End If Set A = Sheets("Sheet1").Columns("A").SpecialCells(2, 1).Areas ReDim Arr(1 To A.Count) For I = 1 To A.Count Set Arr(I) = A(I).CurrentRegion Next I CurIndex = 0 RunWhen = Now + TimeSerial(0, 0, 10) Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, Schedule:=True End Sub Public Sub StopTimer() On Error Resume Next Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, Schedule:=False RunWhen = -1 MsgBox "Transferring Data Will Be Turned Off" End Sub Private Sub Tarhil_Values() CurIndex = CurIndex + 1 If CurIndex > UBound(Arr) Then StopTimer Exit Sub End If Arr(CurIndex).Copy Sheets("Sheet2").Cells(Arr(CurIndex).Row, "C") Application.CutCopyMode = False RunWhen = Now + TimeSerial(0, 0, 10) Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, Schedule:=True End Sub
    1 point
  44. أسعد الله أوقاتكم بكل خير فيما يلي الدرس الثامن من دورة "إكسيل 2013 المستوى المتقدم" بعنوان المصفوفات في اكسيل 2013 الجزء الرابع الدرس الثامن - المصفوفات الجزء الرابع أتمنى لكم مشاهدة ممتعة ومفيدة يمكنكم تحميل ملفات التمارين الخاصة بهذه الدورة من خلال الرابط التالي: http://www.4shared.com/rar/QvwJQLddce/_-__.html دمتم بخير أخوكم م/نضال الشامي Google+
    1 point
  45. مرفق ملف للتوضيح Dملف باسم داتا يوضع مثلا على قرص كمبيوتر والملف الثاني لا يشترط وضعه في مكان وبالامكان تغير مساق الداتا كما يمكن تغير قيم الادخال وإدخال من خلايا الاكسل او من مربع نص بالفورم Input And Query From DB.zip
    1 point
  46. السلام عليكم ورحمة الله وبركاته بارك الله بجهودكم الطيبة أستاذ نضال الشامي..اللهم اجعله علماً نافعاً شاملاً والسلام عليكم.
    1 point
  47. الاخ الفاضل الاستاذ عبدالله قمت بادراج الكود فى نموذج لا يغلق الا مع البرنامج وشغال كويس واكتملت الفائدة بحمد الله تعالى وبارك الله فيك وفى الاستاذ كابون
    1 point
×
×
  • اضف...

Important Information