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

إبراهيم ابوليله

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

    2,850
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    7

كل منشورات العضو إبراهيم ابوليله

  1. اخى وحبيبى ياسر طبعا منور الموضوع واضافتك على العين والراس ومجرد انك تطل علينا فده شئ يسعدنا ويكفينا ممنتحرمش منك ............................................ وموضوع الحلقات التكراريه جاى جاى ومش هنلاقى طبعا افضل منك يشاركنا ويفيدنا بارك الله فيك .......................... تقبل تحياتى اخى عبد العزيز البسكري كل التحياط الطيبه لكل فانت دائما ما تسعدنا بمرورك علينا تقبل تحياتى اخى فايز منور المنتدى نتمنى لك الاستفاده والتوفيق تقبل تحياتى اخى الفاضل الحمد لله على استفادتك فكل ما يهمنا فى المقام الاول هو توصيل المعلومه بقدر الامكان طالما كانت لدينا القدره على ذلك تقبل تحياتى
  2. السلام عليكم ورحمة الله وبركاته الدرس الرابع 4-Properties الخصائص وسوف نتناول فى هذه الدرس الاتى اعطاء الخليه قيمه عدديه فى الشيت النشط اعطاء الخليه قيمه نصيه فى الشيت النشط اعطاء الخليه قيمه عدديه أو نصيه باستخدام اسماء الشيتات اعطاء الخليه قيمه عدديه أو نصيه باستخدام اسماء الملفات مسح محتوى الخليه من البيانات--cell contents Text Formatting التحكم فى حدود الخلايا-- borders ........................................... اعطاء الخليه قيمه عدديه فى الشيت النشط نفترض انك عايز تدخل القيمه 10 فى الخليه A3 يمكننا عمل ذلك باستخدام RANGE او بالاشاره الى الخليه مباشرة سيكون شكل الكود كالاتى Sub properties_NUM() 'اعطاء الخليه A3 قيمه عدديه Range("A3").Value = 10 [A3].Value = 10 End Sub اعطاء الخليه قيمه نصيه فى الشيت النشط نفترض انك عايز تدخل الاسم HIMA فى الخليه A6 يمكننا عمل ذلك باستخدام RANGE او بالاشاره الى الخليه مباشرة سيكون شكل الكود كالاتى Sub properties_tex() 'اعطاء الخليه A5 قيمه نصيه Range("A6").Value = "hima" [A6].Value = "hima" End Sub اعطاء الخليه قيمه عدديه أو نصيه باستخدام اسماء الشيتات يمكن عمل ذلك بالاشاره الى اسم الشيت Sheets("4-Properties") او بالاشاره الى رقم الشيت Sheets(4) نفترض انك عايز تدخل فى الخليه A8 قيمه عدديه قدرها 20 او قيمه نصيه hima وبالتالى سيكون شكل الكود هكذا Sub properties_num_wor() 'اعطاء الخليه A10 قيمه عدديه باستخدام اسماء الملفات Workbooks("learn--vba.xlsb").Sheets("4-Properties").Range("A10").Value = 22 ' او 'Workbooks("learn--vba.xlsb").Sheets("4-Properties").Range("A10").Value = "Sample text" End Sub Sub properties_num_sh() 'اعطاء الخليه A8 قيمه عدديه باستخدام اسماء الشيتات Sheets("4-Properties").Range("A8").Value = 22 ' او 'Sheets(4).Range("A8").Value = "Sample text" End Sub اعطاء الخليه قيمه عدديه أو نصيه باستخدام اسماء الملفات نفترض انك عايز تدخل فى الخليه A10 قيمه عدديه قدرها 20 او قيمه نصيه hima وبالتالى سيكون شكل الكود هكذا Sub properties_num_wor() 'اعطاء الخليه A10 قيمه عدديه باستخدام اسماء الملفات Workbooks("learn--vba.xlsb").Sheets("4-Properties").Range("A10").Value = 22 ' او 'Workbooks("learn--vba.xlsb").Sheets("4-Properties").Range("A10").Value = "Sample text" End Sub مسح محتوى الخليه من البيانات--cell contents نفترض اننا عايزين نمسح البيانات الموجوده فى الخليه a12 يمكننا استخدام اى من الااومر الظاهره بالصوره ولو انت ركزت شويه على ما اعتقد من الاسماء هتعرف وظيفه كل امر ايه يعنى مثلا clear يقوم بحزف البيانات مع ارجاع الخليه الى وضعها الافتراضى يعنى لو انت مخصص نوع معين من الخطوط او حجم معين للخط هتلاقى البيانات تم حزفها وتم ارجاع الوضع الافتراضى للاوفيس ClearContents دى بتحزف البيانات بس وملهاش دعوه بخصائص الخليه ClearFormats دى بتقوم بارجاع الوضع الافتراضى للخليه دون حزف البيانات وبالتالى سيكو شكل الكود الخاص بحزف البيانات كالاتى Sub properties_clear() 'مسح محتوى الخليه a12 Range("a12").ClearContents End Sub Text Formatting التحكم فى خصائص الخط طبعا الموضوع ده طويل حبتين وفيه معلومات كتيره احنا هناخد ابسط الحاجات الى تمشينا ومتوقفناش علشان منصعبهاش على نفيسنا بص الاول على الصوره طب من مجرد النظر الى الصوره هتفهم الخصائص الخاصه بالخط على العموم هنستعرض بعض الخصائص حجم الخط-size سمك الخط-bold جعل الخط مائلا-italicize وضع خط تحت الكلمه-underline اسم الخط-NAME ونيجى نطبق الكلام ده يعنى مثلا لو عندنا الخليه a15 عايزين نكتب فيها الرقم 10 ونخلى حجم الخط فيها 20 سمك الخط فيها تخين نخلى الخط فيها ماي على جنبه اليمين ونخلى الخط تحيه خط ونخلى اسم الخط Agency FB وبالتالى هيكون شكل الكود كالاتى Sub properties_TEXT_FORMA() Range("a15").ClearFormats Range("a15").Font.Size = 20 Range("a15").Font.Bold = True Range("a15").Font.Italic = True Range("a15").Font.Underline = True Range("a15").Font.Name = "AGENCY FB" End Sub التحكم فى حدود الخلايا-- borders طبعا الموضوع ده طويل بردو حبتين وفيه معلومات كتيره فهنطر ناخد ابسط الحاجات الى تمشينا ومتوقفناش على العموم شاهد الصوره يمكننا استخدام الارقام من 1 الى 13 فى تحديد الخليه ولمعرفة الوظيفه التى يقوم بها كل رقم فى التحديد شاهده الصوره ثم قم باستعمال هذه الكود وشاهد تأثر الكود على هذه الخلايا Sub properties_BORDER() Range("a23:E28").ClearFormats Range("a23").Borders.Value = 1 Range("a24").Borders.Value = 2 Range("a25").Borders.Value = 3 Range("a26").Borders.Value = 4 Range("a27").Borders.Value = 5 Range("a28").Borders.Value = 6 Range("C23").Borders.Value = 7 Range("C24").Borders.Value = 8 Range("C25").Borders.Value = 9 Range("C26").Borders.Value = 10 Range("C27").Borders.Value = 11 Range("C28").Borders.Value = 12 Range("E25").Borders.Value = 13 End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى
  3. اخى محمد حسن تحياتى لك ا اخى الصقر اشكرك على الدعاء وبالتأكيد ههنحتاج لمواضيع المهمه الفتره الى جايه تقبل تحياتى اخى ابو يوسف منور المشاركه اتمنى ان يكون الموضوع مفيدا تقبل تحياتى
  4. اخى عبد العزيز اسال الله ان يزيدك من فضله وعلمه تقبل تحياتى اخى عمار انه لشرف لى متابعتك للموضوع تقبل تحياتى
  5. اخى الفاضل مستخدم جديد مشكورا على المتابعه للموضوع وحرصا من على تقديم المساعده بقدر الامكان ومحاولة توصيل المعلومه بقدر الامكان اليك محاوله بسيطه منى لتوضيح OFFSET تقبل تحياتى
  6. اخى ياسر منور المشاركه مشكورا على المتابعه تقبل تحياتى اخى عبد العزيز انك لمتابع جيد ودائما ما اجدك فى كل موضوع اتابعه اتمنى لك الاستفاده والتوفيق تقبل تحياتى اخى ابو يوسف انا بالفعل مش متمكن فى vba ولكن اعتقد ان المعلومات التى عندى تكفينى فى الكثير من الاحيان عن السؤال وهذا ما يأمله الكثيرون وتدريجيا بنستفيد اكثر وبتزيد المعلومات اكثر واكثر فبصراحه حبيت اوفر وقت كبير على الاخوه الاعضاء فى تقديم المساعده فى الكثير من الامور السهله وان شاء الله يكون الموضوع مفيد بنسبة حتى ؟؟؟؟؟؟؟؟؟؟؟؟ احنا ونصيبنا بقى ................................................................ اما بخصوصو ان الاستاذ ياسر متابع الموضوع فده شرف كبير لينا طبعا وبالتأكيد ان لولا وجود امثال الاستاذ ياسر فى هذا المنتدى لما تعلمنا شيئا نسأل الله ان يجعل الاعمال فى ميزان الاعمال تقبل تحياتى
  7. اخوانى الافاضل اخى khmb مشكورا على المجهود المبذول بارك الله فيك اخى عبد الواحد يفضل ارفاق ملف موضحا به ما تريده بالتحديد والشرح المفصل حتى نستطيع مساعدتك تقبلوا تحياتى
  8. السلام عليكم ورحمة الله وبركاته الدرس الثالث 3-selection عمل تحديد للخلايا وسوف نتناول فى هذه الدرس الاتى كيفيةالدخول الى محرر الاكواد كيفية تسمية الماكرو تحديد خليه واحده تحديد اكثر من خليه تحديد نطاق من الخلايا تحديد نطاق من الخلاياالتى تم اعطائها اسم تحديد خليه بواسطه السطر والعمود تحديد خليه تقع ضمن نطاق الخلايا تحديد خليه بواسطة التحرك تحديد الاسطر تحديد الاعمده تحديد اخر خليه تحديد الخلايا التى بها بيانات نسخ البيانات المحدده ........................................... كيفية الدخول الى محرر الاكواد وذلك من اجل اضافة كود معين اتبع الصوره 1 ستفتح لك نافذه بيضاء فارغه كما فى الصوره رقم 2 كيفية تسمية الماكرو لابد ان يبدأ اسم الماكرو ب Sub وينتهى ب end sub نقوم باعطاء الماكرو اسم معين وليكن selection بالتالى ستجد ان الماكرو المنشأ يكون بهذا الشكل كما يتضح من الصوره تحديد خليه واحده نفترض اننا نريد تحديد الخليه A23 سيكون شكل الكود كالاتى Sub selection_a23() 'تحديد الخليه A23 Range("A23").Select End Sub تحديد اكثر من خليه نفترض اننا نريد تحديد الخليهa25 وb25 سيكون شكل الكود كالاتى Sub selection_a25_b25() 'تحديد الخليه a25,b25 Range("A25,B25").Select End Sub تحديد نطاق من الخلايا نفترض اننا نريد تحديد تحديد الخلايا من a27 الى g28 سيكون شكل الكود كالاتى Sub selection_a27tog28() 'تحديد نطاق من الخلايا Range("A27:g28").Select End Sub تحديد نطاق من الخلاياالتى تم اعطائها اسم نفترض اننا نريد تحديد الخلايا من a29:g30 سوف نقوم بعمل ذلك من خلال تسمية النطاقات اتبع الصوره سيكون شكل الكود كالاتى Sub select_a29tog30() ' تحديد نطاق من الخلاياالتى تم اعطائها اسم ' من a29 الى g41 Range("select_a29tog30").Select End Sub تحديد خليه بواسطه السطر والعمود نفترض اننا نريد تحديد الخليه الواقعه بين السطر 44 والعمود 4 اى d44 وسيكون شكل الكود كالاتى Sub selection_cells_r_c() ' تحديد الخليه الواقعه بين السطر 44 والعمود 4 اى d44 Cells(44, 4).Select End Sub ملحوظه بما اننا لم نتطرق الى التعرف على cells فنعدى عليها نتعرف عليها ببساطه cells زيها زى range الفرق بينها وبين range انها تستخدم للاشاره الى خليه واحده فقط ويكون شكلها الافتراضى كالاتى Cells(row, Columns).Select تحديد خليه تقع ضمن نطاق من الخلايا هنا نفترض اننا لدينا نطاق مكون من مجموعه من الخلايا من a47:g47 ونريد عند كل مره يتم الظغط على الزر يتم تحديد خليه مختلفه من خلايا النطاق سيكون شكل الكود كالاتى Sub selection_rnd() 'تحديد نطاق من الخلايا التى تقع فى النطاق من a47 الى a57 'Cells(Int(Rnd * 10) + 47, 1).Select ' تحديد خليه تقع ضمن نطاق الخلايا من a47 الى g47 Cells(47, Int(Rnd * 7) + 1).Select End Sub لاحظ ان عدد الاعمده 10 اعمده هى من a الى g تحديد خليه بواسطة التحرك نفترض اننا نريد تحديد الخليه التى تلى الخليه a51 بمقدار سطرين وفى نفس العمود سوف نستخدم هنا offset سيكون شكل الكود كالاتى Sub selection_move() ' تحديد الخليه التى تلى الخليه a51 بمقدار سطرين وفى نفس العمود Cells(51, 1).Offset(2, 1).Select End Sub ملاحظه بما اننا لم نتطرق الى offset فنتعرف سريعا على كيفيه استخدامها offset هى عباره عن التحرك لاتجاه معين الشكل الافتراضى ل offset Offset(row,columns) فلو كتب هكذا Offset(1,2) فهذا يعنى اننا سوف ننتقل الى الخلية فى السطر التالى وفى العمود الذى يليها بعمودين وهكذا فمثلا فى مثالنا هنا Cells(51, 1).Offset(2, 1).Select فلو حزفنا offset واصبح الكود بهذا الشكل Cells(51, 1).Select فهذا يعنى اننا سوف نقوم بتحديد الخليه a51 ثم حينما نضيف offset ليصبح الكود بهذا الشكل Cells(51, 1).Offset(2, 1).Select فهذا يعنى اننا سوف نقوم بتحديد الخليه a51 ثم نتحرك بمقدار سطرين لاسفل اى اننا اصبحنا الان فى السطر 53 ثم التحرك بمقدار عمود واحد لنصبح فى العمود الثانى وبما اننا اصبحنا فى السطر 53 والعمود 2 سنجد ان الخليه التى تقع فيهما هى الخليه b53 تحديد الاسطر نفترض اننا نريد تحديد الاسطر من 53 الى 54 سيكون شكل الكود كالاتى Sub selection_row() ' تحديد الاسطر من 53 الى 54 Rows("53:54").Select End Sub تحديد الاعمده نفترض اننا نريد تحديد الاعمده من العمود a الى العمودG سيكون شكل الكود كالاتى Sub selection_COL() ' تحديد الاعمده Columns("A:G").Select End Sub تحديد اخر خليه نفترض اننا لدينا مجموعه من الخلايا فى السطر الاول مملوؤه بالبيانات وان اول خليه بها بيانات هى الخليه a58 ونريد الوصول الى اخر خليه بها بيانات بعد الخليه a58 سيكون شكل الكود كالاتى Sub SELECTLASTCELLS() ' تحديد اخر خليه بها بيانات Range("A58").End(xlDown).Select End Sub تحديد الخلايا التى بها بيانات بداية من خليه معينه نفترض اننا نريد تحديد الخلايا التى بها بيانات بداية من الخليه a62 سيكون شكل الكود كالاتى Sub SELECTCELLSDATA() ' تحديد الخلايا التى بها بيانات بداية من Range("A62", Range("A62").End(xlDown)).Select End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى
  9. اخى محمد اشكرك على متابعة الموضوع وبالفعل انا ملاحظ انك متابع جيد لكل الاعمال الجيده التى تطرح فى المنتدى اتمنى لك التوفيق تقبل تحياتى
  10. السلام عليكم ورحمة الله وبركاته اخوانى الافاضل اشكرم على متابعة الموضوع وعلى الكلمات الجميله اتمنى ان استطيع تقديم شيئا مفيدا تقبلوا تحياتى
  11. اخوانى الافاضل عزرا على التاخير فى استكمال الدروس ولكن تعطل الجهاز الخاص بى والحمد تم الاصلاح تقبلو تحياتى
  12. اخى ان شاء الله قريبا يتم النظر الى المطلوب عزرا لانشغالى هذه الايام تقبل تحياتى
  13. السلام عليكم ورحمة الله وبركاته الدرس الاول 2-RANGE هنا سوف نتعرف على كيفية الاشاره الى خليه او الى مجموعه من الخلايا وانا بعتبر ان الدرس ده هو اهم درس يجب البدأ بيه فى تعلم VBA لان مفيش تطبيق يتم فى VBA بدون الاشاره الى الخلايا تقبلوا تحياتى
  14. السلام عليكم ورحمة الله وبركاته الدرس الاول 1-Introduction علشان تستطيع جعل الاكسيل قادرا على التاعمل مع ملفات vba اتبع الخطوات الاتيه تقبلوا تحياتى
  15. السلام عليكم ورحمة الله وبركاته اخوانى الافاضل احيانا نقف امام انفسنا عاجزين عن تقديم المساعده لانفسنا فى ابسط الامور وذلك لجهلنا وعدم المامنا بالقليل من المعلومات فى هذا الموضوع فكرت فى تناول بعض المعلومات التى تفيدك فى الاعتماد على نفسك من اليوم وسوف نتناول امثله عمليه حتى تكون الاستفاده اكبر تقبلو تحياتى
  16. انا لله وانا اليه راجعون نسأل الله ان يغفر له وان يجزيه عن اعماله خيرا وان تكون اعماله فى ميزان حسناته فله فضل كبير علينا فى نشر العلم
  17. اخى جعفر مشكورا على الرد واضح اننى لم افهم جيدا مساعدتك من البدايه فكنت قد وضعت الكود داخل موديول الاهم ان الكود واضح انه بعمل جيدا ولكن فيه مشكله ايه هى اننى لدى فورم به عدد 2 فريم اريد طباعة الفريم رقم 1 فقط مع العلم ان الفريم رقم 2 يكون ناحية اليسار فقمت باخفاء الفريم رقم 2 فقمت بزحزحه الفريم رقم 1 الى ناحية اليسار وذلك قبل استخدام امر الطباعه ولكن فوجئت بطباعة الفريم رقم 2 فقط ارجو النظر الى الشيت المرفق تقبل تحياتى print frame.rar
  18. اخى اسامه بالفعل هذه هو المطلوب بارك الله فيك ................................. لى طلب اخر ماذا لو كان لدى اكثر من تيكست بوكس على شكل اعمده مثلا 3 اعمده من تيكست بوكس a1 الى تيكست بوكس a12 من تيكست بوكس b1 الى تيكست بوكس b12 من تيكست بوكس c1 الى تيكست بوكس c12 فانا قمت باستخدام هذه الكود H = 0 For I = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(I) = True Then 1: H = H + 1 If H > I Then MsgBox "يجب الا يتعدى عدد السطور المحدده 11سطر": Exit Sub If Me.Controls("a" & H).Value <> "" Then GoTo 1 Me.Controls("a" & H).Value = ListBox1.List(I, 0) If Me.Controls("b" & H).Value <> "" Then GoTo 1 Me.Controls("b" & H).Value = ListBox1.List(I, 1) If Me.Controls("c" & H).Value <> "" Then GoTo 1 Me.Controls("c" & H).Value = ListBox1.List(I, 2) If Me.Controls("d" & H).Value <> "" Then GoTo 1 Me.Controls("d" & H).Value = ListBox1.List(I, 3) End If Next I فهل لدى حضرتك كود افضل من هذا تقبل تحياتى
  19. اخى الصقر مجهود كبير ومعلوامت مفيده فى انتظار المزيد ونرجو الا تتهم بقلة المشاهده او قلة الردود ولكن الاهم هو تقديم شيئا مفيدا تقبل تحياتى
  20. اخى جعفر تم اتباع الخطوات ولكن حدث الخطأ التالى ارجو التوضيح تقبل تحياتى
  21. اخى اسامه مشكورا على الرد والمتابعه للموضوع ولكن هل يمكن ترحيل البيانات اسفل اخر تيكست بها بيانات بمعنى لو اننى قمت بتحديد سطرين ثم ضغطت زر الترحيل ستصبح التيكست بوكس 1 , 2 مملوءه بالبيانات ثم لو قمنا بالضغط على الزر مره اخرى يتم الترحيل بدايه من التيكست بوكس رقم3 اتمنى ان اكون استطعت توصيل الفكره تقبل تحياتى
  22. اخى اسامه انا استخدمت الكود التالى لعدم تنفيذ شئ اذا كانت عدد السطور المحدده تتعدى 11 سطر For Ii = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(Ii) = True Then If ListBox1.Selected(Ii) Then H1 = H1 + 1 End If Next If H1 > 11 Then MsgBox "يجب الا يتعدى عدد السطور المحدده 11سطر": Exit Sub End If فهل يوجد كود اسهل وختصر اكثر من هذا الكود وبالتالى اصبح الكود كالاتى For Ii = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(Ii) = True Then If ListBox1.Selected(Ii) Then H1 = H1 + 1 End If Next If H1 > 11 Then MsgBox "يجب الا يتعدى عدد السطور المحدده 11سطر": Exit Sub End If H = 0 For I = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(I) = True Then H = H + 1 Me.Controls("a" & H).Value = ListBox1.List(I, 0) Me.Controls("b" & H).Value = ListBox1.List(I, 1) Me.Controls("c" & H).Value = ListBox1.List(I, 2) Me.Controls("d" & H).Value = ListBox1.List(I, 3) End If Next I تقبل تحياتى
  23. اخى واستاذى اسامه بالفعل كما قلت وحل ممتاز بارك الله فيك نسأل الله ان يزيدك من فضله وعلمه تقبل تحياتى
  24. اخى جعفر اقصد me.frame.capitan وبالفعل استخدم UserForm1.PrintForm تقبل تحياتى
×
×
  • اضف...

Important Information