نجوم المشاركات
Popular Content
Showing content with the highest reputation on 10/14/15 in مشاركات
-
السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله أحياناً ما تحدث بعض المشاكل عند التعامل مع النوافذ الموجودة في محرر الأكواد .. كأن تختفي نافذة أو تتحرك نافذة من مكانها الذي تعودنا عليه ، وعند محاولة إرجاعها إلى مكانها لا نستطيع .. أنا مؤمن بمبدأ : بدلاً من تضييع الوقت في محاولة ترقيع الثوب المهلهل .. عليك بشراء ثوب جديد .. (وفر وقتك وفلوسك واحصل على نتيجة أفضل) أقصد من كلامي بدلاً من الخوض في تفاصيل معرفة حل المشكلة وقد يضيع الوقت في محاولة الحل وفي النهاية قد لا تصل لنتيجة مرضية أو يمكن أن تصل لنتيجة ويحدث خطأ في نقطة أخرى المهم موضوعنا عن كيفية إعادة ضبط إعدادات محرر الأكواد .. 1- اقفل برنامج الإكسيل (أو الأوفيس بشكل عام) 2- روح لقايمة Start في الويندوز ثم الأمر Run واكتب الأمر regedit للدخول إلى ريجستري الويندوز 3- روح لهذا المسار HKEY_CURRENT_USER\Software\Microsoft\VBA\6.0\Common\ بالنسبة للرقم 6 قد يكون مختلف حسب نسخة الويندو سواء كانت 32 بت ستجدها رقم 6.0 أما 64 بت فستجدها 7.1 أو 7.0 4- المهم ادخل على المجلد المسمى Common ، اعمل عليه كليك يمين ثم Delete (جمد قلبك ومتخافش .. لو حصل حاجة أنا مش مسئول) هتخرج لك رسالة تأكد الحذف .. انقر نعم يا بطل ومتخافش ..الويندوز هيسقط بس 5- افتح برنامج الإكسيل .. من لوحة المفاتيح اضغط Alt + F11 لتجد نسخة جديدة من محرر الأكواد (محرر الأكواد في ثوبه الجديد) كأنك لسه منصب أوفيس جديد ****************************** يمكنك إعادة ضبط الإعدادات التي تريدها .. الإعدادات التي أقوم بضبطها بشكل شخصي هي كالتالي : ** بعمل Maximize للنافذة اللي قدامي عشان تكون الصورة أوضح ** من Tools ثم Options أعلم علامة صح على الخيار Require Variable Declaration عشان أضيف السطر الخاص بإجبار المبرمج على الإعلان عن المتغيرات .. السطر دا بيكون شكله كالتالي Option Explicit ** من نفس النافذة أشيل علامة الصح من أول خيار Auto syntax Check عشان وأنا بكتب وغلطت متظهرش رسالة تنبيه بالخطأ ( واحد هيقولي طيب دي خاصية مفيدة .. ماشي كويس بس بتعطلني عن كتابة أسطر الكود ..يكفي أنني أرى السطر باللون الأحمر بعد الانتهاء منه .. هذا تنبيه كافي ) ** من نفس النافذة بدخل على التبويب المسمى Editor Format ثم أغير حجم الخط Size عشان أشوف أسطر الكود بشكل واضح ، ثم أوك في النهاية ** على يمين شريط الأدوات بعمل كليك يمين في مكان فارغ وبختار شريط Edit وبسحب الشريط وأضعه جنب شريط الأدوات القياسي (الموجود بالفعل) وفي نهاية المطاف .. أرجو أن يكون الموضوع (رغم بساطته) أن يكون مفيد لمن يريد التعامل مع محرر الأكواد) تقبلوا وافر تقديري وحبي واحترامي4 points
-
بسم الله ما شاء الله تبارك الرحمن يبدو أن المنتدى قد اكتسب محترف جديد .. واصل أخي الحبيب ياسر بلا فواصل وعلى رأي الصقر (حسام عيسى) إنت بتشتغلنا وتقول مبتديء (عيب عليك الكلام ده) الحمد لله أصبحت الحركة الياسرية في المنتدى هي المهيمنة للآن ياسر فتحي البنا .. ياسر الشيخ .. ياسر خليل أبو البراء .. ياسر العربي أبو أسيل .. والبقية تأتي تقبل تحياتي4 points
-
أخي الحبيب أبو حنين إليك رابط الموضوع الجديد التالي وإن شاء الله يفيدك من هنا3 points
-
أبدأ بحمد الله أولا وأخيرا على ما انعم ووفق وأصلي واسلم على الرحمة المهداة والسراج المنير نبينا محمد وعلى آله وصحبه وسلم ... وبعد كل عام وأنتم بخير وأعاد الله علينا أيامه الكريمة بالخير واليمن والبركات في موضوع اخي الكريم ابو عبدالرحمن وطلبه لواجهة برنامج لتسجيل الأطفال لرياض الاطفال او الروضة علي هذا الرابط فضلت ان تكون في مشاركة منفصلة لتعميم الفائدة ان شاء الله تعالى بشكل بسيط وجذاب صدقة جارية لفارس من فرسان منتدانا أوفيسنا أخي ومعلمنا عماد الحسامي رحمة الله عليه ورحم جميع المسلمين وغفر لهم الأحياء منهم والأموات حتي لا أطيل عليكم شرح مبسط للبرنامج أترككم لتجربة البرنامج في المرفقات وارحب بمشاركتكم في اجراء اية تعديلات وفقنا الله واياكم للصالحات مع تحياتي // ضاحي الغريب KG_Dahy.rar الان الاصدار الثاني علي الرابط التالي اضغط هنا2 points
-
بسم الله الرحمن الرحيم اليكم نموذج لانتهاء صلاحية الملف عندما يكون التاريخ الحالي اكبر من التاريخ الموجود في الخلية A1 يقوم البرنامج بعمل Application.Visible = False ويعرض لنا فورم يفيد انتهاء المدة وتاكيد كلمة المرور وعند كتابة كلمة المرور خطأ لك5 محاولات وبعدها يغلق البرنامج اما ان كانت صحيحة وتحقق الشرط If TextBox1.Value = "aseel" Then Me.Hide Application.Visible = True كلمة المرور aseel طبعا واكيد ايقاف الماكرو هيفتح الملف عادي ونضيع الحماية نعمل ايه بقي نيحي في الحدث Private Sub Workbook_Open() Sheet1.Visible = xlSheetVeryHidden End Sub ونخفي الشيت عشان ميشفشي شغلنا رخامة بقي ولما يتحقق الحدث If TextBox1.Value = "aseel" Then 'Unload Me Me.Hide Application.Visible = True 'نحط هنا كود اظهار الشيت مرة اخرى sheet1.Visible = xlSheetVisible ياريت اكون وصلت المعلومة صح واي ملحوظة او خطأ انا موجود انتهاء صلاحية الملف.rar2 points
-
السلام عليكم ورحمة الله وبركاته الدرس التاسع 9-MsgBox الرساله وسوف نتناول فى هذه الدرس الاتى شكل السطر الخاص بالرساله الاسماء الخاصه بالازرار والارقام التى يمكن استبدال الاسم بها اضافة سطر فاصل فى الرساله كيفية استخدام الجمل الشرطيه if مع MsgBox كيفية استخدام Select Case مع MsgBox شكل السطر الخاص بالرساله نحتاج الى استخدام الرسائل داخل الاكواد لتذكرينا بشئ معين او تنبيهنا بشئ معين كهذا ولمعرفة كيفية عمل ذلك دعونا نستعرض السطر الخاص بالكود الخاص بالرساله MsgBox([النص], [الازرار], [العنوان]) النص-----هنا يتم كتابة نص الرساله التى سوف تظهر لك الازرار---اختيار الازرار التى تظهر فى الرسالهyes, no, cancelويوجد ايضا ازرار اخرى العنوان---عنوان الرساله راجع الصوره الاتيه ولتنفيذ رساله بهذا الشكل نقوم بكتابة الكود الاتى Sub msgbox_() MsgBox "لاتنسونى بصالح الدعاء", vbYesNoCancel, "اللهم تقبل من صالح الاعمال" End Sub وفى هذا الكود قلنا ان محتوى النص -- لاتنسونى بصالح الدعاء تكون الازرار--الموجوده فيها yes-no-cancel يكون العنوان-- اللهم تقبل من صالح الاعمال ولو افترضنا اننا نريد اظهار الزر yes فقط نقوم باستبدال السطر الاتى vbYesNoCancel ب السطر الاتى vbYes اما اذا اردنا اظهار الزر yes والزر no يكون سطر الكود كالاتى vbYesNo ملحوظه بسيطه يمكن الاستغناء عن كتابة الاسم الخاص بكل زر واستبدال الاسم بالرقم الخاص بالزر لاحظ الكود الاتى Sub msgbox_1() MsgBox "لاتنسونى بصالح الدعاء", 3, "اللهم تقبل من صالح الاعمال" End Sub لاحظ اننا استخدمنا الرقم 3 بدلا من vbYesNoCancel وذلك من اجل اظهار الازرار yes - no -cancel الاسماء الخاصه بالازرار والارقام التى يمكن استبدال الاسم بها ولمعرفة المزيد من الاسماء الخاصه بالازرار والارقام التى تعبر عن كل زر وكيفية كتابة الاكواد راجع الصوره الاتيه اضافة سطر فاصل فى الرساله هناك طريقتان لعمل ذلك الطريقه الاولى تعتمد هذه الطريقه على استخدام الخاصيه Chr مع استخدام الرقم 10 الخاص باضافة سطر فاصل وتكون شكل الرساله كالاتى وبالتالى نجد شكل الكود كالأتى Sub Line_MsgBox() MsgBox "النص الاول" & Chr(10) & "النص الثانى" & Chr(10) & "النص الثالث", vbYesNoCancel + vbDefaultButton3, "العنوان" End Sub الطريقه الثانيه تعتمد على استخدام vbNewLine وتكون شكل الرساله كالاتى وبالتالى نجد شكل الكود كالأتى Sub Line_MsgBox1() MsgBox "النص الاول" & vbNewLine & "النص الثانى" & vbNewLine & "النص الثالث", vbYesNoCancel + vbDefaultButton3, "العنوان" End Sub كيفية استخدام الجمل الشرطيه if مع MsgBox مثال نفترض اننا لدينا الخليه a51 نريد ادخال الاسم ابراهيم فيها ونريد ان تظهر لنا رساله تفيد هل تريد ادخال الاسم فى الخليه نعم ام لا--ثم اذا كانت الاجابه بنعم تظهر لنا رساله تفيد بأنه تم ادخال الاسم بنجاح واما اذا كانت الاجابه ب لا تظهر رساله تفيد بانه قد تم الالغاء كما يتضح من الصوره فى حالة الضغط على نعم فى حالة الضغط على زر لا ولمعرفة كيفية عمل ذلك نستعرض محتوى الرساله النص----هل نريد ادخال الاسم فى الخليه a51 نعم ام لا الازرار-- زر نعم---زر لا العنوان--تنبيه راجع الكود الاتى Sub if_MsgBox() Range("a51").ClearContents ' حزف محتوى الخليه Dim Answer As String 'Answer متغير تم تعريفه على انه من النوع نصوص Answer = MsgBox("هل نريد ادخال الاسم فى الخليه a51 نعم ام لا", vbYesNo, "تنبيه") If Answer = vbYes Then Range("a51") = "إبراهيم" MsgBox "تم ادخال الاسم بنجاح", vbOKOnly, "تنبيه" ElseIf Answer = vbNo Then MsgBox "تم إلغاء عملية الادخال", vbOKOnly, "تنبيه" End If End Sub كيفية استخدام Select Case مع MsgBox مثال نفترض اننا لدينا الخليه a60 نريد ادخال الاسم أبوليله فيها ونريد ان تظهر لنا رساله تفيد هل تريد ادخال الاسم فى الخليه نعم ام لا--ثم اذا كانت الاجابه بنعم تظهر لنا رساله تفيد بأنه تم ادخال الاسم بنجاح واما اذا كانت الاجابه ب لا تظهر رساله تفيد بانه قد تم الالغاء كما يتضح من الصوره فى حالة الضغط على نعم فى حالة الضغط على زر لا ولمعرفة كيفية عمل ذلك نستعرض محتوى الرساله النص----هل نريد ادخال الاسم فى الخليه a60 نعم ام لا الازرار-- زر نعم---زر لا العنوان--تنبيه راجع الكود الاتى Sub SelectCase_MsgBox() Range("a60").ClearContents Dim lReply As Long Reply = MsgBox("هل نريد ادخال الاسم فى الخليه a60 نعم ام لا", vbYesNo, "تنبيه") Select Case Reply Case vbYes Range("a60") = "أبوليله" MsgBox "تم ادخال الاسم بنجاح", vbOKOnly, "تنبيه" Case vbNo MsgBox "تم إلغاء عملية الادخال", vbOKOnly, "تنبيه" End Select End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar2 points
-
اكرمك الله في الدارين واظلك تحت ظله وجعل لي لقاء معك عند حوض حبيبنا محمد صلي الله عليه و سلم انت و جميع الاخوه - سنه جديده سعيده عليكم و علينا اكرمك الله في الدارين واظلك تحت ظله وجعل لي لقاء معك عند حوض حبيبنا محمد صلي الله عليه و سلم انت و جميع الاخوه - سنه جديده سعيده عليكم و علينا اكرمك الله في الدارين واظلك تحت ظله وجعل لي لقاء معك عند حوض حبيبنا محمد صلي الله عليه و سلم انت و جميع الاخوه - سنه جديده سعيده عليكم و علينا اكرمك الله في الدارين واظلك تحت ظله وجعل لي لقاء معك عند حوض حبيبنا محمد صلي الله عليه و سلم انت و جميع الاخوه - سنه جديده سعيده عليكم و علينا2 points
-
Expr1: (Sum(Hour([delay])*60)+Sum(Minute([Delay])))\60 & ":" & (Sum(Hour([delay])*60)+Sum(Minute([Delay]))) Mod 602 points
-
خامسا :- مهارات تعبئه وتغذية الكمبوبوكس بالبيانات بأكثر من طريقه تقليديه واحترافيه الطريقه الاولى :- الخاصيه ( Row Source ) اتكلمنا عليها قبل كدا ولكن هنذكركم بيها مره تانيه لانها ضمن سياق الموضوع لدينا شيت به بيانات افتراضيه كما هو ظاهر بالصوره التالية وعندى فورم بصممه شاهد الصورة أنا دلوقتى عايز اظهر اسماء العملاء من الخلية A2 : A5 فى الكمبوبوكس اللى فى الفورم من شاشة الخصائص اروح للخاصيه Row Source واكتب المدى A2:A5 شاهد الصورة شاهد النتيجة عن تشغيل الفورم طيب لو عايزين نظهر عدد 2 عمود بمعنى اظعر عمود اسماء العملاء وايضا عمود كود العميل اذن لازم اغير المدى فى الخاصيه Row Source واكتب المدى A2:B5 وايضا لازم احدد عدد الاعمده فى الكمبوبوكس يكون 2 من الخاصيه Column Count شاهد الصورة ستجد النتيجة عند تشغيل الفورم ولكن هنا فى مشكله وهى ان الفورم القائمه بتاعته هتكون على حسب الشيت النشط اسم الشيت بمعنى لو انتى فى الشيت رقم 1 هيظهر النطاق اللى بالشيت من A2:B5 شاهد الصوره ولو انت فى الشيت رقم 2 هيظهر النطاق اللى بالشيت من A2:B5 شاهد الصوره وهذه مشكله فلو انت عايز وين ما تكون واقف فى اى شيت ويفتح الفورم يظهر فقط النطاق اللى بالشيت رقم 1 المدى من A2:B5 فى هذه الحاله لازم احدد فى خاصيه Row Sourceاسم الشيت شاهد الصوره أو من خلال الاكواد فى البرمجه كالتالى ComboBox1.RowSource = "sheet1!a2:b5" زى ما احنا شايفين سطر الكود تم وضعه بين علامتى تنصيص " " " المدى ! اسم الشيت " وبكدا لو انت فى اى شيت نشط والفورم اشتغل فيه هيعرض فقط النطاق اللى بالشيت رقم 1 المدى من A2:B52 points
-
شكرا حبيبي الغالي اللهم وفقنا واياكم وجميع المسلمين ملحوظة انا كنت مبرمج وعندي موهبة كويسة في مجال البرمجة خصوصا من ايام vb6 انا بدأت الموضوع دا في 2005 وكنت ممتاز في المجال دا وعملت برامج كتيررررررررر بس تقدر تقول عدم الممارسة مع الوقتا وقع مني حاجات كتيررررر والمسئوليات شغل وبيت واسرة وعيال ربنا يعنيا جميعا دي احد برامجي قديما في 20062 points
-
Private Sub UserForm_Initialize() TextBox2.Enabled = False 'دي بالوز With ComboBox1 .RowSource = "d2: e12" .ColumnHeads = True .BoundColumn = "2" .ListRows = "4" .ListStyle = fmListStyleOption .ColumnWidths = "150 pt;90 pt" .ListWidth = "260 pt" .Style = fmStyleDropDownList End With 'دي بالبط 'ComboBox1.RowSource = "d2: e12" 'ComboBox1.ColumnHeads = True 'ComboBox1.BoundColumn = "2" 'ComboBox1.ListRows = "4" 'ComboBox1.ListStyle = fmListStyleOption 'ComboBox1.ColumnWidths = "150 pt;90 pt" 'ComboBox1.ListWidth = "260 pt" 'ComboBox1.Style = fmStyleDropDownList End Sub2 points
-
أخي الحبيب وائل الملف الذي رفعته من قبل يبدو أن به مشكلة مع 32 بت .. تم التعديل مرة أخرى على الملف ليعمل بشكل صحيح على 32 بت في الحقيقة أنا لدي جهازين أحدهما بالعمل والآخر بالمنزل ... الجهاز بالعمل يعمل على نظام 64 بت ، وفي المنزل على نظام 32 بت (وأنا متعمد إني أشتغل على النظامين ..) المهم بالنسبة للتعامل مع الكود أنا بجرب أضيف كلمة Ptrsafe في حالة نظام 64 بت وبس بعد كلمة Declare فبشوف الإعلان الموجود وليكن بهذا الشكل Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Any) As Long عند فتح الملف على نظام 64 بت سيظهر هذا السطر باللون الأحمر مما يدل أن هناك مشكلة في التعامل معه .. فأقوم بإضافة كلمة PtrSafe بعد كلمة Declare .. بهذا الشكل Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Any) As Long السطر الأخير يعمل على 64 بت فقط ، والأول يعمل على 32 بت فقط ................ للجمع بينهما استخدام الصيغة التالية ليعمل على كلا النظامين معاً #If VBA7 Then #Else #End If ليكون الكود بهذا الشكل في نهاية الأمر #If VBA7 Then Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Any) As Long #Else Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Any) As Long #End If وبالتالي يعمل الكود على النظامين معاً .. أرجو أن أكون قد وفقت في توصيل المعلومة ملحوظة : أحياناً لا يكون التعديل في الكلمة Ptrsafe فقط .. الموضوع محتاج دراسة أنا قدمت لك ما أعرفه بخصوص تلك النقطة تحديداً تقبل وافر تقديري واحترامي2 points
-
اعانك الله يا ابويوسف وسدد خطاك انا عايزك تعرف حاجه ان انت السبب فى انى فكرة اقدم شروحات الفورم على الرغم دا سر مهنه المبرمجين واحنا بنطفل عليهم وهيزعلو منا على الرغم ان تقديم الشروحات وبدقه وتفصيل وتكون مصحوبه بالصورة امر شاق جدا ويحتاج الى وقت كبير لكن طالما ابويوسف طلب فهو يأمر واحنا ننفذ لما طلبت شرح سند صرف للاستاذى ضاحى من هنا جت الفكره ان لازم نشرح الفورم من البدايه حتى تتضح لك الصوره كامله المهم متنسناش من دعائك الطيب اجعلى لى نصيب من دعائك فأنا احوج ما يكون له تقبل منى وافر الاحترام والتقدير يا بن الشام البار2 points
-
وها هي الاكواد ويارب مكنشي نسيت حاجه اللي عاوز يغش معنديش مانع الورقة اهي بس قبل ما المراقب يجي aseel.rar2 points
-
السلام عليكم في المرفق التالي اريد عمل معاينة محددة واجهتني عدة مشكلات حيث اننى اريد معاينة محددة للمدى الاول مع عمل طباعة للعناوين فالطباعة اكثر من ورقة وعمل AutoFilter وبعد اريد عمل الغاء لكل ما سبق وعمل معاينة للمدى الثانى وعمل طباعة للعناوين وعمل AutoFilterجديد للمدى الثانى معاينة محددة.rar1 point
-
السلام عليكمهذه طريقة لتصفح الانترنت من داخل برنامجك على الاكسيلكلها امثلة بسيطة قابلة للتحسين لتصبح ذو فائدة web.rar1 point
-
أخى الكريم الكود ككل مكون من عدة أكواد وليس كل الاكواد تربط بزر الكود Auto_Open و Auto_Close و kh_wVisible و ToggleCutCopyAndPaste و EnableMenuItem و CutCopyPasteDisabled لا تربط بأى أزرار فالكود مصمم بطريقة متشابكة يعنى كود يستدعى كود آخر فمثلا عند فتح الملف Auto_Open يشتغل لاخفاء القوائم لكى لا نستعمل القوائم فى القص والنسخ واللصق وعند غلقه Auto_Close يشتغل ليرجع الحال كما كان وكلاهما يستدعى ToggleCutCopyAndPaste لتعطيل عمليات النسخ والقص واللصق بلوحة المفاتيح ما يربط بزر كودان فقط EnableCutcopypaste و DisableCutcopypaste تحياتى1 point
-
أخي الحبيب التاج أما آن لك أن تغير اسم الظهور للغة العربية إليك الكود التالي عله يكون المطلوب Sub Test() Dim WS As Worksheet, SH As Worksheet Dim Cel As Range Dim lRow As Long Set WS = Sheets("أداة بناء الخطط"): Set SH = Sheets("ورقة1") Application.ScreenUpdating = False For Each Cel In WS.Range("H3:H43") If Cel.Value >= 0.9 Then lRow = SH.Cells(Rows.Count, "B").End(xlUp).Row + 1 SH.Cells(lRow, "B").Value = Cel.Offset(, 1) ElseIf Cel.Value <= 0.5 Then lRow = SH.Cells(Rows.Count, "H").End(xlUp).Row + 1 SH.Cells(lRow, "H").Value = Cel.Offset(, 1) End If Next Cel Application.ScreenUpdating = True End Sub ALTAG.rar1 point
-
باشا انت زي الفل كدا تمام بس في ملحوظتين صغيرين: الافضل نجعل فورم تمديد المده يختفي تلقائي بعد ادخال السيريال والضغط علي زر تمديد المده وظهور الرساله ويدخل مباشره الي الملف كاملا وليس بضع اعمده فقط بدون مايدخل كلمه سر اخري لانه ببساطه اصبح مالك الملف لباقي الفتره الملحوظه الثانيه لاحظ معي عند دخول المستخدم بكلمه السر بعد انتهاء الفتره يظهر بعض الاعمده فقط تمام كدا بس المشكله ان هذه الاعمده لو اشرت اليها بالفاره ممكن تظهرها بسهوله وطبعا لاانسي ان ارفع لك القبعه لعملك القيم هذا1 point
-
من عيني حبيبي بس واحده واحده كدا شوف كدا دا الاول ماشي معاك تمام قبل ما نشوف حكاية تعدد السيريلات دا aseel.rar1 point
-
اتمني ان يكون هذا ما تريد تفضل اخي الغالي هذه مدد التمديد الموجودة بالبرنامج كل ما عليك اختيار مدة التمديد وتدخل الكود المخصص للمدة وستعمل معك 01/01/2016 jkgk1-gfdrg-5cfg6-xvbb8 01/01/2017 aserf-jkuy2-cvbg2-24hgt 01/01/2018 zxae2-qwer3-kjio6-98sam 01/01/2019 rfg2i-bnjk2-kjl36-azxq6 01/01/2020 ghy2t-swed2-nhji6-mki36 والتاريخ القديم عشان تختبر عليه عمل البرنامج 01/01/2015 1 aseel.rar1 point
-
الله ينور اخي ياسر ولي اضافة صغيرة زيادة في الحرص يمكن اخذ نسخة من هذا الكي وحفظها لاسترجاعاها اذا تأذمت الامور تحياتي وفقك الل ونفعك ونفع الامة بما علمت1 point
-
كلام اخويا ياسر مظبوط الحماية ع المصنف كلة وهية نفس الباس ورد انظر المرفق مانفست طارق1.rar1 point
-
1 point
-
بارك الله فيك أخي الغالي ياسر أرى أنه طالما ستتعامل مع أرقام أكواد .. فالأفضل ألا يتم التعامل مع البيانات بشكل جزئي إنما بشكل كلي أقصد الجزء التالي LookAt:=xlPart, _ أن يتم استخدام كلمة xlWhole ليتم التعامل مع كامل محتويات الخلية .. هذا مجرد رأي وطبعاً الجزئي يستخدم في مواطن أخرى حسب الحاجة تقبل تحياتي1 point
-
تسلم تسلم أخي الكريم ياسر بارك الله فيك وزادك من فضله وعلمه تقبل تحياتي1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
تمام انك ارفقت المرفق عزيزي ابا جمانة : لو ذهبت لخصائص مربع نص اسم العميل ولخاصية >> سلوك مفتاح الادخال بالانجليزي يمكن key enter behivior لوجدت انها مضبوطة على سطر جديد وهو بهذه الخاصية اجبرت الاكسس بهذا السلوك . غيرها الى الافتراضي default وهكذا لمربعات النص من نوع نص بالتوفيق1 point
-
النسخة لدي عربي ولكن على ما اذكر : file>options>client setting>edit: next field هذا حسب الاصدار 2010 وما هو الاصدار لديك ؟ بالتوفيق1 point
-
السلام عليكم تفضل جرب المرفق اظهار واحفاء الاعمدة1.rar1 point
-
اخى واستاذى محمد ناصر ...................... بالنسبه لطريقة الحل الخاصه بى فبصراحه انا جربت استخدام on error resume next .............................. طبعا الحل المقدم من حضرتك متقن و جميل والفكره هى الاجمل الكود يعمل بنجاح ولكن اذا جاء الميعاد وخرجت الرساله وقمنا بغلق الملف ثم قمنا بارجاع تاريخ الجهاز للخلف ثم اعدنا فتح الملف سنجد انه يمكننا الدخول الى الملف ارجو التعديل انا طبعا حاولت تخطى هذه المشكله والحمد لله نجحت فى ذلك ولكنى اطمع فى ان ارى طريقتك فى حل هذا اللغز تقبل تحياتى1 point
-
برافووووووووووو انت النهارده خليت اليوم يوم الظغططته وز وبط مش ناقص غير الحمام والدنيا تولع جزاكم الله خيرا وزادكم من فضله وعلمه تقبل تحياتى مجرد ملحوظه صغيره انت بقيت محترف ( او كنت محترف ) ComboBox1.BoundColumn = "2" ComboBox1.ListRows = "4" ممكن يكونو بدون "" زى كدا ComboBox1.BoundColumn = 2 ComboBox1.ListRows = 4 تقبل تحياتى1 point
-
عليكم السلام اخي الغالي محمد حسن المحمد ابو يوسف مشكور اخي علي مرورك الكريم اخي الغالي دمت اخا عزيزا غاليا لنا فلا تحرمنا من طلاتك الجميلة وكلماتك الانيقة تقبل مني فائق الاحترام اخوك ياسر العربي ابواسيل1 point
-
اخواتي محمد حسن محمد والصقر ولكل اعضاء المنتدي الكرام كل عام وانتم والامة الاسلامية بخير ثانيا اخي الصقر انا بحاول احط المطلوب فقط TextBox1.Text = Format(TextBox1.Text, " dddd mmmmyyyy") انا قلت اضيفه في الاتنين عشان انت بتقعد تدور علي اي حاجه عشان تغلطنا شوفت التلميذ اللي عارف اجابة السؤال بكذا طريقة بيحطهم كلهم وانت نقي بقي ههههه وبصراحه انا معظم الحاجات دي انا مرجعتش الدرس اساسا فهي كدا استنتاجية مني بشوفها في الخصائص واكتبها كود دي سهلة مش صعبة جاري عمل مثال احترافي باذن الله1 point
-
1 point
-
أعتقد أن مشكلة أ/ mosa2000 هى نفس المشكلة التى عرضها فى موضوعه الخاص باختلاف نسخ الأوفيس 32 و 64 هنا http://www.officena.net/ib/topic/64136-خطا-كود-عند-تشغيل-برنامج-32-بت-على-64-بت/ وأعتقد أن ماطرحه أ/ جعفر فى موضوع له بعنوان: هل أستخدم أوفيس 32 أم 64 هنا : http://www.officena.net/ib/topic/64036-هل-استخدم-اوفيس-32-بت-او-64-بت/ عندما أوصى باستخدام 32 وعلى قولة المثل : الباب اللى يجيك منه الريح سده واسترح ... حلا مناسبا لمشاكل اختلاف نسخ الأوفيس.1 point
-
السلام عليكم ورحمة الله تعالى وبركاته كل عام وحضراتكم بخير بمناسبة العام الهجرى الجديد لقد تناولنا فى موضوعى السابق حماية للشيت ما عدا نطاق محدد أو Protect Sheet Expect Range http://www.officena.net/ib/topic/64169-حماية-للشيت-ما-عدا-نطاق-محدد-أو-protect-sheet-expect-range/ واليوم أعرض على حضراتكم كيفية حماية كل أوراق العمل فى الملف من التعديل مع ترك نطاق موحد فى كل شيت أو أو نطاقات مختلفة من شيت لآخر وذلك خارج نطاق الحماية مع القابلية للتعديل رغم الحماية المفروضة على الشيت . الكود وعليه الشرح : Sub ProtectWbExpect2() ' Protect Workbook Expect Ranges ' by mokhtar 13/10/2015 Dim sh As Worksheet Application.ScreenUpdating = False ' ايقاف تحديث الشاشة On Error Resume Next ' فى حالة حدوث خطأ تجاهله وانتقل للأمر التالى ' حلقة تكرارية للتعامل مع كل شيت فى الملف For Each sh In Worksheets ' اذا كانت محتويات الشيت محمية فان If sh.ProtectContents = True Then ' اجعل الشيت غير محمياً sh.Unprotect ' اسم الزر فى حالة عدم حماية الشيت Sheets("Sheet1").Shapes("Rounded Rectangle 1").TextFrame2.TextRange.Characters.Text = "تفعيل حماية الأوراق" ' حلقة تكرارية لحذف جميع النطاقات المسموح يتعديلها فى الشيت For i = 1 To sh.Protection.AllowEditRanges.Count Debug.Print sh.Protection.AllowEditRanges(i) sh.Protection.AllowEditRanges(i).Delete Next ' انهاء الحلقة التكرارية sh.Cells.Interior.Pattern = xlNone ' جعل خلايا الشيت بدون ألوان ' اضافة النطاقات المسموح بتعديلها أثناء حماية الشيت Sheets("Sheet1").Protection.AllowEditRanges.Add Title:="mokhtar1", Range:=Range("A1:B3") ' اضافة النطاق فى الورقة الاولى Sheets("Sheet2").Protection.AllowEditRanges.Add Title:="mokhtar2", Range:=Range("A4:B6") ' اضافة النطاق فى الورقة الثانية Sheets("Sheet3").Protection.AllowEditRanges.Add Title:="mokhtar3", Range:=Range("A7:B9") ' اضافة النطاق فى الورقة الثالثة ' اذا كان النطاق المسموح بتعديله ثابتا فى كل الأوراق ' sh.Protection.AllowEditRanges.Add Title:="mokhtar" & (i), Range:=Range("A1:B3") Else ' أما اذا كانت محتويات الشيت غير محمية فان Sheets("Sheet1").Range("A1:B3").Interior.ColorIndex = 4 ' تمييز النطاق فى الورقة الاولى Sheets("Sheet2").Range("A4:B6").Interior.ColorIndex = 4 ' تمييز النطاق فى الورقة الثانية Sheets("Sheet3").Range("A7:B9").Interior.ColorIndex = 4 ' تمييز النطاق فى الورقة الثالثة ' sh.Range("A1:B3").Interior.ColorIndex = 4 ' تمييز النطاق اذا كان ثابثا فى كل الاوراق ' اسم الزر فى حالة حماية الشيت Sheets("Sheet1").Shapes("Rounded Rectangle 1").TextFrame2.TextRange.Characters.Text = "الغاء حماية الأوراق" ' اجعل الشيت محميا sh.Protect End If ' انهاء الشرط Next sh ' انهاء الحلقة التكرارية Application.ScreenUpdating = True ' تشغيل تحديث الشاشة End Sub ملف للتجربة : Protect All Sheets Expect Ranges .rar والسلام عليكم ورحمة الله وبركاته1 point
-
إخواني الكرام إليكم الملف يعمل على النسختين 32 بت و 64 بت أرجو أن تستفيدوا منه .. تقبلوا وافر تقدير واحترامي Codes Library v1.9.7.rar1 point
-
تفضل استاذ علي واسف عالتاخير لانشغالي جدا DoCmd.TransferSpreadsheet , , "table1", "c:\Users\ali\Documents\ali.xlsx", True وانا متاكد ان الامر السابق لديكم علم به ولكن مع النقاش سنصل لما تريد باذن الله تحياتي1 point
-
استادي الفاضل أنس دروبي تفضل الكود في اليوزرفورم Private Sub CommandButton1_Click() If MsgBox("Do you want to add this workbook to the Windows startUp ?", vbYesNo + vbQuestion) = vbYes Then AddToWinStartUp ThisWorkbook.FullName, True End If End Sub Private Sub AddToWinStartUp(ByVal File As String, ByVal Add As Boolean) CreateObject("wscript.shell").RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\", IIf(Add, File, vbNullString), "REG_SZ" End Sub1 point
-
كم انت رائع يا ابو البراء هذا ما كنت انتظره "وعلم ينتفع به" من الصدقات الجاريه نسال الله تعالى ان تكون بميزان حسناته جزاكم الله خيرا1 point
-
1 point
-
إخوتي في الله منذ مدة و أنا أبحث و أتتبع و أرصد كل المشاركات و المداخلات للإخوة الأفاضل هنا في منتدى أوفيسنا الغالي و الرائد ..لكن كل مرة أصاب بالاحباط و الرجوع إلى نقطة الصفر ..ليس بسبب قلة المادة هنا لكن المشكلة في كوني مبتدئا في الاكسل و أريد شرحا لو أمكن بالفيديو أو بالصور بالتوضيحية و سأكون للجميع دون استثناء من الشاكرين و الممتنين طول العمر في الدنيا والآخرة : أريد شرح طريقة توزيع الطلاب المترشحين الممتحنين على اللجان ( القاعات ) ..لو كان عندي مثلا في مركز الامتحان 200 طالب .. بحيث سيكون كل 20 طالب بلجنة ..يعني 20 لجنة .. الطلاب من 1 إلى 20 سيكونون باللجنة رقم 1 ..الطلاب من 21 إلى 40 باللجنة 2 ..من 41 إلى 60 باللجنة 3 ...ولو يكون عندي مثلا 208 طالب اللجنة الأخيرة سيكون بها طبعا فقط 8 طلاب..الخ ..وفي الوقت نقسه اعمل قصاصات صغيرة etiquettes (رقم اللجنة - اسم الطالب - رقم التسجيل ) .... يعني في الملف يكون عندي 3 شيتات ..الشيت الأول كقاعدة بيانات أنا الذي أملأه ( الرقم التسلسلي رقم التسجيل - الاسم - تاريخ الميلاد .. رقم اللجنة ) ..الشيت الثاني يكون عبارة عن قوائم للطلاب الذين كتبتهم في الشيت الأول ..كل قائمة بها كما ذكرت ذكرت 20 طالبا بأسمائهم و أرقام تسجيلهم وتواريخ ميلادهم وأرقام تسجيلهم..والشيت الثالث به 20 قصاصة بنفس المعلومات السابقة .. يعني المعلومات التي سوف ادخلها في في الشيت الأول تنسخ تلقائيا للشيت الثاني و الثالث لتكون جاهزة للطباعة عن طريق زر تغيير الصفحات ..رجاء اخواني لا تبخلوا عني بإرشاداتكم و توجيهاتكم لأني لا أريد برنامج جاهز أريد أن أتعلم الفكرة وألف شكر و بارك الله فيكم جميعا ..1 point
-
شكرا أستاذنا الفاضل على المتابعة و التواصل ..بعث لي زميل ملفا ولكني والله لم أفهم تفسيرا لهذه المعادلات ..تفضل سيدي : http://www.gulfup.com/?ROUoeS1 point
-
السلام عليكم ورحمة الله أخي الكريم، تريد أن تتعلم كيفية القيام بمثل هذا العمل؟ يمكنك أولا أن تبدأ بإنشاء ملف من ثلاث شيتات تعدلها حسب ما ذكرته في نص موضوعك أي تصنع له هيكلة كما تحب أن يكون (بناء جداول في كل شيت، الأول للبيانات والثاني للقوئم والثالث للقصاصات -حجمها والبيانات التي تحويها-) ولما تجهّز الملف ارفقه بالموضوع حتى نعرف ونتعلم كيف نضع اللمسات الأخيرة للملف (معادلات الرحيل - أكواد الطباعة - التنسيقات التحسينية وغيرها)... ننتظرك لعمل ذلك... وإن أردت نموذجا لتقليده والعمل عليه، أضع بين يديك ملفا من تصميمي يقوم بهذه العمليات خاص بتسيير قوائم وقاعات امتحان شهادة البكالوريا عندنا (أو أي مستوى آخر)... أخوك بن علية1 point
-
1 point
-
السلام عليكم الاخ الحبيب / عمر أبو صهيب بارك الله فيك تقبل تحياتي وانه لشرف عظيم لي ان يكون اسمي علي جهاز شخص راائع مثلك في ملف او حتي داخل سطر واحد لديك والله اني احبك في الله جمعنا واياكم في الجنه باذنه الله جزاك الله خيرا1 point