بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 06/02/15 in all areas
-
أخي الكريم ياسر نوح وجب عليك التوضيح من البداية كما فعلت في المشاركة السابقة التوضيح والتفصيل للطلب يسهل الوصول لحل إذ أن الفكرة كيف لي أن أساعدك وأنا لا أفهم المطلوب ، ففهم المطلوب عليه عامل 90% من الوصول للحل ، حتى لو كان المطلوب صعب .. المهم إليك الكود التالي (طبعاً كما فهمت من الصورة ورقة العمل المطلوب الكود بها هي "توصيف رياضة") Sub M_ELSHRIEF() Dim Answer As Long, lCount As Long Answer = MsgBox("هل تود الطباعة بعد المعاينة ؟", vbYesNo + vbQuestion, "طباعة") If Answer = vbYes Then '[L2] حلقة تكرارية من 1 إلى 12 ليتم وضع قيم الحلقة في الخلية For lCount = 1 To 12 'بدء التعامل مع ورقة العمل النشطة With ActiveSheet .Range("L2").Value = lCount 'هذا السطر لمعاينة ورقة العمل النشطة '.PrintPreview 'طباعة ورقة العمل النشطة نسخة واحدة .PrintOut Copies:=1 End With Next lCount End If End Sub تقبل تحياتي3 points
-
[السلام عليكم مرفق المطلوب + كود للتنظيف + فورم لو عايز تجهز كل شيت لوحده نسخ صفوف في عده اوراق.rar2 points
-
السلام عليكم ورحمة الله أخي الكريم، هذه محاولة في المرفق... أرجو أن تفي بالغرض ولو أني أعرف أن الإخوة الكرام لا يبخلون بما علمهم الله... أخوك بن علية Book2.rar2 points
-
بعد إذن أخي الكريم محيي الدين كان يجب إرفاق الملف وليس صورة مع ذكر بعض النتائج المتوقعة عموماً حسب ما فهمت بقدر ما فهمت (وأنا على أدي في موضوع الفهم ده فالناس تعذرني لقلة فهمي) Sum Digits In Numbers YasserKhalil.rar2 points
-
أتمنى من الله أن تكونوا جميعا في تمام الصحة والعافية وإن شاء الله موضوع اليوم يكون جديد وخفيف وسهل التطبيق ومفيد للبعض على الأقل الفكرة : هي جعل اليوزر فورم شفاف مع إمكانية التحكم في درجة الشفافية بما يتناسب مع إحتياجاتنا والفائدة من هذا هو التنوع في شكل اليوزرفورم وأيضا يمكن أن يكون مفيدا بأنك تستطيع رؤية المحتوى خلف اليوزفورم بدون أن تضطر إلى تحريكه خاصة في اليوزرفوم ذو الأبعاد الكبيرة. طريقة التطبيق: بعد تصميم اليوزفورم أو أي يوزر فورم حالي يتم الدخول إلى الكود الخاص باليوزرفوم كليك يمين على الفورم ثم View Code ثم نقوم بلصق الكود التالي في أعلى كود اليوزفورم قبل أي أكواد أخرى Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hWnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function SetLayeredWindowAttributes Lib "user32" _ (ByVal hWnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Private Const GWL_EXSTYLE = (-20) Private Const WS_EX_LAYERED = &H80000 Private Const LWA_ALPHA = &H2& Public hWnd As Long ثانيا في Userform Initialize يتم نسخ وضع الكود التالي هكذا: Private Sub UserForm_Initialize() Dim bytOpacity As Byte bytOpacity = 190 ' يمكنك تغيير درجة الشفافية بالتغيير ما بين القيم 0 إلى 255' hWnd = FindWindow("ThunderDFrame", Me.Caption) Call SetWindowLong(Me.hWnd, GWL_EXSTYLE, GetWindowLong(Me.hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED) Call SetLayeredWindowAttributes(Me.hWnd, 0, bytOpacity, LWA_ALPHA) End Sub ودمتم في رعاية الله يوزرفورم شفاف.rar2 points
-
الأخ الكريم لو دققنا النظر في المعادلة سنجد أنها تقوم بجلب الصف الذي يحتوي على أكبر قيمة في المدى في العمود H العمود الحالي وتقوم بتحويله إلى عنوان وليس رتبة من خلال الدالة address وإذا تغير مكان الخلية التي تحتوي على المعادلة ينبغي تغيير column إلى column+1 أو أي رقم آخر .................. على العموم هذا ما طلبته في ملفك المرفق وعليك أن تستخدم الطريقة في الوصول لما تريد وإن لم تستطع فحدد مطلوبك تماما وستجد بإذن الله ما يسرك2 points
-
شكر وتقدير خاص للاساتذة الكبار ملوك الاكواد والشرح الاكثر من رائع للاستاذ / ياسر والاضافة الجميلة للاستاذ اسامه البراوى التى دايما نتعلمها من خبراتكم لكم جزيل الشكر2 points
-
السلام عليكم الشيت المرفق به ما تريد لكن ...................... أحذر هناك عيب لهذه الفكرة (عن تجربة شخصية) سوف تفقد اى امكانبة للتراجع عن التغييرات CTRL+Z لان الكود يعمل عندما تتحرك من الخلية وفى هذة الحالة لا يستطيع البرنامج عمل UNDO !!! تلويين السطر الخلية.zip2 points
-
السلام عليكم ورحمة الله وبركاته الاصدار الرابع : فورم اضافة وبحث وتعديل مرن مع استعراض الصور (تحكم كامل بالصورة ) المرفق 2003 فورم ادخال و تعديل مرن مع الصور.rar http://www.officena.net/team/khboor/kh_image/p86.png هام جدا بتاريخ ( 14 / 6 / 2023 ) لكي يعمل الفورم جيدا بدون اخطاء لابد من عمل الاتي 1- UnRegister MSCOMCT2.OCX ازاله تسجيل الملف MSCOMCT2.OCX تشغيل الامر cmd كمسئول ثم كتابه الأمر التالي لو كان الويندوز ٦٤ بت regsvr32 /u C:\Windows\SysWOW64\MSCOMCT2.OCX او regsvr32 /u C:\Windows\System32\MSCOMCT2.OCX لو كان الويندوز ٣٢ ثم بفك الضغط عن الملف المرفق بأسم MSCOMCT2.OCX ونقوم بنسخه الي المسار التالي ويندوز٦٤ بت C:\Windows\SysWOW64 ويندوز ٣٢ بت C:\Windows\System32 2- Register MSCOMCT2.OCX ثم نقوم بعمل ريجستر للملف الذي نسخناه في الويندوز عن طريق هذا الأمر ويندوز ٦٤ regsvr32 C:\Windows\SysWOW64\MSCOMCT2.OCX ويندوز ٣٢ regsvr32 C:\Windows\Sys\MSCOMCT2.OCX MSCOMCT2.zip1 point
-
السلام عليكم بعد التحية الى جميع اعضاء المنتدى الكرام اظن البعض قد يقول ان الموضوع متكرر لانى شفت الدالة موجودة مسبقا فى احد الردود واناجربتها لكن وجدت فيها بعض الملاحظات الصغيرة، منها 1- ان فيها خطأ لو الواحد نسى يدخل العملة الرئيسية او الفكة 2- انك لما تحدد الفكة مثلا بيظهر 25/100 قرش !! 3- ولو كانت الفكة مثلا 0.251 هاتظهر 251 قرش ولانى كنت عامل دالة تعمل نفس الوظيفة مسبقا قمت بتعديل واضافة النسخة الانجليزية منها ومن المميزات فيهما: 1- ادخال العملة اختيارى 2- مراعاة بعض القواعد النحوية حسب علمى 3- الدالة شغالة حتى 999 مليون 4- كتابة الكسور مع مراعاة الفكة لما تكون واحد من الف زي الريال العمانى = 1000 بيسة مثلا وكذلك تجاهل اى كسور زائدة عن الحاجة وهما مرفقتان هنا وارجو من الجميع الاستفادة والتجريب واخطارى لو فيه خطأ حصل تبلغونى WriteDownNumbers.zip1 point
-
السلام عليكم في هاته الصفحة هناك عدة اعمال على الكود القيام بها : 1- جلب العمودa b c من صفحة معلومات التسجيل 2-العمود d (الحلقة) يجب ان يختار الكود للطالب الحلقة المناسبة حسب سورة الحفظ في العمود l وعليه الاستعانة بصفحة الحلقات وصفحة المنهج 3-العمود e مخصص لدرجة السلوك وهي من 5 وتحسب على حسب المخالفات في العمود p كل مخالفة بناقص درجة. 4-العمود i مخصص لدرجة المواظبة وهي من 15 وتحسب على حسب الغيابات في العمود h كل غياب بناقص 3درجات. 5- العود j مخصص لنسبة الحفظ وتحسب على حسب الحفظ في الاعمدة (m l) و (o n) فالطالب مقرر عليه حفظ 10سطر من صفحة المنهج في كل شهر وهي تمثل 100% مثلا من الفاتحة1 الى النصر 4 كلما ينقص سطر تنقص 10% وهكذا. 6-العمود k مخصص لدرجة الحفظ وهي من 10 وتحسب على حسب نسبة الحفظ في العمود j كل 10% ياخذ عليها درجة . 7-العمودr مخصص لمجموع الدرجات اي الاعمدة e f g i k وهي من 100 درجة 8-العمودs مخصص للرتبة اي رتبة الطالب بين زملائه كل تلك المعلومات كنت استعمل فيها الدوال وهو ما يجعل الملف كبير نوعا ما وهي صفحة مهمة لانه فيها يتم تقييم جهد الطالب خلال شهر استاذ ياسر قد تكون عندك افكار او اقتراحات اخرى فلا مانع من تجريبها Quran School V1.rar1 point
-
وجدت هذه الطريقة لاستخراج تقدير الطلاب بدالة VLOOKUP اسرع من من دالة if بالنسبة لي انا جديدة فحبيت ان اشارك بها عسى ان يستفيد منها غيري مثل ما استفدت بها تقدير الطلاب.rar1 point
-
السلام عليكم ورحمة الله أخي الكريم، تم عمل المطلوب في الخلايا QF7 و QG7 و RL7 ، وأنت لا تثقل عليّ البتة.... أخوك بن علية test sharee7a.rar1 point
-
1 point
-
السلام عليكم ورحمة الله لم أحمّل الملف الذي وضعه أخي العزيز أبو البراء إلا بعد إرسال ردي، وأرفع له قبعتي لهذا العمل الرائع، رغم أنه مجالي (الرياضيات) إلا أني لم أنتبه لهذه الخاصية... والله جميل جدا جدا... أخوكم بن علية1 point
-
1 point
-
ماشاء الله تبارك الله ، بارك الله بجهودكم جميعا وبادارة الموقع ، نفعنا الله من علمكم واثابكم الخير والبركة .. تقبلوا مروري. طويلبكم سليم .1 point
-
1 point
-
جزاكم الله خيرا يااستاذنا الكبير // محمد صالح معادله مبدئيه(فقط) بفكرة الحل . {=SUM(VALUE(MID(A1;1;3));VALUE(MID(A1;8;4));VALUE(MID(A1;19;3)))}1 point
-
1 point
-
1 point
-
ابو البراء نسال الله ان يبرئك من النار ويدخلك الجنة من غير حساب1 point
-
السلام عليكم رحمة الله إخواني الكرام عندي مشكله في طبعة الورق عندما اعمل برنت فيوا واخش على page stup أحدد أبعاد الورق اليمن واليسار في(margins) وبعدين ما تجني الابعاد نفسها مع العلم اننا لو طبعت في كمبيوتر اخر بيتجي كويس جدا رجا أفيدونا1 point
-
تفضل أخي الكريم عنوان أكبر قيمة =ADDRESS(MATCH(MAX(H1:H31),H1:H31,0),COLUMN()) وأصغر قيمة =ADDRESS(MATCH(MIN(H1:H31),H1:H31,0),COLUMN())1 point
-
اخى الكريم اعتقد ان ماتطلبه لا يمكن بالبيفوت تيبل ولكن قد يتم بالمعالات او الاكواد ولكن هذا حل وسط ادرجت اليك slicer او طريقة مقسم العرض سيظهر اليك مدن المحافظه المختاره فى البدايات وبلون واضح والمدن الاخرى ستظهر بلون باهت ملف مرفق.rar1 point
-
مرفق واضح انك مدرس لغة عربية .... حريص على المذكر والمؤنث ابقى افتح موضوع جديد لو عايز حاجة تانى ترحيل مفيد باختبار اعمدة معينة 2.rar1 point
-
1 point
-
السلام عليكم استاذنا الغالي ابو البراء عمل ممتاز جدا هذا هو المطلوب الخطوة الثانية ستكون صفحة التقرير الشهري وسافتح موضوع جديد بعنوان: اتمام برنامج المدرسة القرآنية (صفحة التقرير الشهري)1 point
-
السلام عليكم انا اظن انه عايز يغير فى العمود الخاص بالنتيجة وفى الحالة دى ممكن نعدل الشرط للبحث عن جزء من الكلمة "دور ثان" وسينفذ الكود مهما اضاف قبلها او بعدها (له او لها) نضع الكود ElseIf InStr(1, Cells(R, 113).Value, "دور ثان") Then مكان الكود ElseIf Cells(R, 113) = "دور ثان في" Then1 point
-
الأخ الغالي أيمن ممكن شرح فيديو لعمل البيفوت تابل للاستفادة من هذه الأدة الرائعة1 point
-
أشكرك أستاذ أيمن على مساعدتك ومجهود تشكر عليه ولكن طلبي هوا أريد التقرير كما هو موضح اعلاه .. قائمة اختار منها المدينه وعند إختيار المدينه تظهر المناطق الخاصة بها فقط اي يكون التقرير يعتمد على في عرضه على اختيار المدينه ومنها يمكن اختيار المناطق الخاصة بها لعمل المقارنات فلا داعي عند اختيار القاهرة تظهر لي مناطق الأسكندرية لانه بالطبع عن اختيارها لن تظهر بقيم .. ارجوا ان يكون وضحت لكم طلبي ولكم جزيل الشكر1 point
-
2- ازاى عمل التيكست بوكس disabled وهو بيبنى الفورم عمل فحص على الخلايا واللى لقى فيها معادله زود لها الخصائص دى If MyRngdate.Cells(2, Ar(t)).HasFormula = True Then .BackStyle = 0 .TextAlign = 2 .SpecialEffect = 3 .Enabled = False End If شوف عايز ايه تانى ورد علي سوالى فى اولا لان اللى عمل الفورم دى دماغ عالية قوى1 point
-
اخي جعفر طبعا فكرة ادخال الدالة format في الطرفين : طرف المعيار وطرف القيمة المعلمة ! ليست جديدة عليكم ولكن قد يكون تطبيقها هو الذي جعلكم تبحثون عن فكرة وهي ابسط حقوق المبرمج ! الآن راح نشوف الاكسس لضمان تساوي التنسيق ! في ال sql Set rst = CurrentDb.OpenRecordset("Select DISTINCT cen, [Date] From tbl_T Where format([date],'dd/mm/yyyy')='" & Format(idate, "dd/mm/yyyy") & "'") هنا نلاحظ ان السر في عدم استخدام # واستبدالها ب ' لانه اصبحت المقارنة نصية ! والافضل وضع تنسيق التاريخ بهذا الشكل mmddyyyy في دالة ال dcocunt RC4 = DCount("*", "tbl_T", "format([Date],""ddmmyyyy"") =Format(idate, ""ddmmyyyy"")") بالتوفيق1 point
-
رائع اخي راعي الغنم أما بالنسبة لي أنا بدأت على 2007 ولم أعمل على 2003 ابدا 2003 فيه ميزة غير موجودة في 2007 - 2010 - 2013 وهي المستخدمين وصلاحياته ولكن عندما تقع معك مشكلة وتطلب المساعدة ستجد معظم من قام بمساعدتك يرفق قاعدة بيانات 2007 وما فوق وستجد كثيرا من المشاركات تحسبها مفيدة لك لن تستطيع الاستفادة منها لنفس السبب أنها 2007 وما فوق 2007 وما فوق فيه تنسيقات جديدة أفضل من 2003 وأكواد أفضل وستجد أحيانا ان بعض الاكواد قد تغييرت مثال التنسيقات عند اختيار مربع نص وتجعل تنسيقه تاريخ يضع 2007 زر التاريخ مباشرة جانب مربع النص أما 2003 يحتاج الى كود ليقوم بذلك مثال الاكواد على ما أذكر كود استيراد الجداول من قاعدة بيانات و جدول اكسل قد تغير من 2003 الى 2007 أما حجم قاعدة البيانات مازال نفسه 2 جيغا بايت ولن يتجاوز ذلك وقد لاحظت بنظرة سريعة أن ميزات اكسس مع الاصدارات الجديدة يتم حذف ميزات واضافة تنسيقات 2003 كان في مستخدمين وصلاحيات تم الالغاء في الاصدارات التي بعدها 2007 و 2010 كان هناك ايقونة اتصال بقاعدة بيانات sql مباشرة تم الغاء الزر نهائيا في 2013 2007 كان تخفيض الامان اكسس وافيس كاملا من مكان واحد يعني تخفيض امان اكسس يخفض معه امان اكسل و الوورد و و و أما 2010 وما فوق اصبح كل برنامج امانه مستقل عن الاخر 2010 وما قبل كنت تستطيع استيراد أو تصدير انواع عديدة من الملفات أما 2013 تم اختصار معظمها وهذه لها تأثير كبير على عملي وبرامجي السابقة لذلك أنا اعطيتك لمحة عما في الجميع من مزايا وعيوب وفي النهاية أنصحك بما أعمل عليه حاليا أنا وهو 20101 point
-
يا الله يا الله وعلى قولة الاتراك الله الله ما هذا الابداع والطرح الراقي أخي الغالي راعي الغنم - سؤال خارج الموضوع لماذا اخترت هذا الاسم - فكرة جيدة وممتازة أما بالنسبة لي فعلا دائما كنت أهتم بكيفية عمل البرنامج يغني طريقة التنصيب مكان التنصيب اسم المستخدم ان كان موجود كلمة المرور لكن لم أتطرق يوما الى شرح كيفية تصميم هذا البرنامج سأعمل بنصيحتك في البرنامج القادم الذي سأرفعه في المنتدى ان شاء تحياتي لك أخي الغالي راعي الغنم1 point
-
أخى وأستاذى الفاضل ياسر خليل بارك الله فيكم أخى المهندس الفاضل ياسر فتحى بارك الله فيكم أخى الفاضل أحمد الرشيدى بارك الله فيكم وفى مروركم الكريم1 point
-
اصبر واسمعني لو سمحت: مرة واحد عربي تزوج زوجة جديدة على زوجته الاولى, وكانت الاولى لما تمر على الجديدة تقول: نقل فؤادك حيث شئت من الهوى...مالحب الا للحبيب الاولِ كم منزل في الارض يألفه الفتى...وحنينه ابدا لأول منزلِ فترد الثانية وتقول: وما يستوي الثوبان ثوب به البلى...وثوب بايدي البائعين جديدُ والخيار لك ياسيدي أن تبقى على زوجتك الاولى او الثانية. عفوا اقصد اوفسك الاول او اوفسك الثاني.. مملة الحكاية صح!!!!1 point
-
والآن ، تستطيع ان تنقص السنوات بطريقة الحساب العادية ، وتطرح السنوات من بعض. هل هذا الذي تريده ، او في شئ آخر ما شرحته لي؟ جعفر1 point
-
عزيزي اعمل ملف اكسس جديد >> اذهب الى بيانات خارجية وقم باستيراد الجدول فقط من القاعدة الكبيرة >> اذهب الى تصميم الجدول واحذف الاعمدة التي بها بيانات سرية >> اضغط الملف الجديد وارفقه !! بالتوفيق1 point
-
السلام عليكم أخوي رمهان انا قلت في اول الموضوع: يعني كنت اتوصل للمطلوب ، ولكن وللأسف بعد مجموعة محاولات !! وانا فاهم قصدك ، وطريقتك بتعطي الاجابة الصحيحة ، ولكن ، مو دائما انت محتاج تستعمل Format ، فمرة تحتاج ومرة لا ، ومرة M/D/YY ومرة dd/mm/yyyy ، وهكذا ، وصدقني لما عندك برنامج مستعجل وتشتغل عليه ليل نهار والزبون على راسك ، فما دائما تنتبه لـ Format ، إسألني وانا اخبرك كم مرة صارت معي ، الى ان انتبه لها بعد ما احك راسي واطيّح الشعرتين الباقيات على راسي الدالة هذه ، ومن اول مرة وتعطينا النتيجة الصحيحة ، ولأني استفدت منها ، حبيت الكل يستفيد منها جعفر1 point
-
مرحبا اخي جعفر اريدك ان تعمل المعيار التالي وبعدين اقول لك ايش الهرجة !! Set rst = CurrentDb.OpenRecordset("Select DISTINCT cen, [Date] From tbl_T Where [Date]=#" & Format(Me.idate, "m/d/yy") & "#") RC4 = DCount("*", "tbl_T", "[Date]=#" & Format(Me.idate, "m/d/yy") & "#") تحياتي1 point
-
أخي الكريم يرجى تغيير اسم الظهور للغة العربية جرب الكود التالي عله يفي بالغرض Sub CopySheetToAllSheets() Dim I As Long Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For I = 2 To 400 Sheet1.Cells.Copy Sheets(I).Paste Next I Application.CutCopyMode = False Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub تقبل تحياتي لا تنسى أن تحدد أفضل إجابة في حالة أن تم عمل المطلوب كما أردت1 point
-
جزيت خيراً يا أخي الحبيب علي الشيخ على هذه الهدية القيمة بارك الله لنا فيك وأدام عليك الله نعمه وأدام عليك الصحة والعافية الأخ الكريم ابن الملك (البرنس) فيه موضوع لي من فترة بهذا الخصوص على هذا الرابط اطلع عليه عله يفيدك رابط الموضوع من هنا تقبل مروري1 point
-
السلام عليكم أتفضل أخي شوف الملف المرفق وبالنسبة للأكواد في الملف الكود التالي في ThisworkBook الكود التالي يعمل على إضافة القائمة لكليك يمين في ملف الإكسل المحدد ولكي يتم الإضافة لكل ملفات الإكسل شوف الكود اللي في نهاية الرد Private Sub Workbook_Activate() Call AddToCellMenu End Sub Private Sub Workbook_Deactivate() Call DeleteFromCellMenu End Sub ثم قم بإدارج موديول عادي وانسخ فيه الكود التالي الكود يحتوي على 3 ماكرو كل واحد يعمل على تغيير حالة الحروف في باللغة الإنجليزية من حروف كبيرة إلى صغيرة إلى حسب الجملة A - a - Ali Sub AddToCellMenu() Dim ContextMenu As CommandBar Dim MySubMenu As CommandBarControl 'Delete the controls first to avoid duplicates Call DeleteFromCellMenu 'Set ContextMenu to the Cell menu Set ContextMenu = Application.CommandBars("Cell") 'Add one built-in button(Save = 3)to the cell menu ContextMenu.Controls.Add Type:=msoControlButton, ID:=3, before:=1 'Add one custom button to the Cell menu With ContextMenu.Controls.Add(Type:=msoControlButton, before:=2) .OnAction = "'" & ThisWorkbook.Name & "'!" & "ToggleCaseMacro" .FaceId = 59 .Caption = "Toggle Case Upper/Lower/Proper" .Tag = "My_Cell_Control_Tag" End With 'Add custom menu with three buttons Set MySubMenu = ContextMenu.Controls.Add(Type:=msoControlPopup, before:=3) With MySubMenu .Caption = "Case Menu" .Tag = "My_Cell_Control_Tag" With .Controls.Add(Type:=msoControlButton) .OnAction = "'" & ThisWorkbook.Name & "'!" & "UpperMacro" .FaceId = 100 .Caption = "Upper Case" End With With .Controls.Add(Type:=msoControlButton) .OnAction = "'" & ThisWorkbook.Name & "'!" & "LowerMacro" .FaceId = 91 .Caption = "Lower Case" End With With .Controls.Add(Type:=msoControlButton) .OnAction = "'" & ThisWorkbook.Name & "'!" & "ProperMacro" .FaceId = 95 .Caption = "Proper Case" End With End With 'Add seperator to the Cell menu ContextMenu.Controls(4).BeginGroup = True End Sub Sub DeleteFromCellMenu() Dim ContextMenu As CommandBar Dim ctrl As CommandBarControl 'Set ContextMenu to the Cell menu Set ContextMenu = Application.CommandBars("Cell") 'Delete custom controls with the Tag : My_Cell_Control_Tag For Each ctrl In ContextMenu.Controls If ctrl.Tag = "My_Cell_Control_Tag" Then ctrl.Delete End If Next ctrl 'Delete built-in Save button On Error Resume Next ContextMenu.FindControl(ID:=3).Delete On Error GoTo 0 End Sub Sub ToggleCaseMacro() Dim CaseRange As Range Dim CalcMode As Long Dim cell As Range On Error Resume Next Set CaseRange = Intersect(Selection, _ Selection.Cells.SpecialCells(xlCellTypeConstants, xlTextValues)) On Error GoTo 0 If CaseRange Is Nothing Then Exit Sub With Application CalcMode = .Calculation .Calculation = xlCalculationManual .ScreenUpdating = False .EnableEvents = False End With For Each cell In CaseRange.Cells Select Case cell.Value Case UCase(cell.Value): cell.Value = LCase(cell.Value) Case LCase(cell.Value): cell.Value = StrConv(cell.Value, vbProperCase) Case Else: cell.Value = UCase(cell.Value) End Select Next cell With Application .ScreenUpdating = True .EnableEvents = True .Calculation = CalcMode End With End Sub Sub UpperMacro() Dim CaseRange As Range Dim CalcMode As Long Dim cell As Range On Error Resume Next Set CaseRange = Intersect(Selection, _ Selection.Cells.SpecialCells(xlCellTypeConstants, xlTextValues)) On Error GoTo 0 If CaseRange Is Nothing Then Exit Sub With Application CalcMode = .Calculation .Calculation = xlCalculationManual .ScreenUpdating = False .EnableEvents = False End With For Each cell In CaseRange.Cells cell.Value = UCase(cell.Value) Next cell With Application .ScreenUpdating = True .EnableEvents = True .Calculation = CalcMode End With End Sub Sub LowerMacro() Dim CaseRange As Range Dim CalcMode As Long Dim cell As Range On Error Resume Next Set CaseRange = Intersect(Selection, _ Selection.Cells.SpecialCells(xlCellTypeConstants, xlTextValues)) On Error GoTo 0 If CaseRange Is Nothing Then Exit Sub With Application CalcMode = .Calculation .Calculation = xlCalculationManual .ScreenUpdating = False .EnableEvents = False End With For Each cell In CaseRange.Cells cell.Value = LCase(cell.Value) Next cell With Application .ScreenUpdating = True .EnableEvents = True .Calculation = CalcMode End With End Sub Sub ProperMacro() Dim CaseRange As Range Dim CalcMode As Long Dim cell As Range On Error Resume Next Set CaseRange = Intersect(Selection, _ Selection.Cells.SpecialCells(xlCellTypeConstants, xlTextValues)) On Error GoTo 0 If CaseRange Is Nothing Then Exit Sub With Application CalcMode = .Calculation .Calculation = xlCalculationManual .ScreenUpdating = False .EnableEvents = False End With For Each cell In CaseRange.Cells cell.Value = StrConv(cell.Value, vbProperCase) Next cell With Application .ScreenUpdating = True .EnableEvents = True .Calculation = CalcMode End With End Sub اذا اردت ظهور القائمة في كل ملفات الإكسل يمكنك حذف السطرين التاليين من الكود الأول Private Sub Workbook_Deactivate() Call DeleteFromCellMenu Book123.rar1 point
-
1 point
-
الزميل / alisalem_ali25 سلام الله عليكم ألم تلحظ ان ما طرحته ليس فى مكانه الصحيح .. كان يجب طرحه فى موضوع جديد1 point
-
السلام عليكم ورحمة الله وبركاته في المرفق اضافة شرط للمعادلة لغرض إخفاء الصفر و إخفاء اخطأ المعادلة واشكر الاخوين مصطفى عيد و احمد البحري في امان الله مقارنة بين عمودين -2.rar1 point
-
نفتح النموذج في وضع التصميم , نجده يتألف من ثلاثة أقسام : Form Header راس النموذج Detaild المحتويات FormFooter تذييل النموذج ضمن راس النموذج نجد عنوان النموذج Customers و في قسم المحتويات نجد الحقول التي اخترناها لتكون ضمن النموذج و سنعود الى هذا القسم بالتفصيل أما في التذييل فيمكن أن نضع حقول مثل مجموع , توقيت و تاريخ ,, الخ بالاطلاع على قسم المحتويات نجد كل حقل يتألف من مكونين , مربع عنوان و مربع نص مربع العنوان لايحتوي اي يبيانات و هو فقط للدلاله على اسم العنصر الذي يشير اليه مثل اسم العميل أما مربع النص فهو الذي يحتوي القيم المأخوذه من الجدول الأساسي نستطيع التحكم بخصائص مربع النص من خلال الآتي نضع المؤشر على مربع النص CompanyName اسم الشركه , ثم نضغط بالفأره باليمين نجد قائمة في نهايتها خصائص Properties نضغط عليها فتفتح لنا قائمة بها عدة عناصر الأول : تنسيق Format من خلال هذه القائمه نستطيع تنسيق الألوان و نمط الخط و تنسيق الأرقام و التاريخ .. الخ Format تنسيق شكل الأرقام و التاريخ فقط Decimal Places عدد الخانات العشريه Visisble ( مرئي ) القيمة الافتراضيه نعم نريده مرئي , لكن أحيانا نضطر لادراج مربعات نص لانريد اظهارها للمستخدم , لذلك نجعل قيمة هذا الحقل لا , فيبقى موجودا في النموذج وله حسابه لكن لن يظهر للمستخدم Display When هنا تحديد فيما اذا كنا نريد اظهار مربع النص دائما , أم عند الطباعه فقط . أو يظهر على الشاه فقط و يختفى في الطباعه Scroll Bar تثبيت زر سحب و افلات Can Grow هل النص قابل للتمدد ( اذا كانت البيانات أكبر من حجم مربع النص ) Can Shrink هل النص قابل للانكماش ( اذا كانت البيانات أصغر من حجم مربع النص ) Left – Top – Width – Hight للتحكم باحداثيات مربع النص ثم بعد ذلك مجموعة خصائص لتغيير نمط الخلفيه و الألوان .. الخ يمكنكم تنسيقها للحصول على مربعات نص جذابه . القائمه الثانيه Data بيانات هذه القائمه تحتوي : Control Source مصدر البيانات , نجد هنا أن قيمة هذا الحقل هي CompanyName في جدول العملاء , لو أردنا تغيير هذا الحقل يمكن ذلك , نفتح السهم بجانب الاسم و نجد أسماء بقية الحقول المختاره في النموذج ,نستطيع اختيار مثلا ContactName و بذلك سيعرض هذا الحقل اسم الشخص المراد الاتصال به بدلا من اسم الشركه , Input Mask قناع الادخال بالنسبه للتاريخ و الرقم Default Value القيمة الافتراضيه للحقل Validation Rule قاعدة التحقق من الصحه هنا بمجرد ادخال أي قيمه في هذا الحقل يتم اختبا رالقاعده , و تصلح هذه القاعده أكثر بالنسبه للأرقام و التواريخ Validation Text الرساله التي ستظهر في حال مخالفة القاعدة Enabled أحيانا نضطر لعرض مربعات نص غير متاحه للمستخدم , أي لاظهار قيمه معينه دون أن يكون للمستخدم حق التأشير عليها أو الوصول اليها , لذلك نجعل قيمته لا Locked مقفل , في حال أردنا منع المستخدم من التعديل على هذا الحقل حتى و لو كان متاحا نجعل قيمة هذا الحقل نعم الأحداث Events , و هذه قائمه هامه جدا و تتعلق بالأوامر التي نريد اعطاؤها للبرنامج لتنفيذ ها عند حدث معين مثل عند النقر على زر مربع النص أو عند الخروج منه أو قبل الدخول اليه ,, الخ , و هذا بحد ذاته مبحث مستقل له تعليمات و قواعد خاصه . قائمة Other مختلف وتتضمن عدة حقول , و ما يهمنا منها هو حقل الاسم Name و يجب الانتباه جيدا الى هذا الحقل اذ أنه هو الذي يتعامل معه النموذج , القيمة الافتراضيه لهذا الحقل هي نفس قيمة مصدر بيانات العنصر , أي CompanyName لكن لو قمنا مثلا بتغيير مصدر بيانات هذا النص الى ContactName كما فعلنا سابقا , فان أي قيمه تدخل في هذا الحقل , تدخل في حقل ContactName في الجدول , لكن النموذج سيتعامل مع هذا الحقل على أساس أنه CompanyName , و هذا أمر هام جدا لدى تنفيذ أوامر الفيجوال بيسيك , فالحرص يكون على اسم الحقل و ليس على مصدر البيانات . و اخيرا قائمة الكل All و تتضمن جميع القوائم السابقه1 point
-
أخي عبد الظاهر و جميع الأخوه بارك الله فيكم جميعا اشكركم على تعبيراتكم الرقيقه و جزاكم الله خيرا , و في الحقيقه الموضوع طويل و لازلنا في مرحلة الجداول و باقي لنا شوط طويل مع هذا البحث , و كنت أود من الأخوه الذين يطلعون على هذا البحث أن يعرضوا تقييمهم للموضوع بشكل عام . 1 - هل ترون أن شرح NorthWind فيه فائده , أم نكتفي بدروس نظريه ؟ 2 - هل ترون أن هذا البحث نظري و ليس فيه جانب عملي ؟ 3 - هل طريقة الشرح بسيطه وواضحه و مستساغه , أم بحاجه لتوضيح و تفصيل أكثر ؟ 4 - هل ترون أن الدروس أصبحت ممله و بحاجه لاختصار أكثر ؟ 5 - هل جرب أحدكم أن يصمم بنفسه جداول المشروع ؟ أرجو ممن يتكرم علينا بالرد على هذه الأسئله فربما نعدل مسيرة المشروع حسب مرئياتكم فالفائده لكم و نحن طوع أمركم , و في حال وردت تعقيبات سأفتح موضوعا خاصا لها حتى لايصبح هناك تشويش على القارى الكريم . و تعقيبا على كلام الأخ عبد الظاهر , أنا أسأل الله ان كتب لي أجرا , أن يجعل ذلك في صحيفة أعمال أغلى الناس و أحبهم الى قلبي , أمي , رحمها الله و غفر لها و جعلنا و اياها من أهل جنته و رضوانه .1 point
-
السلام عليكم أيها الأخوه الكرام يسعدني أن أبدأ معكم هذه الدوره في شرح الأكسس , الحقيقه هناك شروحات كثيره للأكسس نظريه لن نتطرق اليها هنا , و لكن سنعتمد أسلوب التطبيق العملي فهو أفضل وسيله لايصال المعلومه . و قد رايت أن أفضل مثال يمكن تقديمه هو المثال المقدم من قبل ميكروسوفت ألا و هو قاعدة البيانات الشهيره NorthWind هذه القاعده حقيقة تعتبر منهجا تعليميا متكاملا , حيث أنها تحتوي أمثله كامله عن الجداول و أنواع الاستعلامات و النماذج و التقارير و الصحفحات و الماكروات . و من يستطيع أن يقوم بتصميم قاعدة بيانات مثل هذه القاعده فسيكون قد وفقه الله لفهم الأكسس بمستواه الأول , و يكون الطريق مفتوحا أمامه للاحتراف باذن الله . لذلك فانني رأيت أن أبدأ باسم الله بما يفتح علي من امكانية شرح ما أستطيع من مكونات هذه القاعده و ان عجزت فأسأل الله تعالى أن يسامحني و اعذروني على تقصيري . و قبل البدء بالتطبيق العملي يفضل الاطلاع على هذه الدروس للأستاذ محمد طاهر مديرالمنتدى و ذلك كجرعه وقائيه قبل الخوض في تفاصيل المشروع . كذلك دروس العلاقات بين الجداول و هذه ثلة من الدروس في الاستعلامات وأنواعها و سنبدأ الدرس التالي مباشرة بشرح تصميم قاعدة البيانات NorthWind باذن الله تعالى1 point