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

محمود_الشريف

الخبراء
  • Posts

    1,846
  • تاريخ الانضمام

  • Days Won

    30

كل منشورات العضو محمود_الشريف

  1. أخى فى الله الاستاذ الكريم // حافظ وبعد اذن استاذى القدير // ياسر خليل محاولة منى لتنفيذ طلبك كل ما عليك أن تستدعى الكود بوضعه فى حدث الشيت نفسه هكذا Private Sub Worksheet_Change(ByVal Target As Range) AddRedCircle End Sub جرب تغيير اى رقم الى 40 واليكم المرفقات نموذج الاستاذ القدير // ياسر وبه تطبيق لما طلبته وتقبلوا منى وافر الاحترام والتقدير Add-Remove Red Circles_1.rar
  2. أخى فى الله وبعد اذن الأستاذة القديرة // أم عبد الله بارك الله فيها وجزاها رب العالمين خير الخير على حلها الرائع وإثراء للموضوع اليكم حل آخر ملحوظة اليوم اذا كان 12 ساعة وليس 24 ساعه عند كتابه توقيت 00:00 يتحول تلقائيا بالملف المرفق الى 12:00 وهذا الامر قد راعيته بالملف المرفق حسب طلبكم أخى الكريم وقد أضفت عمود بين من و الى اسميته الراحه وهى الوقت المستقطع ويكتب بعدد الدقائق بصيغة رقم عادى وقد أضفته بالمعادلة وتقبلوا منى وافر الاحترام والتقدير فرق الوقت_2.rar
  3. أخى فى الله الأستاذ الكريم // عمرو وبعد اذن الاستاذ الكبير // محمد الريفى واثراء للموضوع طريقة أخرى بالكود تم اضافة شيت جديد لجلب الببيانات اليه بمجرد اختيار اسم العميل الملف بالمرفقات وتقبلوا منى ومافر الاحترام والتقدير التكرار_1.rar
  4. أخى فى الله الأستاذ الكريم // زمزم اليكم بالمرفقات تجربة لعملية النسخ كل دقيقة من الخلية B3 الى الخلية D3 اى محتوى بالخلية الأولى يتم نقله الى الخلية الثانية فى حال كون الملف مفتوح فقط وجرب بنفسك ( الملف اوفيس 2010 ) الى أن يقوم أحد الأساتذة بالتوصل كاملا لما تريد وتقبل منى وافر الاحترام والتقدير تجربة النسخ المكرر.rar
  5. أخى فى الله الأستاذ الكبير // سليم حاصبيا الأستاذ القدير // ياسر خليل بارك الله فيكم وجزاكم الله خير الخير وبعد اذن الأستاذ القدير // ياسر خليل فيما يختص بسؤال الأستاذ الكريم // على المصرى هناك كود يستخدم لتكبير الزووم فى حاله تفعيل الخلية التى بها القائمة المنسدله يعمل على تكبير حجم خط القائمة ويعتبر كخدعة لذلك الأمر ويوضع الكود فى حدث الورقة التى بها القائمة المنسدله والكود هو كالتالى : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub On Error Resume Next If Target.Validation.Type <> 3 Then ActiveWindow.Zoom = 100 Else ActiveWindow.Zoom = 150 End If End Sub
  6. اخوانى فى الله الأستاذ الكريم // اسلام الاستاذ الكريم // ريان احمد الاستاذ الكريم // محمد لطفى بارك الله فيكم وجزاكم الله خيرا وتقبلوا منى وافر الاحترام والتقدير
  7. أخى فى الله الأستاذ القدير // ياسر خليل بارك الله فيكم وجزاكم الله خيرا وتقبل منى وافر الاحترام والتقدير
  8. أخى فى الله لم اعرف أين أضع الزكاة بالملف المرفق من قبلكم فقمت بوضع حساب زكاة العمال بملف منفصل بالمرفقات ومرفق ايضا ملف شامل لحساب جميع أنواع الزكاة أتمنى أن تفى بالغرض المطلوب وتقبل منى وافر الإحترام والتقدير زكاة المخزون.rar الزكاة.rar
  9. أخى فى الله الأستاذ القدير // جمال عبد السميع بارك الله فيكم وجزاكم الله خيرا وزادكم رب العالمين من فضله ومن علمه دمتم فى حفظ الله وأمنه تقبل منى وافر الاحترام والتقدير
  10. الدرس الحادى عشر حدث الملف workbook أو حدث الصفحة worksheet هناك أكواد يتم كتابتها داخل حدث الملف وتعنى بتطبيق هذا الكود على كامل الملف مثل اكواد الحماية أو عندما يتم فتح الملف تظهر رساله ما أو فورم للدخول أو ...الخ وهناك أكواد يتم كتابتها داخل حدث الصفحة وتعنى بتطبيق هذا الكود على هذه الصفحة فقط أو تنفيذ اجراء معين داخل هذه الصفحة وهناك أكواد تكتب داخل موديول ويتم ربطها بكود يكتب داخل حدث الصفحة وأيضا هناك أكواد تكتب داخل موديول ويتم ربطها بكود داخل حدث الفورم سنتحدث بهذا الدرس عن الأكواد التى تكتب داخل حدث الصفحة ولكن يجب أن نتعرف عليها وأين تكتب هذه الأكواد عند الدخول الى محرر الأكواد نجد على اليسار اسماء الشيتات أى الصفحات لو قمنا بالنقر عليها مرتين تفتح لنا صفحة على اليمين هذه تسمى محرر الأكواد الخاص بالصفحة نفسها أى حدث الصفحة كذلك مع حدث الملف نجد بهذه الصفحة مستطيلين بهم رأسين لسهم اتجاه للأسفل بالضغط على السهمين تظهر لنا قائمة نختار منها رأس الكود بما يتناسب مع المطلوب أى المراد تنفيذه من خلال هذا الكود كما بالصورة التالية عند اختيار الحدث selectionchange تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا (Private Sub Worksheet_SelectionChange(ByVal Target As Range End Sub ويتم تنفيذ الحدث عندما يتم تغيير الاختيار أى مثلا كلما قمنا بالإنتقال من خلية الى خلية أخرى على سبيل المثال Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static previous_selection As String If previous_selection <> "" Then Range(previous_selection).Interior.ColorIndex = xlColorIndexNone End If Target.Interior.Color = RGB(181, 244, 0) previous_selection = Target.Address End Sub ومعنى الكود أى كلما تم الإنتقال من خليه الى خلية اجعل خلفية الخلية المختارة اى النشطه اى التى تم الانتقال إليها خلفيتها باللون الأخضر ولا يتم احتفاظ الخليه بهذه الخلفيه عندما يتم الانتقال الى خليه أخرى عند اختيار الحدث Worksheet_Activate تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Worksheet_ Activate ( ) End Sub وهو خاص بعندما يتم تنشيط الورقة أى الدخول الى الورقة عند اختيار الحدث Worksheet_Deactivate تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Worksheet_Deactivate ( ) End Sub وهو خاص بعندما يتم تنشيط ورقة عمل أخرى عند اختيار الحدث Worksheet_BeforeDoubleClick تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub وهو خاص بعندما يتم النقر مرتين على خلية ما عند اختيار الحدث Worksheet_BeforeRightClick تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Worksheet_BeforeRightClick (ByVal Target As Range, Cancel As Boolean) End Sub وهو خاص بعندما يتم الضغط على كليك يمين على الورقة عند اختيار الحدث Worksheet_Calculate تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Worksheet_Calculate ( ) End Sub وهو خاص بعندما يتم حساب بيانات فى ورقة العمل أو إعادة حساب عند اختيار الحدث Worksheet_Change تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Worksheet_Change(ByVal Target As Range) End Sub وهو خاص بعندما يتم تغيير محتويات الخلايا بورقة العمل عند اختيار الحدث Worksheet_FollowHyperlink تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) End Sub وهو خاص بعندما يتم النقر على ارتباط تشعبى عند اختيار الحدث Worksheet_FollowHyperlink تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) End Sub وهو خاص بعندما يتم النقر على ارتباط تشعبى ننتقل الى حدث الملف workbook عند اختيار الحدث Workbook_Open تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Workbook_Open ( ) End Sub ويتم تنفيذ الحدث عندما يتم تغيير الاختيار أى مثلا كلما قمنا بالإنتقال من خلية الى خلية أخرى على سبيل المثال Private Sub Workbook_Open ( ) " منتديات أوفيسنا ترحب بكم MsgBox" End Sub ومعنى الكود أى عند فتح الملف سيتم عرض مربع حوار فى شكل رساله ترحب بك عند اختيار الحدث Workbook_BeforeClose تلقائيا يتم كتابة رأس الكود ونهايته ويكون الكود هكذا Private Sub Workbook_BeforeClose(Cancel As Boolean) End Sub وهو خاص بتنفيذ تعليمات مباشرة قبل اغلاق الملف ومرفق مع هذا الدرس مثال عملى به بعض الأكواد المذكوره أعلاه وبعض الأحداث الخاصة بحدث الملف وأيضا أكواد لم تذكر بهذا الدرس خاصه بحدث الملف وأيضا تطبيقات أخرى مثل التعرف على كيفية استخدام التاريخ والوقت وتقبلوا منى وافر الاحترام والتقدير الدرس 11.rar مثال عملى.rar
  11. إخوانى فى الله الأستاذ الكريم // محمد لطفى بارك الله فيكم على مروركم الكريم واضافتكم للملف الذى به الداله الرائعه وثناؤكم على الموضوع الأستاذ الكريم // mohaxnn بارك الله فيكم على مروركم الكريم ودعاؤكم الطيب الأستاذ الكبير // ابراهيم ابو ليله بارك الله فيكم على مروركم الكريم وأسعدنى جدا ان الموضوع اسعدكم وشاكرا لكم ثناؤكم على الموضوع ودعاؤكم الطيب الأستاذ الكريم // عادل ابو زيد بارك الله فيكم على مروركم الكريم وثناؤكم على الموضوع وشاكرا لكم كلماتكم الجميلة الرائعة التى تزيد من حماس الآخرين وتدفعهم الى بذل جهد اكبر الأستاذ الكريم // عمرو طلبه بارك الله فيكم على مروركم الكريم وثناؤكم على الموضوع ودعاؤكم الطيب وتقبلوا منى جميعا وافر الاحترام والتقدير
  12. أخى فى الله الأستاذ // وسيم اليكم الملف بعد اضافة التاريخ وتقبل منى وافر الاحترام والتقدير
  13. أخى فى الله الأستاذ الكريم // محمد لطفى بارك الله فيكم وجزاكم الله خير الخير تقبل منى وافر الاحترام والتقدير
  14. أخى فى الله الأستاذ الكريم // ابو صلاح بارك الله فيكم ..والشكر لله وتقبل منى وافر الاحترام والتقدير
  15. أخى فى الله الأستاذ / وسيم وبعد اذن استاذى العلامه القدير // عبد الله باقشير حل آخر بالكود وتقبلوا منى جميعا وافر الاحترام والتقدير invoice-1.rar
  16. أخى فى الله ليس عندى ما أضيفه بعد رد الأستاذ القدير // ياسر خليل ( ابو البراء ) والأستاذ الكريم // سليم حاصبيا فقط كل ما عليك أن تضغط موافق على الرساله الأولى اما فيما يختص بتغيير شكل ايقونه ملف الاكسل اى بظهور علامه الماكرو عليه فهذا أمر طبيعى لا تقلق منه نظرا لكونك أخترت نوع حفظ الملف Excel-Macro Enabled واذا ظهرت الرساله الثانية فى اى وقت وبأى ملف قم بإلغاء علامه الصح من مربع فحص التوافق واضغط متابعه وتقبل منى وافر الاحترام والتقدير
  17. أخى فى الله الأستاذ القدير // ياسر خليل بارك الله فيكم وجزاكم الله خير الخير انتم أساتذتى وتعلمت منكم الكثير أخى الحبيب وما زلت أتعلم وهذا من طيب أصلكم وكرمكم والكود المرفق من قبلكم اكثر دقه ملحوظة فيما يختص بالكود المرفق من قبلى بالمشاركه الأولى به خطأ بدلا من جعل القيمة = 0 المفروض انها تكون = "" واعتذر لعدم الإنتباه لذلك لأننى لم أقم بتجربة الكود اى يكون الكود هكذا Private Sub CommandButton1_Click() Application.ScreenUpdating = True Dim Cl As Range For Each Cl In Range("b8:b213") If Cl.Value = "" Then Cl.EntireRow.Hidden = True End If Next Cl ActiveWindow.SelectedSheets.PrintPreview For Each Cl In Range("b8:b214") Cl.EntireRow.Hidden = False Next Cl Application.ScreenUpdating = True End Sub وتقبلوا منى وافر الاحترام والتقدير
  18. أخى فى الله الأستاذ الكريم / ابو صلاح جرب هذا الكود للإظهار والإخفاء وينقلك للمعاينه مباشرة ومن خلال اغلاق المعاينة تعود للوضع الطبيعى لأننى لم أقم بتجربته على الملف المرفق من قبلكم الكود Private Sub CommandButton1_Click() Application.ScreenUpdating = True Dim Cl As Range For Each Cl In Range("b8:b213") If Cl.Value = 0 Then Cl.EntireRow.Hidden = True End If Next Cl ActiveWindow.SelectedSheets.PrintPreview For Each Cl In Range("b8:b214") Cl.EntireRow.Hidden = False Next Cl Application.ScreenUpdating = True End Sub وتقبل منى وافر الاحترام والتقدير
  19. الدرس العاشر الكائن Window لتغيير التسمية التوضيحية لأسم النافذة للمصنف النشط في الشريط العلوي من البرنامج Sub MZM () ActiveWindow.Caption = "منتديات أوفيسنا التعليمية" End Sub ويمكن أيضا جعلها بدون أي تسمية توضيحية Sub MZM () ActiveWindow.Caption = "" End Sub لتنشيط نافذة بعينها مفتوحه فى الخلفية Sub MZM () Windows("Book1").Activate End Sub يمكن ان يكون خيار التنشيط باختيار التالي Sub MZM () ActiveWindow.ActivateNext End Sub كما يمكن ان يكون خيار التنشيط باختيار السابق Sub MZM () ActiveWindow.ActivatePrevious End Sub لإنشاء إطار جديد لنافذة المصنف الحالي النشط Sub MZM () ActiveWindow.NewWindow End Sub لإخفاء إطار نافذة المصنف الحالي النشط ، طبعاً يمكن إظهاره القائمة إظهار أو اختيار TRUE إذا كنت داخل محرر الأكواد Sub MZM () ActiveWindow.Visible = False End Sub تكبير حالة النافذة الحالية للمصنف النشط Sub MZM () ActiveWindow.WindowState = xlMaximized End Sub تصغير حالة النافذة الحالية للمصنف النشط Sub MZM () ActiveWindow.WindowState = xlMinimized End Sub الوضع العادى لحالة النافذة الحالية للمصنف النشط Sub MZM () ActiveWindow.WindowState = xlNormal End Sub لإغلاق نافذة المصنف الحالي النشط Sub MZM () ActiveWindow.Close End Sub لإعطاء زووم بقيمة معينة لنافذة ورقة العمل الحالية Sub MZM () ActiveWindow.Zoom = 80 End Sub لإخفاء علامات التبويب لأوراق العمل بنافذة المصنف النشط Sub MZM () ActiveWindow.DisplayWorkbookTabs = False End Sub لإخفاء رؤوس الأعمدة والصفوف بنافذة ورقة العمل الحالية Sub MZM () ActiveWindow.DisplayHeadings = False End Sub لإخفاء شريط التمرير الأفقي بنافذة المصنف النشط الحالي Sub MZM () ActiveWindow.DisplayHorizontalScrollBar = False End Sub وللتحكم بشريط التمرير الأفقي من حيث الزيادة والنقصان يمكن التدرج بالشكل التالي Sub MZM () ActiveWindow.TabRatio = 1 End Sub Sub MZM () ActiveWindow.TabRatio = 0.5 End Sub Sub MZM () ActiveWindow.TabRatio = 0 End Sub لإخفاء شريط التمرير العمودي بنافذة المصنف النشط الحالي Sub MZM () ActiveWindow.DisplayVerticalScrollBar = False End Sub لعرض جميع الصيغ بنافذة ورقة العمل النشطة Sub MZM () ActiveWindow.DisplayFormulas = True End Sub لإخفاء خطوط الشبكة بنافذة ورقة العمل النشطة Sub MZM () ActiveWindow.DisplayGridlines = False End Sub لإعطاء لون محدد لخطوط الشبكة بنافذة ورقة العمل النشطة Sub MZM () ActiveWindow.GridlineColor = QBColor(14) End Sub لعمل معاينة لفواصل الصفحات للورقة النشطة حالياً Sub MZM () ActiveWindow.View = xlPageBreakPreview End Sub وللعودة لوضع العرض العادي بالورقة النشطة حاليا Sub MZM () ActiveWindow.View = xlNormalView End Sub لإخفاء القيم الصفرية بنافذة ورقة العمل النشطة Sub MZM () ActiveWindow.DisplayZeros = False End Sub لقراءة اسم الورقة الحالية في شكل Message Box Sub MZM () MsgBox Windows(1).ActiveSheet.Name End Sub لقراءة عنوان مدى محدد تم اختياره ليظهر العنوان في شكل Message Box Sub MZM () MsgBox ActiveWindow.RangeSelection.Address End Sub لقراءة عنوان الخلية النشطة بنافذة المصنف تم اختياره ليظهر العنوان في شكل Message Box Sub MZM () MsgBox Windows("أوفيسنا").ActiveCell.Address End Sub لعمل انقسام داخل نافذة ورقة العمل النشطة Sub MZM () ActiveWindow.Split = True End Sub لمعرفة عدد الأجزاء المنقسمة داخل نافذة ورقة العمل النشطة واسترجاع الناتج في شكل مسج Sub MZM () MsgBox ActiveWindow.Panes.Count End Sub لعمل تجميد الألواح داخل نافذة ورقة العمل النشطة Sub MZM () ActiveWindow.FreezePanes = True End Sub مرفق ملف pdf به كامل الدرس العاشر الدرس 10.rar
  20. أخى الكريم أفضل أن ترفق ملف حتى يتسنى لمن يرغب فى تقديم المساعده فهم المطلوب بشكل جيد وتقبل منى وافر الاحترام والتقدير
  21. تابع الدرس التاسع لاحظ الاختصار في الأكسيل فبدلاً من الأسطر المتعددة يمكن الإشارة للمجال المختار بهذه الجملة WHIT وهي جملة تستخدم لتخصيص المجال أي عند المجال المعين بالخاصية المطلوبة افعل كذا Sub MZM () With Worksheets(3).Range("A1:h10").Font .Bold = True .Italic = True .Underline = True .Name = "ARIAL" .Size = 20 End With End Sub استخدمنا خاصية WHIT لتخصيص المجال المحدد بالخاصية المطلوبة FONT لعمل ما يلي من أوامر بعد سطر التخصيصويجب إنهاء جملة التخصيص WHIT بجملة End With Sub MZM () Worksheets(5).UsedRange.Font.Size = 16 End Sub تستخدم هذه الخاصية عند وجود بيانات متقطعة فهي تشير لكامل المجال المستخدم Sub MZM () Worksheets(3).Range("a1").CurrentRegion.Font.Size = 16 End Sub تستخدم هذه الخاصية عند وجود بيانات متقطعة أي البيانات المتصلة فقط بالمجال المذكور هي التي سيتم تنفيذ المطلوب عليها Sub MZM () Worksheets(3).Range("C2:G10").BorderAround ColorIndex:=5 End Sub يقوم الكود بإحاطة المجال المختار بحدود باللون الأزرق Sub MZM () Worksheets(3).Range("C2:G10").Interior.ColorIndex = 6 End Sub يقوم الكود بتلوين المجال المحدد باللون الأصفر وعلى ذكر ColorIndex قد يتساءل البعض كيف يمكن معرفة رقم اللون المختار ؟ وفيما يلى جدول بالرقم الخاص بكل لون قدر المستطاع مثال Sub MZM () With Cells(1, "D") .Value = "منتديات أوفيسنا التعليمية " .Font.Bold = True .Font.Name = "Arial" .Font.Size = 72 .Font.Color = RGB(0, 0, 250) .Columns.AutoFit .Interior.Color = RGB(0, 255, 255) .Borders.Weight = xlThick .Borders.Color = RGB(0, 0, 255) End With End Sub بالكود السابق استخدمنا الخاصية Cells للإشارة إلى الخلية الأولى من العمود D شرح الكود : - عند الخلية الأولى من العمود D أعطها قيمة نصية " منتديات أوفيسنا التعليمية" - تغليظ الخط قم باستخدام نوع الخط Arial - حجم الخط 72 - اختيار اللون الأزرق - استخدم خاصية الاحتواء المناسب لضبط النص داخل الخلية - جعل الخلفية باللون التركوازى - إحاطة الخلية برسم حد ذي حد غليظ - اختيار للحد لوناً أزرق - قم بإنهاء جملة WITH ويمكن الإشارة هنا إلى أن أنواع الـ .Borders.Weight هي كما يلي Sub MZM () With Range("A1:A5,H1:H5") .Value = "MAHMOUD ELSHRIE" .Font.Bold = True . Columns.AutoFit End With End Sub بالكود أعلاه : - تم الإشارة لمجالين مختلفين مع جملة WITH - تم كتابة قيمة نصية MAHMOUD ELSHRIE - تم اختيار نوع الخط الغليظ - تم عمل احتواء مناسب للأعمدة - ثم إنهاء جملة WITH ======================================================================== جميع ما سبق الحديث عنه بالنسبة للمدى كان محدد ومعلوم ، أي أن الأبعاد ثابتة ومحددة مثل الخلية A1 المدى A1 : H10 فماذا لو كان المجال المطلوب العمل ضمنه هو مجال متغير الأبعاد ؟ إذا یجب علینا التعرف على ما یلي جمل التخصیص SET AND LET كلاهما تستخدم لتخصيص قيم المتغيرات المعلن عنها ككائنات والفرق بينهما في أن جملة SET تستخدم لتخصيص المتغيرات من نوع كائن أما LET فتستخدم لتخصيص القيم الرقمية أو الحرفية للمتغيرات الأخرى مثال على جملة SET لأنها هى التى تهمنا الآن : Sub MZM() Dim R1 As Range Dim R2 As Range Dim MAHMOUD As Range Set R1 = Range("B2:C5") Set R2 = Range("F2:J5") Set MAHMOUD = Union(r1, r2) With MAHMOUD .Value = "MAHMOUD ELSHRIEF " .Font.Size = 20 .Font.Bold = True .Font.Italic = True .Font.ColorIndex = 5 .Borders.Weight = xlMedium .Borders.Color = RGB(0, 255, 255) .Interior.ColorIndex = 6 .Columns.AutoFit End With End Sub السطر الأول والثاني والثالث إعلان عن المتغيرات على أنها من النوع RANGE السطر الرابع والخامس تخصيص المجال المذكور للمجال الأول والثاني R1 ،R2 وذلك باستخدام جملة Set السطر السادس تخصيص المجال MAHMOUD الذي نريده أن يعبر عن دمج المجالين R1 ،R2 وذلك باستخدام الأمر Union والفائدة من ذلك كله تكٌمن في السطر السابع ، فعند تخصيص المجال MAHMOUD كمتغير من نوع نطاق ليعبر عن المجالين R1 ،R2 أمكن لنا أن نقرنه بالجملة WHIT ليأخذ الخصائص المطلوبة في الأسطر الباقية من الكود مثال آخر : Sub MZM () Dim Z As Worksheet Set Z = Application.Worksheets(2) Z.Name = "منتديات أوفيسنا التعليمية " End Sub هنا تم تخصيص الكائن من ورقة عمل للمتغير Z وبالتالي عند استخدام خاصية Name مع المتغير Z أمكن تغيير أسم الورقة باختصار فإن المتغير Z بفضل الجملة SET يعبر عن كائن ورقة العمل المحددة المدى الدینامیكى لا يزال الحديث متصلا بكائن النطاق RANGE والذى استغرق منا تقريباً معظم الحالات ولكن الملاحظ فيما سبق أننا قد نحتاج من حين لأخر لزيادة أو إنقاص حجم مساحة العمل أى المدى الذي نريد العمل ضمنه ، وبالتالي نضطر لتعديل أبعاد المدى من داخل الكود فماذا لو كان مجال العمل المدى متحرك أى ديناميكى ؟ عندها يصبح الكود والعمل المنجز أكثر فعالية ومفعماً بالحيوية فمثلا قد نعد تنسيقات لجدول بحجم ضخم ولكن لا نستخدم منه إلا الجزء اليسير وينتج عن ذلك إرهاق لموارد البرنامج وبطء ملحوظ في كفاءة ملف العمل والكود التالي يلخص فكرة المثال السابق : Private Sub Worksheet_Change(ByVal Target As Range) With Range("MYRANGE") .Font.Size = 16 .Font.Bold = True .Font.ColorIndex = 5 .Borders.Weight = xlMedium .Borders.ColorIndex = 3 .Interior.ColorIndex = 36 .Columns.AutoFit .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .RowHeight = 25 End With End Sub جميع اسطر الكود تقريباً تم شرحها سابقاُ فيما عدا أن الكود لا يبدأ بكلمة SUB المعهودة وذلك لأنه مقترن بحدث التغيير بورقة العمل عند المجال MYRANGE الديناميكي كذلك سطري الأوامر .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter واللذان يعنيان توسيط البيانات أفقيا وعمودياً أيضا سطر الأوامر .RowHeight = 25 والذي يعني جعل الصفوف متساوية بارتفاع 25 مرفق ملف pdf به كامل الدرس التاسع الدرس 9.rar
  22. تابع الدرس التاسع كائن المدى / النطاق Range نستعرض كائن من نوع النطاق أو ما يسمى بالمدى أو المجال وهو الأكثر شيوعاً أي أن أغلب الأكواد تشير بكثرة لهذا النوع من الكائنات Sub MZM14 () Range("d2:i10").Select End Sub يقوم الكود بتحديد المجال المشار إليه بين القوسين Sub MZM15 () Range("d2:i10").Columns(2).Select End Sub يقوم الكود بتحديد العمود الثاني بالمجال المشار إليه بين قوسين Sub MZM16 () Range("b10:f15").Columns(2).Value = 0 End Sub يقوم الكود بكتابة قيمة صفر في العمود الثاني من المجال المحدد بين القوسين Sub MZM17 () Range("c5:c10").Rows(1).Value = 100 End Sub يقوم الكود بكتابة قيمة 100 في الصف الأول من المجال المحدد بين القوسين وهو هنا الخلية C5 Sub MZM18 () Range("d2:i10").Cells(2, 3).Select End Sub يقوم الكود بتحديد الخلية الواقعة في الصف الثاني من العمود الثالث داخل المجال المحدد بين القوسين وهي الخلية F3 Sub MZM19 () Range("f10:i15").Cells(3, 2).Value = 200 End Sub يقوم الكود بكتابة قيمة 200 بالخلية الواقعة في الصف الثالث من العمود الثاني داخل المجال المحدد بين القوسين وهي هنا الخلية G12 Sub MZM20 () Worksheets(3).Range("f1:h5").Value = 100 End Sub يقوم الكود بكتابة قيمة 100 في المجال المحدد من الورقة الثالثة من أوراق المصنف Sub MZM21 () Range("d2:i10").Clear End Sub يقوم الكود بمسح محتويات المجال المشار إليه بين قوسين Sub MZM22 () Worksheets(3).Range("a1:c10").Font.Bold = True End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف قم باختيار خاصية Bold سماكه الخط Sub MZM23 () Worksheets(3).Range("a1:c10").Font.Italic = True End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف قم باختيار خاصية Italic إمالة الخط Sub MZM24 () Worksheets(3).Range("a1:c10").Font.Underline = True End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف قم باختيار خاصية Underline وضع خط تحت البيانات Sub MZM25 () Worksheets(3).Range("a1:c10").Font.Name = " Arabic Typesetting" End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف قم باختيار نوع الخط Arabic Typesetting Sub MZM26 () Worksheets(3).Range("a1:c10").Font.Size = 18 End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف قم باختيار حجم الخط 18 Sub MZM27 () Worksheets(3).Range("a1:c10").Columns(1).Font.Size = 18 End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف بالعمود الأول فقط قم باختيار حجم الخط 18 Sub MZM28 () Worksheets(3).Range("a1:c10").Rows.Font.Bold = True End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف لجميع صفوف المجال قم باختيار خاصية Bold Sub MZM29 () Worksheets(3).Range("a1:c10").Rows(3).Font.Bold = True End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف بالصف الثالث فقط قم باختيار خاصية Bold Sub MZM30 () Range("f20:i25").Cells.Font.Italic = True End Sub عند المجال المحدد من الورقة الثالثة في أوراق المصنف بجميع الخلايا قم باختيار خاصية Italic Sub MZM31 () ActiveCell.Formula = "=C1+D2" End Sub عند الخلية الحالية النشطة اكتب المعادلة المذكورة Sub MZM32 () Range("h10").FormulaR1C1 = "=r[-1]c[-1]+r[1]c[1]" End Sub لإدراج المعادلة بمقدار إزاحة اقل من صف وعمود لليمين + إزاحة اكبر من صف وعمود لليسار للخلية المختارة وبالتالي سيكون الناتج معادلة G9+I11 Sub MZM33 () Range("h10").FormulaR1C1 = "=rc[1]+rc[2]" End Sub لإدراج المعادلة بمقدار إزاحة أكبر من صف وعمود لليسار + إزاحة اكبر من صفين عمودين لليسار للخلية المختارة وبالتالي سيكون الناتج معادلة I10+J10 Sub MZM34 () Worksheets(3).Range("H10").Offset(1, 2).Value = 100 End Sub لإدراج القيمة 100 بمقدار إزاحة زائد عمودين لليسار وصف من الخلية المختارة وهي ستكون الخلية J11
  23. الدرس التاسع التعامل مع الكائنات الكائنات Objects الكائنات هي المكونات الأساسية لاى برنامج وهى الأدوات التي تحتوى على البيانات او تستخدم للتعامل مع البيانات مثال ذلك الجداول والنماذج والاستعلامات والتقارير فى Access ويتضمن Excel الكائنات التالية : 1 – التطبيق Application ويتمثل فى برنامج الإكسيل نفسه . 2 – المصنف Work Book ويتمثل فى كتاب العمل الذى يتم التعامل مع البيانات من خلاله. 3 - ورقة العمل Work Sheet وهى التى تحتوى على مجموعة البيانات 4 – النطاق Range ويتضمن مجموعة من الخلايا Cells وهى التى تحتوى على بيان واحد من البيانات سواء كان بيان نصى أو رقمى أو معادلة أو دالة ويكتب النطاق على النحو التالى Range(a1:c5) أى نطاق الخلايا من a1 الى c5 ولكل كائن من هذه الكائنات خصائص معينة Properties مثل الاسم Name والعنوان Caption ومجموعة من الأساليب Methods التي تستخدم في تنفيذ أمر معين على الكائن كما أن الكائن قد يقع عليه حدث يؤثر فى سلوكه ورد فعله كائن التطبیق Application Sub JASMEN1() Application.Caption = "JASMEN MAHMOUD ELSHRIEF" End Sub يقوم الكود بتوظيف الخاصية Caption على كائن التطبيق أي أن هذه الخاصية تقوم بتغيير الاسم العام للبرنامج فبدلا من كلمة مايكرسوفت سيظهر "JASMEN MAHMOUD ELSHRIEF" Sub JANA2 () Application.DisplayFormulaBar = False End Sub تقوم هذه الخاصية DisplayFormulaBar بإخفاء شريط الصيغ عند استخدام False وبالمقابل إظهاره عند استخدام TRUE Sub JOUMANA3 () Application.DisplayFullScreen = True End Sub تقوم هذه الخاصية DisplayFullScreen بجعل التطبيق في وضع ملء الشاشة وللرجوع طبعاً يجب ان نجعل القيمة False Sub MZM4 () Application.DisplayRecentFiles = False End Sub تقوم هذه الخاصية DisplayRecentFiles بعدم عرض المستندات الأخيرة في كائن تطبيق اكسيل وإذا أردنا إستعراضها طبعاً نجعلها تاخد القيمة TRUE Sub MZM5 () Application.WindowState = xlMaximized End Sub تقوم هذه الخاصية WindowState بعرض البرنامج فى حالة التكبير Sub MZM6 () Application.WindowState = xlMinimized End Sub تقوم هذه الخاصية WindowState بعرض البرنامج فى حالة التصغير Sub MZM7 () Application.WindowState = xlNormal End Sub تقوم هذه الخاصية WindowState بعرض البرنامج فى حالة العرض العادى كائن ورقة العمل Worksheet Sub MZM8 () Worksheets("sheet1").Visible = False End Sub يقوم الكود السابق بإخفاء ورقة العمل المسماه sheet1 وإذا أردنا إظهار الشيت نجعل القيمة TRUE Sub MZM9 () Worksheets(1).Name = "sheet1" End Sub يقوم الكود بإعادة تسمية الورقة 1 في ترتيب اكسيل بـ sheet1 Sub MZM10 () Worksheets("sheet1").Delete End Sub يقوم الكود بحذف الورقة المسماه sheet1 Sub MZM11 () Worksheets(1).Activate End Sub يقوم الكود بتنشيط الورقة المسماه sheet1 Sub MZM12 () Worksheets.Add End Sub يقوم الكود بإضافة ورقة جديدة Sub MZM13 () Worksheets(3).Copy End Sub يقوم الكود بنسخ الورقة الثالثة ضمن ترتيب ورقات المصنف
  24. إخوانى فى الله الأستاذ الكريم // ابو صلاح الأستاذ الكريم // زمزم الأستاذ الكريم // mk_mk_79 بارك الله فيكم على مروركم الكريم وتقبلوا منى وافر الاحترام والتقدير
  25. أخى الكريم بارك الله فيكم راجع اخى الكريم هذا الرابط به عده نماذج للتفقيط به ان شاء الله ما تريد وأكثر http://www.officena.net/ib/index.php?showtopic=51327 وتقبل منى وافر الاحترام والتقدير
×
×
  • اضف...

Important Information