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

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

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

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

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


    • نقاط

      7

    • Posts

      13,165


  2. أبو حنــــين

    أبو حنــــين

    الخبراء


    • نقاط

      5

    • Posts

      2,845


  3. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      3

    • Posts

      3,491


  4. احمدزمان

    احمدزمان

    أوفيسنا


    • نقاط

      3

    • Posts

      4,386


Popular Content

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

  1. السلام عليكم ورحمة الله وبركاته أقدم لكم اليوم درس تعليمي في منتهى الأهمية حول كيفية استخدام الدالة VLOOKUP داخل الـ VBA ، حيث يوجد ميزة استخدام دوال الإكسيل التي نستخدمها في أوراق العمل داخل محرر الأكواد في الملف المرفق مثال بسيط لتتضح الصورة بشكل أعمق ، وقد قدمت طريقتين مختلفتين لتنفيذ المطلوب ، مع شرح بالتفصيل لكل سطر من أسطر الكود بفرض أن لديك مجموعة من الأسماء في العمود الأول ، والمطلوب هو البحث عن اسم محدد ، وإظهار عمر هذا الشخص في رسالة نصية. المثال بسيط والغرض منه تعلم كيفية استخدام الكائن التابع لتطبيق الإكسيل والمسمى WorksheetFunction ، وكذلك تعلم كيفية استخدام الكائن المسمى Dictionary للمزيد انقر على الرابط التالي رابط الموضوع من هنا
    2 points
  2. تمام هكذا وضحت الصورة تماماً انقر في الخلية التي فيها المعادلة المراد التعديل عليها اذهب لشريط المعادلات وبعد علامة يساوي مباشرة اكتب الدالة VALUE ثم افتح قوس ) ثم في نهاية المعادلة اقفل القوس .. بعد التعديل لا تضغط إنتر بل CTRL + SHIFT + ENTER كإضافة للموضوع يمكن الاستغناء عن معادلة الصفيف واستخدام دالة معرفة تقوم بالمطلوب .. الدالة المعرفة لكي تستخدمها تكتب اسم الدالة المعرفة يليها قوس مفتوح ثم تشير إلى الخلية التي بها بيانات والمطلوب الحصول على الرقم منها ثم فاصلة ثم تكتب رقم 3 ثم تغلق القوس بهذا الشكل =CleanString(Q19,3) إذا أردت الحصول على الأرقام فقط تكتب 3 ...أما إذا بدلت رقم 3 برقم 1 تحصل على الحروف فقط (الحروف الإنجليزية ويمكن تطوير الدالة بحيث تشمل الحروف العربية) وإذا استخدمت الرقم 2 تحصل على كل البيانات بدون حروف أي أرقام ورموز إذا وجدت رابط الدالة المعرفة من هنا قم بنسخ الدالة المعرفة وضعها في موديول عادي تقبل تحياتي
    2 points
  3. تفضل اخي الكريم ابن بنها الدالة المعرفة وجدت انها لن تصلح لمثل هذه البيانات فكتبت لك هذا الكود لعله يفي بالغرض مع العلم اني كتبت كود اخر لنفس الملف الذي ارفقته منذ فترة ولكن هذا الكود افضل نوعا ما من السابق تفضل الكود Sub YASSER_ELARABY() 'YASSER_ELARABY Dim ARR Dim ARRY Dim ARRYS Dim ALL_LESS As String Const STATUS As Byte = 101 'عمود الحالة ناجح او دور ثان Const NOTES As Byte = 102 ' عمود الملاحظات عمود المواد او منقول للصف ا لاخر Const GENDER As Byte = 112 ' عمود الجنس ذكر او انثى '_____________________________________________________ Const LESS_ROW As Byte = 6 'صف الدرجة الصغرى Const NAM_ROW As Byte = 2 'صف اسماء المواد Const NAME_FIRST As Byte = 7 ' اول صف لاسماء الطلاب Const NAME_LAST As Long = 206 + NAME_FIRST ' عدد الطلاب '_____________________________________________________ ARR = Array(9, 18, 27, 36, 46, 52, 54, 59, 64, 69, 78) ' اعمدة اختبار الفصل الدارسي الثاني لجميع المواد ARRY = Array(13, 22, 31, 40, 51, 52, 57, 62, 67, 72, 82) 'اعمدة الدرجة النهائية لجميع المواد ARRYS = Array(5, 14, 23, 32, 41, 52, 53, 58, 63, 68, 74) 'اعمدة اسماء كل المواد '_____________________________________________________ For R = NAME_FIRST To NAME_LAST For X = 0 To UBound(ARR) On Error Resume Next If ARR(X) = 46 Then If Val(Cells(R, ARR(X))) + Val(Cells(R, ARR(X) + 1)) < Val(Cells(LESS_ROW, ARR(X))) Or Cells(R, ARR(X)) = "غ" Or Cells(R, ARR(X) + 1) = "غ" Then ALL_LESS = ALL_LESS & Cells(NAM_ROW, ARRYS(X)) & " - " GoTo 86 Else GoTo 86 End If End If If Cells(R, ARR(X)) < Cells(LESS_ROW, ARR(X)) Or Cells(R, ARR(X)) = "غ" _ Or Cells(R, ARRY(X)) < Cells(LESS_ROW, ARRY(X)) Or Cells(R, ARRY(X)) = "غ" Then ALL_LESS = ALL_LESS & Cells(NAM_ROW, ARRYS(X)) & " - " End If 86 Next X '_____________________________________________________ If ALL_LESS = "" Then If Cells(R, GENDER) = 1 Then Cells(R, STATUS) = "ناجح " If Cells(R, GENDER) = 2 Then Cells(R, STATUS) = "ناجحة " If Cells(R, GENDER) = 1 Then Cells(R, 102) = "ومنقول " & INFO.Range("B14") If Cells(R, GENDER) = 2 Then Cells(R, 102) = "ومنقولة " & INFO.Range("B14") ElseIf ALL_LESS <> "" Then If Cells(R, GENDER) = 1 Then Cells(R, STATUS) = "له دور ثان في" If Cells(R, GENDER) = 2 Then Cells(R, STATUS) = "لها دور ثان في" Cells(R, 102) = Left(ALL_LESS, Len(ALL_LESS) - 2) ALL_LESS = Empty End If Next R End Sub مرفق الملف استخراج مواد الرسوب للمحترم ياسر العربي.rar
    2 points
  4. أبو حنــــين سليم حاصبيا الاخوه الافاضل ما شاء الله تحياتى
    2 points
  5. ‏الاثنين‏، 24‏/12‏/1437هـ الموافق ‏26‏/9‏/2016م السلام عليكم و رحمة الله وبركاته شاهد الحل المرفق عنده اعتمادية = تطابق (المالك × السيارة الجديدة × السيارة القديمة) =SUMPRODUCT((اعتماد!$B$1:$B$1111=مطابقة!$B2)*(اعتماد!$D$1:$D$1111=مطابقة!$D2)*(اعتماد!$F$1:$F$1111=مطابقة!$E2)) عنده تسهيل مهمة = تطابق (رقم السيارة القديم × اسم السائق) =SUMPRODUCT(('تسهيل مهمة'!$B$1:$B$1111=مطابقة!$E2)*('تسهيل مهمة'!$G$1:$G$1111=مطابقة!$C2)) آمل ان يكون به المطلوب مثال.rar
    2 points
  6. بعد اذن اخي ابو حنين نفس العمل لكن بالمعادلات ضع هذه المعادلة في الخلية D2 واسحب نزولاً =IF(MAX($D$1:D1)+1>$A$1,"",IF(MOD((ROWS($A$1:A1)-1),3)<>0,"",MAX($D$1:D1)+1)) للتوضيح المرفق في الحالة العامة (المرفق ) يجب وضع هذه المعادلة في الخلية D2 عندها يمكن تغيير القيمتين في A1 & F1 =IF(MAX($D$1:D1)+1>$A$1,"",IF(MOD((ROWS($A$1:A1)-1),$F$1+1)<>0,"",MAX($D$1:D1)+1)) تسلسل الى salim.rar
    2 points
  7. السلام عليكم ورحمة الله وبركاته ****************** نويت بإذن الله تعالى - والله الموفق - أن أقوم بالبدء في هذا المشروع الكبير الذي أطلقت عليه اسم (مكتبة الصرح .. زاخرة بالشرح) بحثت عن ملف الأستاذ الكبير عبد الله باقشير (محفظة الأكواد) للعمل عليه .. ** رجاء من الأخ عبد الله .. إضافة للفورم في هذا الملف أن تكون عملية البحث غير مقتصرة على عناوين الأكواد فقط ، بل تشمل عمليه البحث الـ ListBox الذي يحوي الأكواد نفسها ، وكذلك صفحة التعليمات ، حتى يسهل فيما بعد على الباحث أن يصل لمراده بسهولة .. الأمر مختلف قليلاً عما قدم من قبل ، إذ أن الأكواد ستكون مصحوبة بالشرح (على قدر استطاعتي ) ولمن أراد أن يزيد على الشرح فليفعل ولا يتردد.. من هنا بإذن الله ستكون الإنطلاقة الكبرى نحو المشروع الكبير .. وسأحاول جاهداً أن أبدأ عملية بناء المكتبة بشكل منظم يسهل على الباحث فيما بعد الوصول للكود الذي يرغبه ، ويعرف كيف يقوم بتطبيق الكود بنفسه دون الحاجة لغيره .. يعني مبدأ الاعتماد على النفس في تطبيق الأكواد.. وإليكم الملف المرفق به 5 أكواد فقط مدعومة بالشرح منها 3 اكواد بسيطة ، وكود صعب قليلا ، ودالة معرفة UDF كنقطة بداية .. ملحوظة الأكواد مدعومة بالشرح في صفحة التعليمات . أرجو أن ينال رضاكم ... ولا تنسوا التصحيح والتنقيح إخواني أولاً بأول ، حتى يخرج العمل في النهاية بشكل لائق يليق بمنتدانا .. يليق بالصرح العملاق ولذا أسميت المشروع (مكتبة الصرح والصرح المقصود به منتدانا الغالي .. وإن شاء الله تكون المكتبة زاخرة وممتلئة بالشرح بعون الله وتوفيقه ثم بجهودكم ومساندتكم للمشروع) Codes Library.rar
    1 point
  8. السلام عليكم و رحمة الله تعالى و بركاته. هذه محاولة مني لإنشاء قاعدة بيانات بريد إلكتروني بإستعمال الأكسس. المرفق به ملفين أكسس : الأول خاص بقاعدة البيانات أما الملف الثاني فهو خاص بواجهة البريد. و هو يحتوي على بريد وارد و صادر و إنشاء رسالة. طريقة التشغيل: نضع ملف قاعدة البيانات في الكمبيوتر الخادوم (server) ونضع ملف الواجهة (برنامج الإتصال) في الأجهزة الأخرى, و عند فتحه نبحث عن مسار ملف قاعدة البيانات و نقوم بربطه بها. ثم نبدأ تشغيل البرنامج بنجاح إن شاء الله
    1 point
  9. الأخ الكريمmohamedmomtaz السلام عليكم يرجى الطلاع على تعليمات المنتدى بتغيير الأسم الى اللعة العربية جرب المرفق التالى لعلة يفى بالغرض ونسألكم الدعاء abo_abary_شيت الرواتب تجريبي.rar
    1 point
  10. الحمد لله أن تم المطلوب على خير والحمد لله الذي بنعمته تم الصالحات تقبل تحياتي
    1 point
  11. جزاك الله كل الخير أخي الفاضل الدالة المعرفة أدت الغرض بكل سهولة و يسر كل كلمات الشكر لا توفيك حقك
    1 point
  12. اخوتى الاحبة أى ادخال بيانات أو أى تعديل فى بيانات الخلية E 69 وما بعدها سيضيف سطر فارغ جديد طبقا للكود بعنى لو ادخلت اسم الصنف فى E69 سيتم اضافة سطر فارغ لو رجعت تعدل اسم الصنف فى E69 سيتم اضافة سطر اخر عندها سيكون عندك 2 سطر فارغ وبالتالى تتكرر معادلة جمع النطاق المتغير فى الخلية وهو ما اشار اليه اخونا سمير
    1 point
  13. ما شاء الله لا قوة الا بالله حفظك الله ورعاك وسدد خطاك اخي الحبيب ابا جودى بصراحة يكفي اخلاقك الجميلة وذوقك الرفيع في الحديث واسلوبك ايضاً في الشرح قمة في الجمال المرونة والسلاسة حفظك الله ورعاك وزادك من علمه وفضله ونعمه وبارك في استاذنا العظيم ابوخليل على مجهوداته في التعليم وحل مشكلات الاعضاء الف شكر لك ولك من ساهم في حل تلك المشكلة بارك الله لكم جميعا
    1 point
  14. 1 point
  15. كلام اخ عبدالله مضبوط واذا عندك مشكلة بعد ارفع المرفق مع تحيات
    1 point
  16. عندك مشكلة في الاكواد افتح محرر الفيجول بيسيك ومن القائمة Debug اختر الخيار الاول فيقم بأخذك الى مكان الخطأ في الكود ثم يجب عليك اصلاح هذه الاخطاء كرر العملية حتى يوقف عمل الزر من القائمة ويمكن ان يكون عندك اكواد غير مرتبطة بأي عنصر فهذه ايضا تمنع التحويل
    1 point
  17. وعليكم السلام اخي الكريم RAHEM الاساتذة الافاضل في المنتدى لطالما نبهوا على ضرورة ارفاق ملف مع الموضوع . جزاك الله خيراً على كل حال يمكن عمل ما تريد عن طريق الماكرو ( ابدأ تسجيل الماكرو - حدد الخلايا التي تريد حذفها ثم احذفها - اوقف التسجيل) ويمكن تكرار هذه العملية بتشغيل الماكرو فقط تحياتي
    1 point
  18. السلام عليكم - جزيت خيرا - تسلم - مشكور
    1 point
  19. أخي جلال : جزاك الله خيرا على المرور تقبل تحياتي
    1 point
  20. اخي عملت بعض التعديلات يوجد زر لحفظ ملف الـ PDF في نفس مسار الملف (توكيلات) وبنفس اسمه و زر اخر لحفظ ملف الـ PDF في مجلد بنفس مسار الملف (توكيلات) وبنفس اسمه توكيلات.rar
    1 point
  21. DOCMD.SETWARNINGS (WARNINGSOFF) هذا الكود لكي لا يظهر الرسالة و لجواب سؤالك انا لا اعلم حاولت بدون جدوى ارجوا من المراقبين و الخبراء المنتدى ان يساعد في هذا
    1 point
  22. اسف للتأخير بس اوعدك النهاردة باذن الله تعالى هايكون جاهز معاك
    1 point
  23. اخي الفاضل انا عانيت من نفس مشكلتك ولو لا الله ثم إرشادات استاذنا أبو خليل لكنت الى يومك ضايع اعمل الحقول انقلش وضع تلميحات عربيه كذا افضل واقدر اخدمك اكثر حطيت لك ب اول مشاركتك اللنك للطريقه الي نصحني فيها الأستاذ أبو خليل
    1 point
  24. اخى الفاضل أولا جربت ملفك المرفق لم اجد ما تقول ثانيا شرط اضافة السطر الفارغ فى الكود هو : ادخال بيانات فى الخلية 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
  25. السلام عليكم لاثراء الموضوع هذا كود آخر لكن مشكلة الاسماء ذات المحق : عبد ، أبو ، ابو ، آل . . . . . تبقى قائمة 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
    1 point
  26. و عليكم السلام و رحمة الله وبركاته ((رد السلام واجب))
    1 point
  27. السلام عليكم عندما تفتح البرنامج تظهر لك الفورم فقط تكتب التاريخ في مربع النص الاول و تضغط أنتر للحصول على النتيجة ثم تضغط على أنتر مرة اخرى لاجراء عملية أخرى و هكذا : أنتر ثم أنتر ثم . . . . . اذا اردت الدخول لملف الاكسل اضغط مرتين على التسمية : تاريخ القرار 2استعلام.rar
    1 point
  28. السلام عليكم أكتب التاريخ في مربع النص الأول و أضغط على أنتر الملف في الاسفل : الكود : Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Not IsDate(TextBox1) = True Then TextBox1 = "": TextBox2 = "": TextBox3 = "" Else TextBox1.Value = Format(TextBox1, "dd-mm-yyyy") TextBox2.Value = Format(DateAdd("d", 180, CDate(TextBox1.Value)), "dd-mm-yyyy") TextBox3.Value = Format(DateAdd("d", 165, CDate(TextBox1.Value)), "dd-mm-yyyy") End If End Sub استعلام.rar
    1 point
  29. استعمل هذا الكود Sub MyNmbr() Dim x As Integer, i As Integer x = 1 For i = 2 To Range("a1").Value * 3 Step 3 Cells(i, 3) = x x = x + 1 Next End Sub
    1 point
  30. السلام عليكم و رحمة الله و بركاته ... صباح الخير اانا ابي عدم حفظ البنانات الموجوده في frm_Patient_Drugs او بمعنى ثاني sfrm_Patient_Drugs الى اي جدول من الجداول الا بشرط عدم إضافة الادويه الموجوده بالنموذج الى الجدول الا بعد الضغط على امر البطاعه فقط وبعد امر الطباعه يعمل نموذج جديد جاهز ل مريض جديد
    1 point
  31. الحلقة الثالثة طبعا واحد هيقولي ارحم نفسك .. كفاية كدا النهاردة ..!! أقولك ايه النهاردة أجازة وبعدين أنا عايز أخلص الشوية اللي دايما بنطول فيهم عشان نبدأ نتعلم جديد .. مش كل اما دورة تبدأ تلاقي الموضوع يبقا زي الفل وياخد وقته في البدايات والأساسيات وفجأة الدورة تتقطع .. هنتكلم شوية في الحلقة دي عن تسجيل الماكرو .. واحد رفع ايده وبيقول أيوا أنا متمكن فيها (أقوله كتر خيرك !) بس أنا مش عايزك متمكن .. إحنا بس هنستفيد من حكاية التسجيل دي في أمور معينة .. واحد تاني هيرفع ايده ويقول طيب أنا أقدر أعمل الكود بالشكل اللي أنا عايزة من غير ما يكون عندي فكرة بالأكواد ووجع الدماغ هقوله إنت صح وغلط .. صح من جهة وغلط من جهة .. بس مش هناقش الموضوع ده المهم نبدأ نشوف ايه حكاية التسجيل دي.. قبل ما نبدأ نتعلم إزاي نخلي نافذة الإكسيل ونافذة محرر الأكواد جبنا إلى جنب خلي عينك ع الاتنين ..!! نفتح الاتنين (بلاش الجمعه عشان أجازة الموظفين) نفتح النافذتين وبعدين نفعل نافذة الإكسيل ونضغط على علامة الويندوز اللي ف لوحة المفاتيح اللي ما بين CTRL و ALT في الناحية الشمال .. لو ملقتهاش يبقا إنت مرجعتش لوحة المفاتيح اللي قلت لك رجعها أو رجعتها بس نصب عليك تاني !! بنضغط على زر الويندوز + سهم شمال مثلا .. ونروح نفعل النافذة التانية ونضغط على زر الويندوز + سهم يمين . بحيث تكون النافذتين جنب بعض عشان نتأمل في جمالهم وهما جنب بعض كدا زي عريس وعروسة .. في محرر الأكواد : هندرج موديول جديد أو مش شرط .. وفي الإكسيل هنروح للتبويب Developer طبعا خلاص عرفنا إزاي نوصله ونضغط على Record Macro قبل ما نضغط منستعجلش نبص الأول على الشكل المرفق مع الأمر هنلاقي علامة دايرة حمرا ولو ركزنا في شريط الحالة اللي في أسفل تطبيق الإكسيل هنلاقي نفس العلامة .. معنى كدا إن تسجيل الماكرو متاح في التبويب وفي شريط الحالة (أضف إلى معلوماتك) لما نضغط عليه هنلاقي نافذة طلعت لنا بنسجل فيها اسم الماكرو واتعرفنا شروط الاسم ..وممكن نعمله اختصار وأنا مش بحب الحركة دي لأن الإكسيل ملياااااااااان اختصارات فممكن يحصل تعارض ما بين اختصارات الإكسيل والاختصار اللي سيادتك هتعمله .. إحنا شوية وهنتعلم إزاي نربط الكود بزر لتشغيله من داخل الإكسيل أو ورقة العمل أفضل. وبعدين بيقولك هتخزنه فين وأنا أفضل تتركه زي ما هو This Workbook لو فتحت القايمة دي هتلاقي فيه مصنف باسم Personal.XLSB ودا بيكون مكانه في البارتشن C: وبيكون مخفي وممكن تظهره عن طريق التبويب View ثم Unhide هتلاقي اسم المصنف موجود ممكن تظهره ..أنا بقا لا أحب أظهره ولا أخفيه أنا بحذفه عشان بيضايقني بظهوره في محرر الأكواد في نافذة المشروع .. دا مجرد ارتياح شخصي وطبعا إنت ليك كامل الحرية في حذفه أو عدم حذفه عشان ممكن شركة مايكروسوفت تزعل مني عموما المصنف دا لزمته ايه .. المصنف معمول إنك تخزن فيه الأكواد الخاصة بك عشان تقدر تنفذها في أي مصنف مفتوح بدون إدراج الكود مرة أخرى (بس يا سلام بقا لو أكوادك كلها اللي بتستعملها محفوظة فيه ومعندكش منها نسخة تانية وفجأة الكهربا تقطع ودا مبيحصلش كتير في مصر والحمد لله تلاقي الويندوز سقط والحمد لله أكوادك في خبر كان ) عموما هي ميزة بس أنا شايفها مش ميزة .. بالنسبة لمسار المصنف دا بيكون في : C:\Users\Administrator\AppData\Roaming\Microsoft\Excel طبعا Administrator دا اسم المستخدم بيختلف من جهاز للتاني .. روح للمسار ده هتلاقي المصنف احذفه وريح بالك (ليك مطلق الحرية) أنا طبعا شرحته بالتفصيل أهو رغم إني مش بستخدمه بس عشان محدش يقول إني قصرت ... آخر حاجة وصف الكود واللي هتكتبه هنا هيظهر لك على شكل تعليق .. بصراحة دي بقا رغم إن فيه كتير بيطنشها بس أنا شايف إنها مهمة .مهم جدا توثق أكوادك بتعليقات عشان تقدر بعد فترة لو حبيت تعدل على الأكواد تكون الأمور واضحة بالنسبة لك .. هتقولي أنا اللي كاتب الكود وحافظ كل كبيرة وصغيرة فيه ... يتهيأ لك والله أنا ساعات أندمج في كتابة كود بشكل معين وبعد فترة أحتاج للكود تاني أقوم أروح للكود الاقي نفسي تايه رغم إني أنا اللي كاتبه ومطبقه قبل كدا .. التوثيق مهم صدقوني .. المهم بيظهر التعليق في الكود بلون أخضر .. طيب إزاي أعمل تعليق طبعا بيكون بالضغط على ' طبعا اللي نظرهم ضعيف مشافوش .. لما يكون اتجاه الكتابة إنجليزي نضغط حرف الطاء اللي بعد العلامة دي بيتم تجاهله تماما يعني متقلقش مش هيتنفذ الأمر لو كان قبله علامة ' دي .. جمد قلبك واضغط أوك هتبدأ عملية التسجيل (وطبعا مننساش المايك والكاميرا يكونوا راكبين في الجهاز وكله تمام بس المشكلة إننا مش محتاجينهم اخلعهم تاني يا مراد بلاش وجع قلب) اضغط أوك ولاحظ علامة التسجيل اللي قلنا عليها من بدري هنلاقيها اتغيرت لشكل مربع صغير لونه أزرق اللي هو دليل إن التسجيل شغال .. العلامة موجودة زي ما قلنا في التبويب وفي شريط الحالة كمان (بيل جيتس مش حارمنا من حاجة أبداً) طيب واحد هيقولي خلص ابدأ تسجيل عشان الوقت هيتحسب في التسجيل هقوله متقلقش التسجيل بيكون لكل حركة إنت بتعملها ملهاش علاقة بالوقت ... طيب نعمل ايه ؟ فكروا معايا أنا بحاول الاقي فكرة .. قول إنت يا جمال .. جمال رد وقال : حدد الخلية اللي فيها اسمي وخلي المحاذاة لليمين .. الخلية اللي فيها اسم جمال هي A3 مثلا ننقر عليها بزر الماوس الأيسر (تعليم تقليدي) يا عم حدد الخلية بس خلاص وبعدين من التبويب Home نعمل محاذاة لليمين (اللي ميعرفش يسأل اللي جنبه) نسيت أقولكم على أهم حاجة (منك لله يا جمال نسيتني كنت عايز أقول ايه) .. عنينا وإحنا نسجل على محرر الأكواد (إنتو نسيتو إن النافذتين مفتوحتين ولا ايه ) عشان نشوف سعادته شغال إزاي .. نبدأ تاني نحدد الخلية A3 واحد هيقولي مفيش حاجة حصلت هقولك عشان إنت واقف في المكان الغلط .. لما بنيجي نسجل الماكرو بيتم إضافة موديول جديد يعني ارجع تاني خطوة لورا واضغط على موديول 2 اللي تم إدراجه من غير ما تاخد بالك.. دبل كليك عليه عشان تتابع من الأول .. معلش يا جماعة أنا مركز على حكاية المتابعة دي عشان تقدروا تستفيدوا من التسجيل نحدد الخلية A3 هوب اقف عندك Range("A3").Select السطر دا اتكتب لوحده يا سلام سلام دا أحلى كلام ولا في الأحلام .. بيكتب لوحده يا عمر .!! طيب نحدد خلية تانية هنلاقي السطر اللي فات اتغير وأصبح A4 ايه الحكاية هي الأسطر مش بتفضل ثابته .. أقولك آه بتفضل ثابتة لكن الشغل بيكون على خلايا محددة يعني إنت حددت A3 وبعد شوية غيرت رأيك وحددت A4 هتلاقي محرر الأكواد غير رأيه عشان مينفعش يشتغل على اتنين في نفس الوقت إلا إذا حددتهم مع بعض نروح للتبوبيب Home وركز عينك على محرر الأكواد هتلاقي With Selection .HorizontalAlignment = xlRight .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With كل دا تم إضافته لما دوست على محاذاة لليمين .. طيب جرب بقا إنت اعمل شوية تنسيقات هتلاقي الدنيا بقت هيصة .. طبعا دا كله ميلزمناش أقصد الأسطر الكتير دي كلها أنا يهمني المفيد وبس ..يعني ممكن أختصر الكود اللي فات أقولك آه وبسطر واحد بس مش بدا كله بالشكل ده Range("A3").HorizontalAlignment = xlRight شفتوا بقا إني أشطر من التسجيل .. طبعا دا اللي يأكد كلامي في الأول إنه مينفعش نستخدم التسجيل بشكل دائم وبردو منستغناش عنه ..طيب ايه الفايدة إننا بندور على اللي يهمنا ونبدأ نكتبه بطريقتنا .. طبعا اتعلمنا إزاي نشير إلى الكائن Range بنفتح بعديه قوس وعلامة تنصيص ومننساش بردو نفس القفلة بس علامة التنصيص الأول وقفلة القوس ..معلش أصل الجو برد شوية عليه.. بعد كدا بنتبعه بنقطة ونكتب الخاصية Property طبعا خلاص استوعبتوها كويس HorizontalAlignment معناها محاذاة أفقية وطبعا قلنا إن الخاصية بيتحدد ليها قيمة وهنا القيم معروفة المحاذاة بتكون إما لليمين (ربنا يجعلنا من أهل اليمين) XlRight وإما توسيط وإما محاذا لليسار XlCenter (واحد متوقع إني هقول ربنا لا يجعلنا من أهل الشمال .. بس أنا هكسفه ومش هقولها) XlLeft >> أظن كدا بقا الكود واضح .. يعني التسجيل اللي اتعمل في 12 سطر (أراهن فيه ناس هتعد ورايا) عملناه في سطر واحد ..بس أنا استفدت ايه إني أقدر أطلع الكلمات اللي عايزاها وأشكلها زي ما أنا عايز .. يعني خلاصة الكلام في الحلقة دي إحنا اشتغلنا خبازين (خدنا العجينة اللي هي الماكرو المسجل .. وشكلناها بمهارة عشان تقدر تطلع بالشكل اللي إحنا عايزينه ) وإلى لقاء مع رغي جديد .. الواجبات : قم بتسجيل ماكرو حدد فيه النطاق من A1:B10 وخلي نوع الخط أي نوع ترغبه وحجم الخط 14 ولون الخط أزرق بلاش الأحمر عشان واحد هيقولي ايه حكايتك مع اللون الأحمر وخلي عريض Bold يعني وخلي المحاذاة الأفقية توسيط .. وطبعا اللي هيجيب الواجب تسجيل ماكرو مش هقبله منه .. أنا عايزك تختصر الأسطر الكتير اللي هتظهرلك في أسطر قليلة ... في رعاية الله كان معكم أخوكم أبو البراء من فرن أوفيسنا (يلا ورورني مين هياكل العيش طازة)
    1 point
  32. ا/ بن علية شكرا جزيلا لك و بارك الله فيك الحل بسيط جدا غيرت معادلة lookup الى خلية اخرة و عملت زر طباعة اليك المرفق طباعة شيتات مرتب دفعة واحدة.rar
    1 point
×
×
  • اضف...

Important Information