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

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

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

    ياسر العربى

    الخبراء


    • نقاط

      14

    • Posts

      1,510


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

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

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


    • نقاط

      11

    • Posts

      13,165


  3. احمدزمان

    احمدزمان

    أوفيسنا


    • نقاط

      3

    • Posts

      4,386


  4. سمير نجار

    سمير نجار

    03 عضو مميز


    • نقاط

      3

    • Posts

      436


Popular Content

Showing content with the highest reputation on 25 سبت, 2016 in all areas

  1. مرحبا بك اخي الكريم احمد في منتدى اوفيسنا جرب الكود دا Sub TEST() Range("B1:D" & Range("B1:D1").End(xlDown).Row).ClearContents Columns("A:A").TextToColumns Destination:=Range("B1"), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 1), Array(4, 1), Array(9, 1)), TrailingMinusNumbers:= _ True End Sub excel.rar
    3 points
  2. السلام عليكم لاثراء الموضوع هذا كود آخر لكن مشكلة الاسماء ذات المحق : عبد ، أبو ، ابو ، آل . . . . . تبقى قائمة Sub Name_Cel() Dim iName As Variant, _ i As Integer, _ X As Integer '-------------------------- Application.ScreenUpdating = False Range("B1:K" & Range("A1:K1").End(xlDown).Row).ClearContents For X = 1 To Cells(Rows.Count, "A").End(xlUp).Row iName = Split(Range("A" & X).Text, " ") For i = LBound(iName, 1) To UBound(iName, 1) Cells(X, i + 2) = Replace(iName(i), "", "") Next: Next Application.ScreenUpdating = True End Sub
    2 points
  3. نعم استاذي ابوالبراء هذا هو الكود ومكانه في حدث الورقة (تصفية)sheet3 حيث d2 هي خلية البحث . مع ملاحظة العمود A حيث هو مكان الفلترة والتصفية Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False On Error Resume Next Application.ScreenUpdating = False If Target.Row <> 1 And Target.Column <> 4 Then Exit Sub ActiveSheet.Unprotect ActiveSheet.ShowAllData Range("A7:A33333").AutoFilter Field:=1, Criteria1:="=" & [A2], Operator:=xlOr, Criteria2:="=" If [d1] = "" Then ActiveSheet.ShowAllData Range("D1").Select Application.CommandBars("Web").Visible = False End Sub واقصد بشمولية البحث انه يمكن البحث عن اي كلمة او جزء من كلمة او عن رقم وذلك ضمن المجال B7:M33333 وهذا الملف المرفق مع تعديل بسيط وطبعاً هنا التصفية لبينات الورقة نفسها وهناط طريقة اخرى لتصفية بيانات ورقة (عام) بيان بحركة السائقين3.rar
    2 points
  4. بصراحه انا ريحت دماغى وجبتلك دا دالة معرفة Function kh_Names(FullName As String, ParamArray iNdex1()) As String Dim i As Integer Dim kh_Split, MyArray, Ar Dim Kh_String As String, Sn As String, Re As String On Error GoTo Err_Kh_Names '====================================== MyArray = Array("عبد ", "أبو ", "ابو ", "آل " _ , " الله", " الدين", " الإسلام", " الاسلام", " الحق", " النصر", " العهد", " النور", " بالله") '====================================== Sn = Application.WorksheetFunction.Trim(FullName) For Each Ar In MyArray Re = Replace(Ar, " ", "^") Sn = Replace(Sn, Ar, Re) Next '====================================== kh_Split = Split(Sn, " ", , vbTextCompare) On Error Resume Next For i = 0 To UBound(iNdex1) Kh_String = Kh_String & " " & kh_Split(iNdex1(i) - 1) Next On Error GoTo 0 Kh_String = Replace(Trim(Kh_String), "^", " ") kh_Names = Kh_String Exit Function Err_Kh_Names: kh_Names = "" End Function وكتابة الدالة كما يلي =kh_Names($A1;COLUMN()-1) كما بالمرفق دا كود ليك ياجميل من فترة وليك اكواد كتير خاصة بموضوع الاسماء المركبة وربنا يسهل واعمل انا كود مختلف عنهم باذن الله تقبل تحياتي excel.rar
    2 points
  5. أخي الكريم سمير .. يفضل في حالة وجود أكثر من كود في الملف المرفق أن تحدد بالضبط اسم الإجراء الفرعي الذي ينفذ المطلوب .. حتى نجرب الطريقة التي فيها الشمولية للبحث في جميع الأعمدة ، حيث أنها ستفيد الكثيرين .. تقبل تحياتي
    2 points
  6. مشكور اخي الكريم محي الدين ابو البشر اليك كود اخر يفى بالغرض Sub splitText() Dim splitVals As Variant Dim totalVals As Long For Each xx In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) splitVals = Split(xx.Value, " ") totalVals = UBound(splitVals) Range(Cells(xx.Row, xx.Column + 1), Cells(xx.Row, xx.Column + 1 + totalVals)).Value = splitVals Next End Sub excel.rar
    2 points
  7. 7,493 تنزيل

    آخر تحديث أكتوبر 2012 ، نسخة متوافقة مع اوفيس 2010 -------------------- إن توثيق الملفات المختلقة من الأهمية بمكان فى العمل و فى الملفات الشخصية و لكنه قد يستغرق وقتا طويلا لذا قمت باعداد هذا التطبيق هذا التطبيق يقوم بسرد كافة الملفات أو المجلدات فى المجلد الذي تختاره و يمكن عمل ذلك للمجلد و محتوياته فقط أو اختيار المجلدات الفرعبة أيضا و هو مفيد جدا فى عمليه التوثيق للملفات و المجلدات فى العمل او المنزل جائتني الفكرة بعد طلب أحد الزملاء لوسيلة سهلة لتطبيق شيء مثيل This Excel Application Helps Documenting Folders and Files in your computer in a new Excel File You can include subfolders or not It is Very useful for Documenting Personal or Shared Folders The idea came to me upon request of one of the colleagues to do something similar, so I did prepare it , and now it is ready for use Please note the file shall be updated/improved periodically , so please check the file download link from time to time ملاحظة هامة : قبل التشغيل تأكد أن خيارات الأمان فى الاكسيل تسمح بتشغيل الماكرو Before using the file in Excel , please make sure the Macros are activated, otherwise the file will not work و لا تنسونا من صالح دعاؤكم كلمة السر هي عنوان الموقع الرئيسي لمن أراد تصفح الأكواد
    1 point
  8. السلام عليكم ورحمة الله وبركاته اذا كان عندى نموذج رئيسى وبه نموذجيين فرعيين اريد ان اضع كود لمنع التعديل على السجلات السابقة فى النماذج الرئيسية والفرعية . اى عند فتح النموذج واستدعاء النماذج السابقة يمنع التعديل نهائيا الا بعد كتابة رقم سرى للتعديل ومعنى هذا ان اريد كل الحقول اللى فى النموذج تكون مغلقة ولايسمح بتعديلها الا بعد كتابة الرقم السرى اذا كان من الافضل ان اضع زر تعديل كيف اضع زر تعديل لكل النماذج الفرعية والرئيسية معا فى زر واحد شكرا
    1 point
  9. بسم الله الرحمن الرحيم للتسهيل في استخراج مواد الرسوب للطلبة تم عمل هذه الدالة لاستخراج المواد الراسب فيها او متغيب يشترط وجود صف الدرجة العظمى ودرجة النجاح نضع هذا الكود في موديول Function ASEEL(x As Range) Dim D As String For Each Rng In x If Rng = "" Then GoTo 1 If Rng < Cells(5, Rng.Column) Or Rng = "غ" Then D = " (" & Cells(3, Rng.Column).Text & ")" & D End If 1 Next If D <> "" Then ASEEL = D Else ASEEL = "ناجح ومنقول" End If End Function ونضع هذه الدالة في الملاحظات داخل الكشف ونسحبها نزولا كما موضح بالمرفق =ASEEL(D6:J6) وشكرا دالة معرفة لاستخراج مواد الرسوب.rar
    1 point
  10. ملاحظة هامة جدا عند استعمال الشيت اذهب الى حدث صفحة الاسماء والغى كود الحماية الموجود والا سيكون هناك استحالة عمل اضافة او حذف الاسماء من الصفحة واليكم الشيت بعد التعديل معدل قوائم 2016-2017 (5).rar
    1 point
  11. السلام عليكم و رحمة الله وبركاته اخي الفاضل 1- انا سبق وقمت بدمج المواضيع الثلاثة الماضية - ثم طلبت منك توضيح للمطلوب - ولكن كثرة المواضيع لن تفيد - في كل مرة تفتح موضوع جديد و به نفس الطلب 2- من الملف المرفق ورقة تسهيل مهمة - لايوجد بها - اسم المالك - رقم السيارة القديم ورقة اعتماد - لايوجد بها - اسم المالك --- اذا هناك نقص في المدخلات او تناقضات ========================== على اي حال ========================== الحل هو ياستخدام الدالة Sumproduct او استخدام الدالة countifs حيث تقوم هذه الدالتين بحساب عدد مرات التكرار لرقم اللوحة و اسم المالك و السائق معا في الجدول اذا كان الناتج اكبر من صفر اذا يوجد اعتمادية او يوجد تسهيل مهمة واذا كان الناتج صفر اذا لايوجد آمل ان يكون هذا الشرح مقيد خالص تحياتي
    1 point
  12. السلام عليكم مشاركة مع استاذنا وحبيبنا ابا جودي لا ادري لعل هذا التعديل هو المطلوب فرز.rar
    1 point
  13. اخى الفاضل أولا جربت ملفك المرفق لم اجد ما تقول ثانيا شرط اضافة السطر الفارغ فى الكود هو : ادخال بيانات فى الخلية E69 او أى خليه بعدها If Target.Column = 5 And Target.Row >= 69 Then If Len(Target.Value) > 0 Then Target.Offset(1).EntireRow.Insert , CopyOrigin:=xlFormula Range("E" & Rows.Count).End(xlUp).Offset(2, 4).Formula = "=SUM(INDIRECT(""i10:""&ADDRESS(ROW()-1,COLUMN(),4)))" Range("E" & Rows.Count).End(xlUp).Offset(5, 4).Formula = "=SUM(INDIRECT(ADDRESS(ROW()-3,COLUMN(),4)&"":""&ADDRESS(ROW()-2,COLUMN(),4)))-(INDIRECT(ADDRESS(ROW()-1,COLUMN(),4)))" End If End If وبصورة اخرى أى ادخال بيانات فى اى خلية من E10 و حتى E68 لن يترتب عليه اضافة سطر فارغ راجع الملف مرة اخرى و على الزملاء تجربة الملف والحكم عليه تحياتى
    1 point
  14. هذا رابط آخر لبرنامج الجداول المدرسية aSc time table http://www.up-00.com/?SNZA
    1 point
  15. وعليكم السلام أخي الكريم عبد الله إن شاء المولى مشكلتك بسيطة ..فقط مزيد من التوضيح ما هي ورقة العمل التي بها المشكلة؟ ما هو النطاق أومجموعة الخلايا التي بها المشكلة؟ أين هي الدالة التي استخدمتها في عملية الفصل؟ وهل هي معادلة أم كود؟ وإذا كانت كود ما اسم الإجراء الفرعي أو الدالة المعرفة التي استخدمت لهذا الغرض؟ وضح المشكلة بالصورة ليستطيع الأخوة تقديم المساعدة المطلوبة تقبل تحياتي
    1 point
  16. شوف الملف المرفق ممكن يكون فيه طلبك جدول الحصص.rar
    1 point
  17. السلام عليكم و رحمة الله وبركاته اسعد الله ايامك اخى احمد زمان تم تجربة الملف ... وهو يعمل بشكل ممتاز جزاك الله كل خير
    1 point
  18. بتغلط ماشي اعملها بكود هي كمان بقي واستخدم الCHR فيها كمان وبعدين انت مش عايش في البلد كل المصطلحات دي اتغيرت خلاص يعني كلمة هنخش دي بتدرس يامعلم وحياتك لاعملك مصفوفة (تهزيق) هدية ليك اصبر عليا مع تحيات العربي صناع الثقة
    1 point
  19. اسمها هنخش (ممكن حد يعكس حروفها ويقراها غلط يا Farmer) .. اسمها هندخل .. أكيد هندخل دي هتفكرك بليلة الدخلة تقبل وافر حبي واعتزازي ... مع تحيات كريازي (إذا كنت تدعم توشيبا فنحن ندعم كريازي)
    1 point
  20. ومضة : : احنا هنخش على شغل بعض ولا ايه تسلملي ياغالي تقبل تحياتي
    1 point
  21. ع الأصل دور : دا المثل الشائع ، وإنت يا غالي صاحب الدالة المعرفة وصاحب الإبداع وما اقترحته مجرد ومضة بسيطة لا تذكر بجانب موضوعك الرائع والجميل ويكفي أنك تفيد الآخرين وتقدم لهم كل ما هو جديد ومفيد ... تقبل وافر تقديري واحترامي
    1 point
  22. بارك الله فيك أبو العربي ..وجزيت خيراً على مساهماتك الرائعة والممتعة والمبدعة إنت تعرف إني ممكن أفتكر أي كود عملته .. Absolutely لا .. كلا وألف كلا = 1001 كلا !! لما قلت لي إني عندي الكود بحثت عنه ووجدت الملف التالي عندي .. بس أبسولوتلي زهاااااااااااايمر على طول الخط تقبل تحياتي Split Compound Names UDF Function.rar
    1 point
  23. اخي الكريم احمد هذا يحدث لانك تحفظ الملف بامتداد XLSX غير امتداد الملف الى XLS او XLSM أو XLSB وسيحفظ باذن الله واليك موضوع لاخي ابو البراء لشرح بدايات التعامل مع ال VBA https://www.officena.net/ib/topic/64472-بداية-الطريق-لإنقاذ-الغريق/
    1 point
  24. اخي الغالي ابو البراء تسلم على لمساتك اما بالنسبة لتخطى الخلايا الفارغة كنت اعتقد انه من الافضل اعتبار الخلايا الفارغة لا تحتسب رسوب لانها لم يتم وضع الدرجة بعد ولكن بعد ردك ولفت الانتباه لها اتضح انه من الافضل ان يتم احتسابها ضمن الرسوب للفت النظر لها اثناء ملئ البيانات Function ASEEL(X As Range, Y As Range, Z As Range) Dim D As String Application.Volatile For Each Rng In X If Rng < Cells(Y.Row, Rng.Column) Or Rng = "غ" Then D = " (" & Cells(Z.Row, Rng.Column).Text & ")" & D End If Next If D <> "" Then ASEEL = D Else ASEEL = "ناجح ومنقول" End If End Function مشكور على الاضافة تقبل تحياتي
    1 point
  25. بارك الله فيك أخي الحبيب ياسر العربي .. هل فكرت بالأسماء المركبة؟ جرب أن تضع الاسم "عبد الله أحمد عبد السلام"
    1 point
  26. وعليكم السلام ورحمة الله وبركاته ((صحيح رد السلام واجب ... وعشان كدا وجب رد السلام)) أخي الكريم .. حاول أن تضع عنوان معبر عن الموضوع ، وتشرح تفاصيل الموضوع في الموضوع نفسه .. والرجاء تغيير اسم الظهور ليكون معبر عن شخصكم الكريم الرجاء من وقتك 5 دقائق وقم بالإطلاع على التوجيهات في الموضوعات المثبتة في صدر المنتدى
    1 point
  27. وعليكم السلام أخي محمد أعتقد الأمر يحتاج لمثال للتوضيح لتتضح صورة شكل النتائج المتوقعة .. اضرب مثال أو مثالين للتوضيح هل الاعتماد سيكون على رقم السيارة القديم فقط؟ وسؤال هل يمكن أن يتكرر رقم السيارة القديم أكثر من مرة في ورقة العمل الواحدة؟
    1 point
  28. و عليكم السلام و رحمة الله وبركاته ((رد السلام واجب))
    1 point
  29. السلام عليكم بالفعل افاكر نيرة وذكاء بالاستخدام أدامك الله
    1 point
  30. اخي الكريم بن بنها تفضل المرفق وبه تعديل لتستجيب الدالة لاي تغيير على الدرجة الصغرى وتم تعديل الدالة لتكون بها ثلاث نطاقات اول نطاق بالدالة هو نطاق درجات الطالب والنطاق الثاني للدرجة الصغرى والثالث لاسماء المواد كما موضح بالمرفق اما اضافة مواد اخرى فتستطيع الاضافة وتوسيع النطاق اما لو في اي تعديلات اخرى تستطيع عمل ملف بالمطلوب وان شاء الله نجد له حل تقبل تحياتي اسماء المواد الراسب فيها دالة معرفة.rar
    1 point
  31. وعليكم السلام ورحمة الله وبركاته استاذي الكريم احمد زمان بارك الله فيك هذه طريقة للتصفية من حضرتك كنت قد حفظتها من قبل وهي طريقة تعجبني كثيراً لما لها من شمولية للبحث في جميع الاعمدة أرجو أن تنال رضا استاذي ابو حنين بيان بحركة السائقين2.rar
    1 point
  32. من قبل انا اضفت لك دكمة بدل دكمة رالرئيسي للاغلاق وما يظهر رسالة docmd.setwarnings (warningsoff) الفاتورة1.rar
    1 point
  33. إستاذي ومعلمي الاستاذ المحترم / ياسر خليل أبو البراء السلام عليكم ورحمة الله وبركاته اولا جزاك الله خيرا و أحسن الله إليك و بارك الله فيك و أطال عمرك في الخير ات و الصالحات و ورزقك الله برالوالدين و الدار الفسيحة و الزوجة الصالحة والابن البار المطيع والصديق الوفي والدابة المريحة و الجار المحسن و المال الطيب المبارك فيه و حسن الخاتمة وبعدها جنات عدن ثم الحمد لله و الشكر لله لحمد و له الثناء كله علي نعمه التي لاتعد ولاتحص نحمده حمد الشاكرين حمد الموحدين {فَلَمَّا رَآهُ مُسْتَقِرًّا عِندَهُ قَالَ هَذَا مِن فَضْلِ رَبِّي لِيَبْلُوَنِي أَأَشْكُرُ أَمْ أَكْفُرُ وَمَن شَكَرَ فَإِنَّمَا يَشْكُرُ لِنَفْسِهِ وَمَن كَفَرَ فَإِنَّ رَبِّي غَنِيٌّ كَرِيمٌ } ثانيا الحمد لله جربت الكود و الحمدلله أدي المطلوب بكل دقة و روعة و أحب ان اخبرك أني من كثرت البحث في الموضوع ولم أجد حل ظننت أنه أمر مستحيل و لكن الحمد الله أن وفقك لكل خير و جعلك الله مفتاح خير مغلاق شر و أرجو ان تسامحني علي كثرت السؤال
    1 point
  34. هذا بعض ما فهمته من الملف و كيف تحدد اذا كان هتاك اعتمادية او لا و لماذا اسم السائق مبهم مطابقة بين شيتين salim.rar
    1 point
  35. السلام عليكم و رحمة الله وبركاته اسعد الله صباحكم بكل خير هل تم تحميل الملف و تجربته
    1 point
  36. السلام عليكم هذا رابط برنامج aSc على موقع خارجي http://www.mrkzgulf.com/do.php?id=427367 يساعدك في عمل الجداول المدرسية والجامعية ومشاكلها خصوصا تعارض الحصص
    1 point
  37. عيد اضحى مبارك على الامة الاسلامية
    1 point
  38. اللَّهُـــمَّ طَهِّـــرْ قُلُــــوبَنَــــا مِــــنَ النِّــــفَاقِ ، وَأَعْمَــالَنَـــا مِـــنَ الـــرِّيَــــاءِ وَأَلْسِـــنَتَــــنَا مِـــــــنَ الكَــــــــذِبِ ، وَأَعْــــيُنَــــنَا مِـــــــــنَ الخِـــــيَانَــــــةِ ، إَنَّـــــكَ تَعْـــــــلَمُ خَـــــــائِنَـــــــةَ الأَعْــــيُنِ وَمَــــــــــا تُخْــــــفِي الصُّـــــدُورُ الحمد لله حتى يبلغ الحمد منتهاه...الحمد لله على نصره المبين ...اللهم أتمم علينا بالخير..آمين..
    1 point
  39. تفضل هذا النموذج ، بزر استيراد بيانات اول صفحة ، وزر حفظ البيانات في الاكسل: والكود (لاحظ اسم ومسار ملف الاكسل ، في الحدثين): Option Compare Database Dim ExcelApp As Object 'Excel.Application Dim WkBk As Object 'Excel.Workbook Private Sub cmd_Import_From_Excel_Click() File_Path = Application.CurrentProject.Path & "\372.62293-SER OH.xls" Set ExcelApp = CreateObject("Excel.Application") Set WkBk = ExcelApp.Workbooks.Open(FileName:=File_Path) 'With WkBk.Sheets("input data") With WkBk.Sheets(1) Me.Control_No = .Range("B2").Value Me.SN = .Range("B3").Value Me.DATE = .Range("B4").Value Me.TS_Name = .Range("B5").Value Me.Component_PN = .Range("B7").Value Me.Description = .Range("B8").Value Me.JIC_NO = .Range("B10").Value Me.JIC_Rev_NO = .Range("B11").Value Me.JIC_Rev_Date = .Range("B12").Value Me.CMM_JIC_Approval = .Range("B13").Value Me.CMM = .Range("B14").Value End With If Not (ExcelApp Is Nothing) Then ExcelApp.Quit Set WkBk = Nothing Set ExcelApp = Nothing End Sub Private Sub cmd_Save_to_Excel_Click() File_Path = Application.CurrentProject.Path & "\372.62293-SER OH.xls" Set ExcelApp = CreateObject("Excel.Application") Set WkBk = ExcelApp.Workbooks.Open(File_Path) ExcelApp.Application.Visible = False 'True 'With WkBk.Sheets("input data") With WkBk.Sheets(1) 'WkBk.Sheets(1).Range("B2").Value = Me.Control_No .Range("B2").Value = Me.Control_No .Range("B3").Value = Me.SN .Range("B4").Value = Me.DATE .Range("B5").Value = Me.TS_Name .Range("B7").Value = Me.Component_PN .Range("B8").Value = Me.Description .Range("B10").Value = Me.JIC_NO .Range("B11").Value = Me.JIC_Rev_NO .Range("B12").Value = Me.JIC_Rev_Date .Range("B13").Value = Me.CMM_JIC_Approval .Range("B14").Value = Me.CMM End With WkBk.Save WkBk.Close Set WkBk = Nothing Set ExcelApp = Nothing MsgBox "Done" End Sub 372.Database1.mdb.zip جعفر
    1 point
  40. السلام عليكم ورحمة الله وبركاته كيف حالكم إخواني الكرام في المنتدى الغالي؟ لقيت نفسي نفسي (نفسي الأولى غير التانية ..) نفسي الأولى يعني أنا - وأعوذ بالله من كلمة أنا - ، ونفسي التانية يعني حاجة أتمنى أعملها .. المهم لقيت نفسي أعمل حاجة مختلفة .. بشكل مختلف .. بأسلوب مختلف يكون فيه عنصر التشويق والإثارة والبساطة مجتمعين في نفس الوقت. كتير مننا أول ما يسمع كلمة البرمجة والأكواد يتخض وكأن الموضوع مستحيل ...أبدا كل الحكاية إننا بنبدأ غلط مش بناخد الخطوات الصحيحة لتعلم البرمجة. لو عايز تتعلم البرمجة ونفسك بجد تبدأ تتمكن فيها خليك معايا ، هنقضيها رغي شوية وهزار شويتين ، وجد مش كتير ... ايه رأيكم؟ نبدأ على بركة الله .. أول حاجة بعد ما تنصب الأوفيس وتفتح الإكسيل تلاقي اللي انت عايزه مش موجود طيب نظهره إزاي ؟؟ ببساطة فيه زر أوفيس فوق شمال هتضغط عليه وتضغط Excel Options هتلاقي نافذة فيها خيار اسمه Show Developer tab in the Ribbon يعني إظهار التبويب ، وهتلاقي جنبه مربع تحط فيه علامة صح مبروك الخطوة الأولى واحد هيقولي عندك اقف أول خطوة فشلت فيها ..هقوله ربنا ما يحرمنا من الفشل لأن الفشل أول طريق النجاح .. هقولك لو ملقتش اللي بحكي عليه يبقا اصدار الأوفيس مختلف أنا شغال على 2007 ، وحضرتك على 2010 أو 2013 (بالنسبة ل 2003 والله ما أنا معبره كفاية عليه لحد كدا) ... بالنسبة لـ 2010 و 2013 بيكون من قائمة File ثم Options ثم من القايمة الشمال فيه Customize Ribbon وفي الناحية اليمين هتلاقي قائمة بالتبويبات وجنب كل تبويب علامة صح اللي يعجبك علم عليه صح واللي ميعجبكش ارميه في الزبالة... المهم هتلاقي التبويب اللي هيفتح لنا الباب لعالم البرمجة .. دا كان المفتاح للدخول نخش لتاني حاجة المفتاح عشان يفتح معاك لازم تحط عليه شوية زيت ، يعني لازم تضبط إعدادات الماكرو عشان الأكواد تشتغل معاك تمام من التبويب الجديد انقر على Macor Security هيفتح معاك نافذة بتختار منها آخر خيار Enable all macros وبتعلم علامة صح على الخيار اللي جنبه مربع Trust access to VBA الحمد لله خلصنا من النقطة الأولى والتانية ... ننتقل لنقطة جديدة : هيظهر التبويب في الآخر .. جمد قلبك واشرب ديو وافتح الباب لمحرر الأكواد اضغط على Visual Basic من التبويب المذكور أو لو بتحب تتعامل مع الكيبورد اضغط Alt + F11 كدا الباب الحمد لله فتح .. لو أول مرة تدخل على محرر الأكواد متتخضش واحدة واحدة هبندا نتعلم كل اللي موجود .. المهم محدش يستعجلني عشان أنا مستعجل النافذة دي اسمها نافذة المشروع Project window يعني الإكسيل بيتعامل مع المصنف إنه مشروع .. والمشروع مكون من 3 شيتات اللي بنسميهم أوراق العمل Sheet1 و Sheet2 و Sheet3 بس في 2013 الحمد لله بيكون الوضع الافتراضي شيت واحد بس (أصلي بتخنق من حتة 3 شيتات ع الفاضي بحس إن الملف كبير ع الفاضي وكل اللي يلزمني للعمل بشكل مبدئي هو شيت ولما أحب أضيف جديد مش هيكون أمر صعب) المهم مع أوراك العمل بنلاقي الكائن المسمى بالمصنف WorkBook ودا اللي بيحوي التعابين كلها أقصد الأكواد .. طيب محدش سألني ايه المنطقة الرمادي دي ومالها ضلمة ليه كدا؟ أنا أقولك عشان إنت تنورها .. اضغط دبل كليك على Sheet1 مثلا في نافذة المشروع هتلاقيها نورت والحمد لله استعداد لبداية الاحتفال بس فيه نقطة الأكواد لو اتكتبت هنا هتأثر على الورقة دي بس ... في الحتة اللي نورت الصق الكود اللي جاي ده وأفضل تكتبه بايدك عشان أنا شايف ايدك بتترعش وخايف .. قلت لك جمد قلبك الموضوع بسيط نبدأ بكود كدا سهل ولذيذ Sub Hello_Officena() MsgBox "Hello Officena!" End Sub أول كلمة Sub يعني ابدأ صب اللي عندك .. لا غلط .. معناها إجراء فرعي Subroutine يعني بينفذ مهمة محددة. وفي آخر الكود End Sub عشان القفلة (لو فاكرين شعبان عبد الرحيم بيقول ايه في الآخر بس خلاص دي القفلة بتاعته) هنا بقا دي القفلة بتاعت الإجراء الفرعي.. طيب ايه Hello_Officena دا اسم الإجراء ودا له قواعد أول حاجة مينفعش يبدأ برقم 77Hello_Officena ولا ينفع يكون فيه مسافة زي كدا Hello Officena بس ممكن لو حبينا بدل المسافة بحط Underscore اللي هي بتيجي بـ Shift + العلامة اللي على يمين الصفر اللي في الأرقام اللي فوق مش الأرقام اللي ف لوحة الأرقام .. وبردو فيه حاجات محرمة في اسم الإجراء زي علامة # أو $ أو % أو & أو % أو النقطة أو الفاصلة أو أو .. بقولكم ايه كفاية كلام عن اسم الإجراء .. لو كان فيه حاجة غلط في الاسم هيطلع لك رسالة خطأ تعرف إن فيه حاجة مش مظبوطة!! طيب السطر اللي في النص دا هو دا الكود .. الإجراء أو المهمة المراد تنفيذها .. بتبدأ بكلمة MsgBox ودي اختصار للكلمة Message Box أي صندوق الاسم ..... والله انا سرحت بس مش همسح اللي بكتبه خلي الكلام يكون تلقائي .. ودي بنكتب وراها الرسالة اللي عايزين نظهرها .. وطبعا فيه مسافة بعد الكلمة والكلام اللي هو الرسالة دا نص فنحطه بين أقواس تنصيص " " .. واحد برق لي عينه بيقولي بتتعمل إزاي دي قول لأقتلك .. هقوله حاضر يا باشا هقولك دي بتيجي إزاي .. اضغط على Shift وبعدين حرف الطاء بس خلاص .. طبعا أقواس التنصيص في أول النص وفي آخره مهو لازم القفلة. نجرب نشغل الكود إزاي .. فيه أكتر من طريقة يا إما تضغط على مثلث لونه أخضر فوق في شريط الأدوات الموجود في محرر الأكواد .. مش عاجبك شكل المثلث الأخضر خلاص روح لقائمة Run واضغط أول أمر .. لو انت تلميذ ذكي هتعرف الطريقة التالتة من التانية .. هسيبكم تقولوها إنتو ..مش عارفين !! طيب هقول أنا وخلاص اضغط على F5 من لوحة المفاتيح بس بشرط يكون مؤشر الماوس واقف في الكود.. لما نشغل الكود دا اللي هيظهر لي وبكدا أكون وصلتكم وفتحت لكم الباب .. لو عايزين نكمل قولوا كمل مش عايزين .. يبقا كفاية لحد كدا ويا كود ما يقربش منك حد .. ونعمل بالمثل الفلاحي اللي بيقول : ابعد عن الكود وادعي عليه! والسلام عليكم سبحانك اللهم وبحمدك .. نشهد أن لا إله إلا أنت ..نستغفرك ونتوب إليك كان معكم على الهواء مباشرة أخوكم أبو البراء من ملعب أوفيسنا .. إلى اللقاء مع مباراة جديدة وأهداف جديدة وشيقة دمتم بود ====================================== ====================================== السلام عليكم نرجوا وضع ردود الشكر والاعجاب على الرابط ادناه هنا ====================================== ======================================
    1 point
  41. الحلقة الثانية ونبدأ حلقة جديدة من حلقات مسلسل افتح الباب يا عبد التواب .. اتعلمنا المرة اللي فاتت إزاي ندخل على محرر الأكواد وإزاي نضيف كود واتعرفنا على نافذة المشروع .. دلوقتي جه الوقت اللي لازم تعرف فيه الهيكلة العامة للتعامل مع الأكواد .. يعني ايه ؟ هضرب مثال ليتضح المقال : أنا ساكن في عمارة كبيرة (العمارة زي تطبيق الإكسيل Application) دي العمارة بتاعتنا وساكن في شقة فيها (الشقة دي هي WorkBook المصنف يعني .. والشقة عندي فيها 3 أوض (أوضة 1 - أوضة 2 - أوضة 3 ) دي زي أوراق العمل اللي عندنا Sheet1 و Sheet2 و Sheet3 جوا كل أوضة فيه مجموعة أشياء أو بنسميها كائنات Objects بس حاجات صغيرة.. مثلا فيه تلاجة .. والتلاجة طبعا واخدة حيز من الفراغ بنسميه نطاق Range يعني النطاق ده جوا الأوضة اللي جوا الشقة اللي في العمارة يبقا ممكن نبرمج التلاجة : أيوا صحيح !! هنحدد مكانها .. عمارة.شقة.أوضة(1).تلاجة.فتح بالإكسيل تكون بالشكل ده : Application.ThisWorkbook.Sheets(1).Range("A1").Select بكدا نكون عرفنا هيكلة الكائنات الموجودة عندنا Objects .. في السطر اللي فات بدأنا بالعمارة أقصد التطبيق متبوعاً بنقطة Period ثم حددنا الشقة أقصد المصنف Workbook وهنا أشرنا للمصنف الحالي ThisWorkbook، وبعدين حددنا الأوضة اللي هي الشيت Sheets (1) ثم أخيرا التلاجة أقصد النطاق المراد العمل عليه وهو هنا الخلية A1 بهذا الشكل Range("A1) . >>> وأخيرا .. بعدما وصلنا للتلاجة هنعمل ايه ؟ أكيد هنفتحها عشان نشوف أي حاجة نشربها بعد الكلام الكتير ده الواحد ريقه نشف اللي يبل ريقكم .. أيوا نفتح دا فعل والفعل في اللغة العربية نعرفه إزاي .. لما نحط قبليه كلمة (أن) يعني لو قلنا (أن يفتح) كدا فيه معنى واضح .. أما لو قلنا كلمة حجم وحطينا قبليها (أن حجم) دي ملهاش معنى ، فبالتالي كلمة يفتح فعل أما كلمة حجم فدي اسم أو صفة (كدا معلمي اللغة العربية هيبلغوا عني إني بدي دروس في العربي) !! يرجع مرجوعنا لموضوعنا إحنا ليه شرحنا الفعل لأن الفعل في البرمجة بيساوي كلمة Method يعني لما نشوف كلمة Method دي نربطها بحدث الفعل تلاجة.فتح يعني لو جربنا السطر اللي فات ووقفنا في خلية بعيدة شوية ونفذنا الكود هيحدد الخلية A1 .. مبروك عليكم السطر الأول من الأكواد الفعل هنا أو الـ Method اسمه Select وترجمتها حدد .. أي أننا قمنا بالإشارة لكل الكائنات وصولا إلى الخلية A1 ثم نأمر الكود بتحديد النطاق. ناخد مثال مهم أوي عشان نفهم الـ Method بشكل أكبر Application.Quit هنا لما اكتب الكائن Application وبعدين أكتب النقطة هلاحظ حاجة في غاية الأهمية .. ايه هيا؟ محرر الأكواد بيقدم مساعدة لينا (ودي عشان الجماعة اللي بيقولوا المشكلة في اللغة .. خلوا بالكم) بيظهر لنا قايمة شبه القايمة المنسدلة بس مش منسدلة فيها كلمات كتيرة .. وهنلاقي شكلين : الشكل الأول عمنا بيل جيتس بيشاور بصبعه على ورقة والشكل التاني علامة شبه الطوبة الخضرا .. الشكل الأول بنسمية الخاصية Property وهنشرحها بالتفصيل كمان شوية ، والشكل التاني الطوبة الخضرا ربنا يجعل حياتكم خضرا ومزهزهة هي دي الـ Method أو الفعل طيب هعرف إزاي إذا كانت كلمة Quit دي Method ولا Proerty ببساطة بص على شكلها هتلاقي علامة الطوبة الخضرا اللي قلنا عليها يعني كلمة Quit دي Method وطبعا الحتة اللي فاتت للجماعة اللي مش بيعرفوا إنجليزي زي حالاتي ، أما بالنسبة للي بيعرفوا إنجليزي فيبصوا لكلمة Quit هيلاقوا معناها اخرج ودا فعل يعني Method> يبقا خلاصة الكلام السطر اللي فات بيعطي أمر للخروج من التطبيق. نقطة تانية في غاية الأهمية لما نلاقي نفسنا مش عارفين حروف الكلمة اللي بنكتبها .. بعد النقطة ولما تظهر القايمة بكتب أول حرف أو حرفين في الكلمة اللي أنا عايزها ، وبعدينباستخدام الأسهم فوق وتحت أقف على الكلمة اللي عليها العين والنن واضغط TAB من لوحة المفاتيح اللي تحت حرف الذال يا رجالة (أنا عارف إن فيه ناس هتدور دلوقتي على حرف الذال ومش هتلاقيه . بصوا في لوحة المفاتيح أيوا بصوا .. فوق شمال فوق شمال فوق شمال تحت زر Esc هتلاقي حرف الذال ، وتحت الذال هتلاقي Tab عليها سهمين سهم متجه لليسار وآخر لليمين .. لو ملقتش السهمين قوم حالا رجع لوحة المفاتيح للراجل اللي إنت اشتريت منه دا نصب عليك) المهم لما نضغط Tab هنلاقي الكلمة اتكتبت لوحدها .. يا سلام ونعم الكلام ونعم المساعدة شكرا يا بيل !! ممكن أريح ايدي شوية عشان والله ايدي تعبت !!! ---------------------------------------------- طيب دي الـ Method فيه حاجة تانية اسمها Property ودي ترجمتها خاصية (وتشمل زي ما قلنا الاسم أو الصفة) تلاجة.حجم حجم دي هي خاصية التلاجة Property فلو حبينا نضع قيمة لحجم التلاجة تلاجة.حجم = 10 قدم نلاحظ إن الخاصية ليها قيمة وعشان نضع قيمة ليها بنحط علامة يساوي متبوعة بقيمتها ناخد مثال على الخاصية Property عشان عارف إنتو تهتو مني ... ركزوا يا شباب! Application.Caption= "Officena" طبعا إحنا عارفين شريط العنوان بيكون فيه اسم الملف أو المصنف متبوعا بشرطة - وبعدين اسم التطبيق Excel طيب لو حبينا نخليه باسم منتدانا الحبيب يبقا ننفذ السطر اللي فوق الكلمة اللي جات ورا Application اللي هي كلمة Captionدي خاصية من خواص التطبيق مش فعل يا مستر حمدي .. وطالما إنها خاصية فبنحدد ليها قيمة بعلامة يساوي (واحد هيعمل فيها مركز طيب إحنا نسينا علامة يساوي مع Quit أقولك الفعل مش بيتحدد له قيمة ، القيمة بتكون مع الخاصية أو الاسم أما الفعل له حاجات تانية اسمها بارامترات .. متخرجنا برا الموضوع) المهم بنحدد قيمة للخاصية وليكن مثلا كلمة Officena وطبعا دي نص ، وعرفنا من المرة اللي فاتت إن النصوص توضع بين أقواص تنصيص " " .. اللي مش عارف يرجع يراجع من الأول أنا مش بحب أكرر المعلومة أكتر من 100 مرة .. لو نفذنا بقا السطر اللي فات هنلاقي شريط العنوان اتغير (يا حلااااااااوة) واحد هيقولي طيب إزاي نكتب الأسطر اللي إنت نازل دش فيها أقولك فيه قايمة اسمها Insert اختار منها Module أو فيه علامة في شريط الأدوات جنب علامة الإكسيل على يمينها علطول اختار منها Module ,وضع فيها الأسطر المراد تنفيذها يرجى مراعاة حاجتين الأسطر مبتكونش عريانة كدا لازم نغطيها بلحاف وبطانية يعني اللحاف Sub وبعدين اسم الإجراء ، والبطانية End Sub ونحاول عشان نقدر نتعلم صح نبص كويس قبل تنفيذ الكود وبعده يعني في المثال الأخير بص لشريط العنوان هتلاقي Excel مشرف في العنوان ، وبعد تنفيذ الكود هتلاقي Officena هي اللي نورت ... وإلى لقاء في حلقة جديدة من حلقات افتح الباب أسأل المولى عزوجل أن ينفع بهذا الرغي جموع المسلمين وأن يكون شاهدا لي لا علي ..
    1 point
  42. السلام عليكم بمجرد الاختيار في الخلية M3 سيغمل الكود Private Sub Worksheet_Change(ByVal Target As Range) Dim Y As Integer, R As Integer If Target.Address = Range("M3").Address Then Me.Range("H3:I20").ClearContents With Range("قائمة_الفروع") For Y = 1 To .Rows.Count If IsError(Target.Offset(0, -1)) Then GoTo 1 If .Cells(Y, 1).Value = Target.Offset(0, -1).Value Then Cells(R + 3, "H").Value = .Cells(Y, 2).Value Cells(R + 3, "I").Value = .Cells(Y, 3).Value R = R + 1 End If Next End With End If 1: End Sub قائمة منسدلة مرتبطة بقائمة أخرى.rar
    1 point
  43. اللهم آمين ولك بالمثل أخي العزيز اليك المثال FlashingBox.rar
    1 point
×
×
  • اضف...

Important Information