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

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

الخبراء
  • Posts

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

  • Days Won

    30

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

  1. أخى الكريم الأستاذ // ناصر سعيد سنضيف على مثال الأستاذ // محمد الدسوقى تجد انه تم وضع فى خليه E1 عدد الطلاب كاملا سنضع بالخلية D2 كلمة ناجح وبالخلية المقابلة لها E2 عدد الناجحين يمكن ذلك سنضع فى الكود من ضمن جزئيات الثوابت خلية عدد الناجحين وخليه كلمة ناجح ونحدد نطاق الناجحين بشيت البيانات وهو العمود الذى يسجل فيه كلمه ناجح أو راسب أو دور ثان وسنضيف بالكود كود طباعه الناجحين وربطه بزر طباعه الناجحين فقط وسيكون كالتالى ' نطاق ناجح في ورقة البيانات بإفتراض أن هذا العمود المسجل بالكود هو من يحدد ناجح أو راسب ونسميه مثلا MYND Const MyND As String = "D4:D44" ' خلية عدد الناجحين Const CountNA As String = "E2" ' كلمة البحث عن الناجحين ونسميها مثلا NA_G Const NA_G As String = "ناجح" Sub الناجحين() Application.ScreenUpdating = False MZM_ClearContents With MySheet Call MZM_Test_Fill(.Range(CountNA)) If MZM_Test Then Call MZM_Nd(NA_G): .PrintPreview End With Application.ScreenUpdating = True End Sub
  2. أخى الكريم اجعل الكود هكذا Sub TranByCompCod() Range("A9:F101").ClearContents LR = Sheet3.Range("A" & Rows.Count).End(xlUp).Row For R = 2 To LR LC = Sheet3.Cells(R, Columns.Count).End(xlToLeft).Column If Range("B1") = Sheet3.Cells(R, 1) Then Range("D1") = Sheet3.Cells(R, 2) Range("B2") = Sheet3.Cells(R, 3) Range("D2") = Sheet3.Cells(R, 4) Range("B3") = Sheet3.Cells(R, 5) Range("D3") = Sheet3.Cells(R, 6) For C = 8 To LC x = WorksheetFunction.Transpose(Sheet3.Range(Sheet3.Cells(R, C), Sheet3.Cells(R, LC))) Cells(C + 1, "B") = x Cells(C + 1, "A") = Cells(C + 1, "A").Row - 7 Next End If Next Call TransF End Sub Sub TransF() Dim x As Variant, LR As Long, LS As Long, R As Integer, y As Range, z As Integer LR = sheet1.Range("B" & Rows.Count).End(xlUp).Row LS = Range("B" & Rows.Count).End(xlUp).Row Range("D9:F" & LR).ClearContents Set y = sheet1.Range("B9:E" & LR) For R = 9 To LS For z = 2 To 4 x = Application.VLookup(Range("B" & R), y, z, 0) Cells(R, z + 2) = x Next Next End Sub
  3. أخى الكريم إليك محاولة منى ضع هذا الكود فى موديول واربط زر التشغيل بـ START وزر الايقاف بـ STOP ولكنه سيعمل على خلية واحده B4 Dim NextTick As Date, t As Date Sub StartClock() t = Time Call TickTock End Sub Private Sub TickTock() Range("B4").Value = Format(Time - t, "hh:mm:ss") NextTick = Now + TimeValue("00:00:01") Application.OnTime NextTick, "TickTock" End Sub Sub StopClock() Application.OnTime earliesttime:=NextTick, procedure:="TickTock", schedule:=False End Sub
  4. أخى الكريم الأستاذ // ناصر سعيد أشكرك على تفاعلك العملى وإثرائك للفكرة العامة مع الموضوع ================= توضيح هام أنا لم أقوم بعمل الشيت كنترول كاملا ،، فقط أنا بعرض الفكرة الخاصة بشيت محدد ومحاولة إختصار أربع شيتات فى شيت واحد & أشرت إليها سابقا فقمت بعرضها مع إضافة واجهة لبدء البريمج وعلى فكرة ليس فيه أى تعقيد كل ما فى الكود هى عملية اخفاء واظهار أعمدة من خلال فورم حتى نخفف عبء حجم الملف كاملا أثناء الإستخدام والهدف أن نصل لأفضل شكل من التصميم والأكواد لكل شيت من بريمج الكنترول وتقبل منى وافر الاحترام والتقدير
  5. إليكم الفكرة التى تحدثت عنها سابقا أولى الخطوات والله المستعان فكرة شيت الرصد التفصيلي بعد فصل الناجحين والراسبين على أن يكون نفس الشيت يصبح أربع شيتات فى شيت واحد ( شيت الناجحين & شيت درجات & شيت تقديرات & شيت درجات وتقديرات ) يوجد ثلاثة باسوورد للفورم المستخدم بالترتيب ( جاسمين & جنى & جومانة ) على أسماء بناتى أتمنى إبداء الرأى والتفاعل عمليا إن أمكن وحسب ما يسمح به وقتكم وتقبلوا منى وافر الاحترام والتقدير تجربة.rar
  6. فيما يختص بشرح كود طباعة الشهادة ' بدء الكود بتحديد النطاقات الثابة ' const تستخدم لتحديد الثوابت ' اسم ورقة الشهادات Const ShName As String = "Certificates" ' رقم اول صف للشهادة Const FirstRow As Integer = 6 ' عدد صفوف الشهادة Const CountRow As Integer = 17 'عدد اعمدة الشهادة التي تريد اظهارها في الطباعة Const CountColumn As Integer = 17 ' خلية موقع الطالب لمعادلات الشهادة Const Range_Index As String = "A6" ' اسم ورقة البيانات Const Sh As String = "Data" ' نطاق الاسماء في ورقة البيانات Const MyNSearch As String = "C5:C44" ' الخلية التى بها عدد كل الطلاب تجدها بشيت الشهادة Const CountAll As String = "E1" ' متغيرين نعلن عنهم Dim MZM_Test As Boolean Dim MySheet As Worksheet Sub MZM_ALL() ' إيقاف تحديث الشاشة Application.ScreenUpdating = False ' استدعاء الكود MZM_ClearContents With MySheet ' اسم النطاق الثابت المعلن عنه سابقا (Range_Index)خلية موقع الطالب لمعادلات الشهادة .Range(Range_Index).Value = 1 ' استدعاء عمل الكود التالى مع الأخذ فى الاعتبار الثابت الذى قمنا بتعريفة وهى الخلية التى عدد اجمالى الطلاب Call MZM_Test_Fill(.Range(CountAll)) ' اذا كان المتغير المعلن عنه بأول الكود به بيانات بناء على خلية معادله الشهادة تم تنفيذ المطلوب مع استدعاء الكود بالسطر السابق اذن يتم تطبيق التالي ' يتم مسح النطاق للكتابه فيه مع عرض الطباعة If MZM_Test Then .PrintPreview Else .Range(Range_Index).ClearContents End With ' اعادة تحديث الشاشة Application.ScreenUpdating = True End Sub Sub MZM_Delete() ' إيقاف تحديث الشاشة Application.ScreenUpdating = False ' استدعاء عمل الكود التالى MZM_ClearContents ' اعادة تحديث الشاشة Application.ScreenUpdating = True ' حفظ العمل واظهار رسالة تفيد ذلك ThisWorkbook.Save MsgBox "تم مسح الشهادات وحفظ نطاق عمل الشهادة الرئيسية", vbMsgBoxRight, "الحمد لله الذى بنعمته تتم الصالحات" End Sub Sub MZM_ClearContents() ' متغير نعلن عنه Dim T As Long ' تخصيص متغير أعلن عنه سابقا Set MySheet = Sheets(ShName) With MySheet ' خلية موقع الطالب لمعادلات الشهادة وهو من الثوابت المعلن عنها سابقا يتم المسح مع الحفاظ على النموذج ( الشهادة الرئيسية) الذى يستخدم للنسخ كما هو .Range(Range_Index).ClearContents T = .UsedRange.Rows.Count .Rows(FirstRow + CountRow).Resize(T).Delete ' نطلب منه الوقوف على الخلية التى تم الاعلان عنها كثابت وهى خلية موقع الطالب لمعادلات الشهادة Application.GoTo .Range(Range_Index), True End With End Sub ' الكودين التاليين يختصوا بنسخ نطاق الشهادة بما فيها من معادلات وتنسيق مع رسالة توضح اذا كان لا يوجد معادلات Sub MZM_Test_Fill(MyCel As Range) If IsNumeric(MyCel) And MyCel.Value > 0 Then MZM_Test = True If MyCel.Value <> 1 Then Call MZM_AutoFill(MyCel.Value) Else MZM_Test = False MsgBox MyCel.Offset(0, -1) & Chr(10) & Chr(10) & MyCel, 524288 + 1048576 + 16, "بيانات غير متوفرة" End If End Sub Sub MZM_AutoFill(R As Integer) Dim SourceRange As Range, fillRange As Range Dim RR As Long RR = (R * CountRow) With MySheet Set SourceRange = .Rows(FirstRow).Resize(CountRow) Set fillRange = .Rows(FirstRow).Resize(RR) SourceRange.AutoFill fillRange, xlFillDefault .PageSetup.PrintArea = .Range("B" & FirstRow).Resize(RR, CountColumn).Address End With End Sub
  7. أخى الغالى الأستاذ // جلال الجمال الأستاذ الكريم // ناصر سعيد الأستاذ الفاضل // محمد الدسوقى شاكرا لكم حسن تعاونكم على إهتمامكم ورأيكم وتشجيعكم ومناقشاتكم المثمرة أتمنى من السادة المهتمين والمتخصصين ورواد الكنترول أن يفيدونا بشكل للجداول لأنى لست مدرس أو متخصص لا أعرف المواد ولا الدرجات ولى رجاء أن يكون هناك حرص على تقليل عدد أوراق مصنف الشيت فحاليا أعمل على فكرة شيت درجات الناجحين بعد فصل الناجحين والراسبين على أن يكون نفس الشيت يصبح أربع شيتات فى شيت واحد ( شيت الناجحين & شيت درجات & شيت تقديرات & شيت درجات وتقديرات ) وقريبا سأرفق الفكرة وتقبل منى وافر الاحترام والتقدير
  8. أخى الحبيب وأستاذى // ياسر خليل جزيتم عنى خير الخير ، وزادكم الله من نعمه أخى الكريم الأستاذ / محمد تجد بالمرفقات ملف به طباعه جميع الشهادات ومسح الشهادات وجمد قلبك وإضغط على مسح ومتقلقش، وتحويل أى شيت الى PDF أو أى نطاق الى PDF أو كامل المصنف الى PDF ممكن بعد إصدار أمر طباعة الكل يمكنك تحويل شيت الشهادات الى PDF All Certificates print_ FORM OR ALL OR PDF _By _MZMELSHRIEF.rar
  9. أخى الكريم رجاء أن تعرض فكرتك فى ملف اكسل وستجد الكثير من أعضاء وأساتذة هذا المنتدى التعليمي يسارعون بمساعدتك ولا يبخلون بعلم على أحد وتقبل منى وافر الاحترام والتقدير
  10. أخى الغالى وأستاذى القدير // ياسر خليل كم سعدت جدا بتعقيبك وتشجيعك للفكرة ، ونسأل الله أن يعيننا على إتمامها بالشكل الذى يليق بمنتدى أوفيسنا الذى ساعدنى كثيرا فى تعلمى كثير من الامور التى كنت غافلا عنها شاكرا لكم حسن تعاونكم على إهتمامك ورأيك وتشجيعك ومناقشاتك المثمرة وتقبل منى وافر الاحترام والتقدير
  11. أخى الحبيب وأستاذى // ياسر خليل أسلوبك فى إيصال المعلومة بأكثر من شكل للوصول للهدف بدقة ومن نقاشكم وحواركم فى تحليل الكود يجعلنى أستفيد أكثر ويفيد من يرغب فى التعلم جزيتم عنى خير الخير ونسأل الله لكم أن يزيدكم من فضله ومن علمه تقبل منى وافر الاحترام والتقدير
  12. أخى الكريم وبعد اذن أخى الحبيب وأستاذى // ياسر خليل تجد بالمرفقات طباعه الشهادات من خلال فورم ( من : الى ) وبالنسبة لطباعة الشهادات كافة ( يوجد بالمنتدى هذا الكود الأكثر من رائع وعلى ما أعتقد لا يوجد مثله بالمنتدى ) وهو للعلامة القدير أستاذى // عبد الله باقشير أنا أتذكر اسم الملف ( كنترول رائع ) ولا أتذكر اسم الموضوع كل المطلوب منك تغيير النطاق وتحديد الأعمدة به ليتناسب مع مطلبك Certificates By Form MZM_ELSHRIEF.rar
  13. أخى الكريم لقد حملت ملفك بما أنى لست محاسب بس اشتغلت على ملفات شبيهة أولا : ووجدت شيت اسمه الواجهة ممكن تحدد المطلوب ( فورم ولا صفحة رئيسية للتنقل لما تريد ) ثانيا : معيار البحث ال حضرتك طلبته ( البحث بأى حرف ) شىء جميل ، بس ملفك بيتحدث عن الاقساط يبأى الأفضل معيار البحث بإسم العميل مع تحديد فترة التاريخ ( من : الى ) ثالثا : بند أو عمود عدد الأقساط من أين يأخذ بياناته بمعنى المفترض يكون فى شيت رئيسى به بيانات رئيسية من اسم العميل والتاريخ والمقدم والمتبقى وعدد الاقساط ونوع القسط وقيمة القسط ومده سداد القسط رابعا : انشاء شيت يسمى بمتابعة العملاء ال شبه الشيت الموجود بالملف وبعدها انشاء شيت واحد من خلاله يتم البحث عن كل عميل وحالته بالتفصيل ومن ثم طباعته هذه وجهة نظرى ولك أن تأخذ بها أو لا أما بالنسبة لطلبك برجاء تحديد المطلوب
  14. أخى الكريم ما زالت الصورة غير مكتملة ولكن بناء على ال فهمته الكود ارتبط بالتوقيت الامريكى وهناك فرق توقيت بين مصر وامريكا 6 ساعات فمثلا عندما تكون الساعة 12 صباحا بمصر يوم الأربعاء تكون الساعة 6 مساء من اليوم السابق يوم الثلاثاء وهناك بعض الأكواد يتم تفعيلها من خلال التوقيت حسب السيرفر الذى يستمد منه التوقيت مثل قصة التاريخ الهجري والتاريخ الميلادى فهناك أكواد يتم ربطها أو استمدادها من مواقع تعمل بالتاريخ الهجري لمعرفة التاريخ الهجري أو لكى تتغلب على مشكلة التاريخ الهجري
  15. أخى الغالى وأستاذى القدير // ياسر خليل بوركتم وجزيتم عنا خير الخير ولى تعقيب بسيط على وجهة نظركم التى هى أقرب إلى واقعنا فى عالمنا هذا _ بقصة بسيطة سأسردها لك أنا وظيفتى مطور إدارى بإحدى شركات الإستشارات جاءت إحدى الشركات التى تمتلك عده فنادق صغيرة بأكثر من دولة تطلب تطويرا لكافة الأمور الإدارية ومن طلباتها إنشاء نموذج للعملاء ( زوار الفندق ) - شرط يكون بملف اكسل يقبل تصدير البيانات للبرنامج الذى يستخدموه وقدمت ملف اكسل يستخدموه ::: المفاجأة أن الملف من إنتاج إحدى المنتديات الأجنبية عمل عليه أكثر من 9 أعضاء مذكورين بالملف وبالفعل تم تنفيذ الملف وكافة الأمور التى طلبوها وبما إن الشركة إل أعمل فيها بها نظام كل ما يتم إنتاجه من أفكار وتطبق على أرض الواقع يتم عرضها على جميع المختصين بجميع الفروع الخلاصة وهى المطلوب فكرة إنتاج ملف من منتدى تهتم به شركة بالنسبة لإمكانياتنا كدولة لا توجد وجه مقارنه مع العلم أنها شركة صغيرة فى عالم الشركات الكبرى فمن هنا آتتنى الفكرة وخاصة كم الطلب على شيت الكنترول وكمية الأكواد المعروضة بالمنتدى والتى تختص بشيت الكنترول وطبعا أعلم جيدا كم الاختلاف بين وجهات النظر لدى المختصين والمهتمين بشيت الكنترول ولكن عندما يكون هناك شيت برمجى شبه متكامل أعتقد أن تلك وجهات النظر المتباينة سيتم تقليصها وأتقدم بخالص الشكر لكم أخى الكريم على إهتمامك وتفاعلك مع الموضوع وتقبل منى وافر الاحترام والتقدير
  16. أستاذى القدير // ياسر خليل جميل جدا ها الكود وعجبتنى فكرته المرتبطة بتصدير الشهادات لشيت اكسل مجمع ومنه الى PDF جزيتم عنا خير الخير وسلمتم من كل سوء
  17. أخى الكريم بالمرفقات المطلوب بشكل بسيط جدا تجد صفحة العهد ، صفحة الورش تشمل ثلاث ورشات ، صفحة السيارات تشمل 12 سيارة وتوجد صفحة الرئيسية يرجى إدخال البيانات المطلوبة بها السيارات والورش.rar
  18. السادة / أعضاء أوفيسنا المحترمين السلام عليكم ورحمه الله وبركاته هل من الممكن أن يشترك الساده المهتمين ومن لهم خبرة فى عمل واحد يكون بإسم المنتدى حيث أننى لاحظت أثناء عملية البحث أنه يوجد حوالى من ( 200 إلى 300 صفحة كاملة ) بالمنتدى يتحدثون عن موضوع الشيت كنترول ومعظم الأعمال بالمعادلات منها ما يتوافق مع إصدارات معينه ومنها ما لا تعمل بعد فترة معينه ويجب تنشيط المعادلة ولنبدأ بمرحلة التعليم الأساسى الإبتدائي ( عام وتجريبي ولغات ) وأتمنى أن تكون الأفكار بشكل عملى وليس مجرد سرد فكرة وأن تكون بالأكواد وليس بالمعادلات على أن يكون المصنف خفيف بحيث يتم استخدام ملفات مساعده على سبيل المثال ( الشهادات & أرقام الجلوس & كشوف المناداه & أرقام جلوس اللجان ) بملفات وورد عن طريق دمج المراسلات بين الوورد والاكسل وتقبلوا منى وافر الاحترام والتقدير
  19. أخى الكريم وعليكم السلام ورحمه الله وبركاته جزيتم عنى خير الجزاء ونسأل الله عز وجل أن يفك كرب اليمن وأهل اليمن بلد الأستاذ العلامه // عبد الله باقشير ، وأن يحفظه هو ومن يحب وأهله من كل سوء -------------------------------- بالنسبة لعملية البحث فى الفورم تكون بأى حرف أو بأى رقم بأى عمود من أعمده الليست بوكس فهذه طبيعة الكود الموجود بالتكست بوكس 1 ----------------------------- أما فيما يختص بعمليه التقليص على حرف ،، فمن وجهة نظرى أنها غير عملية وليس لها أى مدلول أو هدف بل تزيد من صعوبة البحث وتجعل البحث قاصر على عمود واحد فقط لاغير -------------------- فهدف البحث بهذا الفورم هو التسهيل على من يقوم بإجراء عملية البحث حتى يصل إلى أقرب نتيجه بل إلى أدق نتيجه ممكنه فممكن القائم بعملية البحث ينسى كود الصنف ويتذكر أسم الصنف أو العكس وبالنهاية هل وصلك ما أريد إيصاله لكم أخى الكريم --------------- وتقبل منى وافر الاحترام والتقدير
  20. أخى الكريم ممكن توضح الطلب ولو بصورة فممكن يكون فقط المطلوب تغيير تنسيق التاريخ
  21. أخى الكريم عن نفسى أشكرك لصبرك وللعلم أنا لا أعرف شىء فى أمور المدارس من ( كنترول أو توزيع مراقبين أو خلافه ) ولكن هحاول أفيدك فى الجزء ال أعرفه ألا وهو الأكواد بالنسبة للملف الأول أنا مثل ما قولتلك ليس عندى الفكرة الكاملة عن الموضوع بالنسبة للملف الثانى إل من تصميمك به مشكلة وهى أنه يوجد خلايا بها دمج وأنت تطلب أن تستعلم من خلال تلك البيانات فمعلومة لك أخى الكريم ( الترحيل أو الاستعلام ونقل البيانات لا يتم فى وجود خلايا مدمجة ) فبرجاء تعديل الملف
  22. أخى الكريم حاول ترفق ملف به تصورك لما تريد وضع به بيانات توضح كل ما تريده حتى يتسنى فهم المطلوب
×
×
  • اضف...

Important Information