نجوم المشاركات
Popular Content
Showing content with the highest reputation on 12/20/15 in مشاركات
-
ولايهمك استاذنا اتفضل رابط ميديا فاير http://www.mediafire.com/download/7cxahz9knqc1m93/Office_2016_16.0.4229.1002_x86-x64_v2.8.iso3 points
-
عمل ممتاز اخي الغالي ابو يوسف لمسات جميله وهي من اهم اعمدة المشروع الخاص بنا وهو ان يكون شكل المشروع اعني البرنامج ان يكون جذاب ويعطى انطباعا طيبا في النفس وبخصوص اللمسات يامعلمين بقي هرفق ليكم ملف به هدية لتجميل الفورم ومظهر البرنامج عموما وكدا يبقي سبقتوا الشرح الاساسي في موضوع الردود نظرا لاجتيازكم مستوى الشرح بكثير اخي عبد العزيز سننطلق على بركة الله باذنه ومشيئته وانتظرو اللمسات الجمالية اتيه لكم لتبدعوا اكثر واكثر الهدية بها بعض العيوب البسيطة لا تظهر الليبل العادي وقت تشغيل البرنامج فيأتي معها ليبل مخصص يظهر باظهار الاداة الاداة image لاتظهر وقت تشغيل البرنامج تستبدل وتفى بالغرض مكانها الاداة Picture انتظرو المرفق لكم فائق احتراماتي3 points
-
اعرض الملف برنامج حسابات البيع بالأجل والنقد الاصدار الاول لكل الاخوه في هذا المنتدى العملاق الذي تعلمت منه الكثير واليوم اهدي هذا العمل المتواضع وهو برنامج حسابات البيع بالأجل والنقد الاصدار الاول وهذا العمل مقارنة بأعمال عباقرة المنتدى نقطة في بحر منهم . شكر خاص للأستاذ الصقر. تحياتي محمد علي الطيب الرقم السري 123 صاحب الملف محمد علي الطيب تمت الاضافه 20 ديس, 2015 الاقسام قسم الإكسيل2 points
-
تفضل اخي م/ ياسر لمسة صغيرة مني لاكمال المتصفح واحب ابشرك اخي عبد العزيز ان ما نراه الان هو 1/مليون من العالم الخيالي الجاي افضل ان شاء الله :) Internet Browser 1.rar2 points
-
السّلام عليكم و رحمة الله و بركاته هديّة متواضعة ..مني إليكم .. لعل و عسى تنال إعجابكم .. للتكبير و التصغير بحجم الفورم ..إذهبْ طَوّالِي للرقم 20000 داخل الكود و قم بالتغيير دون المساس بجزء آخر فائق إحتراماتي الشاشة.rar2 points
-
أخى ومعلمى القدير / ياسر العربى من عنيا أخى وحبيبى الغالى / عبد العزيز إنت تأمر الأكواد المستخدمة الكود الأول يوضع فى CommandButton1 Private Sub Command1_Click() text1.text="اكتب هنا ما تريد" End Sub والكود الثانى يوضع فى CommandButton2 Private Sub Command2_Click() Msgbox"أكتب ما تريد" End Sub والكود الثالث يوضع فى CommandButton3 Private Sub Command3_Click() End End Sub تقبلوا خالص تحياتى وتقديرى2 points
-
السلام عليكم ورحمة الله اليك الحل المطلوب.rar2 points
-
الكود هو Set sa = Sheets("1") Set sh = Sheets("2") sh.Cells(2, 2) = sa.Cells(2, 2) sh.Cells(2, 3) = sa.Cells(2, 3) sh.Cells(2, 4) = sa.Cells(2, 4) sh.Cells(2, 5) = sa.Cells(2, 5) sh.Activate لم تغير شيء فيه كما هو الصح كالتالي Sub dd() Set Sa = Sheets("1") Set sh = Sheets("2") With Sa .Cells(2, 2).Copy sh.Cells(2, 2) .Cells(2, 3).Copy sh.Cells(2, 3) .Cells(2, 4).Copy sh.Cells(2, 4) .Cells(2, 5).Copy sh.Cells(2, 5) End With sh.Activate End Sub او هكذا كإختصار الاسطر Sub dd() Set Sa = Sheets("1") Set sh = Sheets("2") With Sa Union(.Cells(2, 2), .Cells(2, 3), .Cells(2, 4), .Cells(2, 5)).Copy sh.Cells(2, 2) End With sh.Activate End Sub تحياتي2 points
-
2 points
-
اخى الحبيب ضع هذه المعادله فى الخليه B2 ثم اسحبها بتجاه اليسار الى العمود O ثم اسحبها الى اسفل الى ما تريد من عدد الصفوف مرفق ملف تقبل تحياتى magid.zip2 points
-
Private Sub Timer2_Timer() 'Label2 = Format(Now, "dddd yyyy/mm/dd") Label2 = Format(Now, "dddd dd/mm/yyyy") End Sub السّلام عليكم و رحمة الله و بركاته ماشاء الله تبارك الله أستاذي القدير " محمد حسن المحمد " لك لمسات فنيّة رائعة واصل المشوار معنا و لا تتركنا وحدنا وفّقك الله للتدرّب أكثر قمت بتغيير طفيف ليظهر التاريخ بتنسيق عربي من اليمين إلى اليسار فائق إحتراماتي السّلام عليكم و رحمة الله و بركاته أستاذنا القدير " ياسر العربي " بارك الله فيك و جزاك الله خيرًا و زادك من علمه و فضله و جعل كل حرف ممّا تقدّمه و تبذله بألف حسنة رأيي أن نكمل المشوار على بركة الله بدأنا المسيرة و أنتَ قائدنا .. أتمنى و أدعو الله ألاّ تتركنا في بداية الطريق لا تقلق على الاكسل أبدًا .. فلنا عيْنٌ في القدسْ و أخرى في نابلسْ فائق إحتراماتي2 points
-
السلام عليكم ورحمة الله وبركاته إخوتي الكرام أستاذي الكريم ياسر العربي أشكركم على جهودكم المبذولة قمت بإنشاء ملف يحتوي على نموذجين(2فورم) الأول: يحتوي على الوقت والتاريخ تلقائي بمجرد فتحه وعلى كومبوبوكس يفتح الفورم الثاني. الثاني: يحتوي على رسالة شكر ومحبة لكم. للأسف اكتفيت بالصورة لأن كمبيوتر البيت بآخر أيامه يكاد يلفظ أنفاسه اﻷخيرة بسبب اﻷولاد الصغار. تقبلوا تحياتي العطرة.. والسلام عليكم. تحية لأوفيسنا.rar2 points
-
السلام عليكم ورحمة الله وبركاته في احد البرامج التي اشتغلت عليها ، كان المطلوب احد الاشياء التالية مثلا: مدة الخدمة ، من تاريخ التوظيف الى اليوم ، إضافة خدمة (سنوات/اشهر/ايام) الى تاريخ التوظيف ، خصم مدة (سنوات/اشهر/ايام) من تاريخ التوظيف ، فبدل الحساب اليدوي ، عملت نموذج لآلة حاسبة ، للتواريخ النموذج frm_Date_Diff : حساب الفرق بين تاريخين: 1. ادخل التاريخ الاكبر في الحقل 1 ، وعند تغيير التاريخ سنرى الفرق بين التاريخين في الحقول سنة/شهر/يوم ، 2. ادخل التاريخ الاصغر في الحقل 2 ، وعند تغيير التاريخ سنرى الفرق بين التاريخين في الحقول سنة/شهر/يوم ، وعند النقر المزدوج على 1 او 2 ، فان القيم سيتم حفظها في الحقول 11 و 22 مؤقتا ، بحيث تستطيع ان تقوم بعمليات اخرى وتغيير التواريخ ، بينما تحتفظ بأصل التواريخ في 11 و 22 ، إضافة / طرح (سنوات / اشهر / ايام) من تاريخ: 1. احذف التاريخ من الحقل 2 ، 2. ادخل سنة/شهر/يوم الى الخانات 3 و4 و5 ، 3. حسب الحاجة ، اختر 6 لإضافة السنة/شهر/يوم الى التاريخ الاول ، وسترى النتيجة في الحقل 2 ، 4. حسب الحاجة ، اختر 7 لطرح السنة/شهر/يوم من التاريخ الاول ، وسترى النتيجة في الحقل 2 ، وعند النقر المزدوج على 3 او 4 او 5 ، فان القيم سيتم حفظها في الحقول 543 مؤقتا ، بحيث تستطيع ان تقوم بعمليات اخرى وتغيير السنوات/الاشهر/الايام ، بينما تحتفظ بالاصل في 3 و4 و5 وهنا مثال متحرك: جعفر 301.Dates_Calculations.mdb.zip1 point
-
السلام عليكم ورحمة الله وبركاته هنا بعض الايقونات والازرار قد يستفيد منها البعض وهي خمسة مجموعات سترسل تباعا المجموعة الاولى.rar1 point
-
السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله مع التحديث الجديد .. للأسف لم أجد التوجيهات التي تم وضعها من قبل ، وهذه القواعد والأسس هامة جداً ليدرك الأعضاء كيفية التعامل مع المنتدى طبعاً الموضوع سيكون متجدد .. سيتم وضع القواعد مرة أخرى فالرجاء الرجاء أن تساعدوني في اتمام الأمر .. كل عضو يذكرني بتوجيه من هذه التوجيهات ليتم إرساء القواعد ، إذ أن نجاح أي مؤسسة يعتمد في المقام الأول على قواعد ومنهج ثابت للسير على دربه التوجيهات والقواعد التي يجب مراعاتها التوجيه الأول : قبل طرح موضوع جديد يتعلق بطلب محدد يرجى استخدام خاصية البحث أولاً ، فإذا لم يجد طارح الموضوع بغيته ، فعليه أن يقوم بطرح موضوع جديد ، وفي هذه الحالة على طارح الموضوع أن يعلم أن حسن السؤال شطر الإجابة ، فاللباقة واللياقة والكياسة من الصفات التي يجب أن يتحلى بها طالب العلم. التوجيه الثاني : عند طرح موضوع جديد ، يتم وضع عنوان مناسب للطلب بحيث يفهم الطلب قبل الإطلاع عليه ، وعلى طارح الموضوع أن يبتعد عن العناوين الغير مجدية مثل : ( طلب مساعدة - الرجاء المساعدة - ساعدوني من فضلكم - عاجل وهام - الحقوني - نداء للعباقرة - نداء للعمالقة - إلى آخر تلك العناوين ...) ، وأمر آخر ألا يكون العنوان على شكل سؤال أو طلب .. نبتعد عن كلمة "طلب" مثال تطبيقي : نفترض أنني أريد معادلة تجمع القيم في عمودين العنوان المناسب للطلب يكون بهذا الشكل : معادلة جمع القيم في عمودين والنتائج في عمود آخر التوجيه الثالث : أن يتم توضيح المطلوب بالموضوع بشكل يزال معه أي لبس ، وفي نفس الوقت يراعى الإجمال في الطلب ، فأقصر الخطوط هو الخط المستقيم ، بمعنى "لا إطالة مملة ولا اختصار مخل" ، أي لا يكون طرح الموضوع مختصر للغاية بل يجب أن يستوفي جميع العناصر المطلوبة ، ومن ضمنها أن يحدد طارح الموضوع هل الحل المطلوب بالمعادلات أم بالأكواد أم بكلاهما لتكون الأمور واضحة بالنسبة لمن يريد تقديم المساعدة ، وأن يقوم صاحب الموضوع بإرفاق ملف به بيانات وهمية لتوضيح طلبه وللوصول إلى حل سريع ودقيق ، وإذا صعب على طارح الموضوع شرح المطلوب يمكنه إرفاق بعض النتائج المتوقعة كي يسهل الوصول لحل. التوجيه الرابع : نلاحظ أن شكل المنتدى لا يعجب معظم الأعضاء ، فلما لا نغير بأيدينا الشكل العام للمشاركات ، فيفضل على سبيل المثال استخدام حجم خط كبير 22 على سبيل المثال وجعل الخط عريض Bold مما يجعل المشاركة واضحة ومقروءة بشكل جيد ، كما يمكن استخدام الألوان أي قم بتنسيق المشاركة بشكل جذاب يجعل القاريء لا ينفر منها. التوجيه الخامس : بعد الانتهاء من الموضوع والوصول لحل يرضي صاحب الموضوع ، يرجى أن يتم تحديد أفضل إجابة من خلال النقر على علامة الصح الموجودة بجانب كل مشاركة ، وأن يسجل صاحب الموضوع إعجابه من خلال النقر على "سجل اعجاب بهذا" كنوع من رد الجميل لمن قدم المساعدة ، ويمكن أيضاً أن يقوم بتقييم المشاركة تقييم إيجابي كنوع من التقدير ، وأن تشكر من قدم المساعدة فمن لم يشكر الناس لا يشكر الله. فيما يخص لو كان هناك أكثر من إجابة للموضوع ، يمكن لصاحب الموضوع عمل مشاركة جديدة يجمع فيها كل الحلول ويختار هذه المشاركة كأفضل إجابة التوجيه السادس : لا تكن لحوحاً ، يكفي أن أعضاء المنتدى يقدمون وقتهم و خبرتهم مقابل لا شيء وعندهم أعمال أخرى (مشاغلهم الخاصة) يقومون بها ، و إذا تأخر الرد ، فمن الممكن أن يكون أحد الأعضاء يقوم بمحاولة الإجابة ، وهذا يستغرق بعض الوقت خاصةً إذا كان الموضوع صعباً. التوجيه السابع : حمل الملف المرفق دون زركشات (ألوان و تنسيقات مختلفة) مما يزيد من حجم الملف و أحياناً تكون الألوان مقززة بشكل ينفر منها المساعد (خاصةً إذا كانت ألوان الخلايا غير متناسقة مع لون الخط) التوجيه الثامن : تأكد أن الملف المرفوع غير مصاب بفيروس و غير محمي بكلمة سر ، وإلا لن تجد المساعدة من قبل الأعضاء. التوجيه التاسع : متابعة صاحب الموضوع لموضوعه والتفاعل معه ، فلا يعقل أن يطرح أحدهم موضوع ولا يتابعه إلا بعد مرور وقت طويل ، فهذا يعد من اللامبالاة الغير مرغوب فيها ، والتي تنفر الجميع من العضو. التوجيه العاشر : عدم التسجيل في المنتدى بأكثر من حساب ، وأن يكون اسم الظهور باللغة العربية ومعبر عن الاسم الحقيقي أي (تعريب اسم العضو) ، فلا يجوز أن يكون اسم الظهور اسم واحد وفقط بل أن يكون ثنائي على الأقل أو أن يكون اسم ولقب ، ولذا يرجى عدم استخدام الأسماء المستعارة أو الأسماء باللغة الأجنبية ، فاللغة العربية هي هويتنا ولابد من الحافظ عليها. ** يتم تغيير اسم الظهور أو اسم المستخدم من خلال إعدادات الحساب ثم التبويب اسم المستخدم ، قم بتغيير الاسم ثم انقر كلمة حفظ التوجيه الحادي عشر : عدم طرح أكثر من موضوع لنفس الطلب من نفس العضو ، فهذا يعد مخالفة صريحة ، وليعلم العضو الذي يقوم بذلك أن تكرار الموضوع لن يجدي نفعاً في حالة عدم توضيحه للمطلوب. وفي حالة أن قام العضو بذلك عن طريق الخطأ يقوم العضو بالتنويه في الموضوع وطلب حذف الموضوع نظراً لتكراره. التوجيه الثاني عشر : على من يقدم المساعدة أن يكون مثالاً يحتذى به في العطاء والصبر والحلم وكرم الأخلاق وحسن الإجابة ، يجتذب بتلك الصفات عقول الآخرين وأفئدتهم التوجيه الثالث عشر : عند طرح موضوع يفضل أن يكون هناك طلب واحد فقط إذ أن الموضوع الذي تكثر فيه الطلبات ينفر الأعضاء الذين يريدون تقديم يد المساعدة ، وعلى رأي المثل (من يطارد عصفورين يفقدهما) فما بالك لو طاردت أكثر من طلبين أقصد أكثر من عصفورين ، يمكنك أن تتعامل بذكاء بأن تطرح الموضوع بطلب واحد حتى إذا تم على خير قم على الفور بطرح موضع جديد بطلب جديد وهكذا إلى أن يتم الأمر التوجيه الرابع عشر : يرجلا عدم إرسال رسائل خاصة للأعضاء لطلب المساعدة بشكل شخصي ، لأن هذا الأمر يضايق الكثير من الأعضاء ، وتأكد أن العضو إذا كان لديه معلومة أو يستطيع أن يفيد بشيء ووقته يسمح بذلك فلن يتأخر عنك ، يكفي أن تكتب كلمة "للرفع" في موضوعك ، ليشاهده أكبر عدد من الأعضاء. ** كيفية رفع الصور في المشاركات : ******************************* دمتم على طاعة الله1 point
-
بسم الله الرحمن الرحيم تحية طيبة وبعد:/ اليوم اعرض عليكم برنامج لاستخراج ملفات الاكسيل العادية من الملفات التنفيذية بكل يسر وسهولة قد قمت بتصميم هذا البرنامج منذ فترة ولكن هناك ما يجعلني متردد في عرضه وطرحه داخل المنتدى لاني ارى ان معظم المتواجدون يتعلقوا باي كلمة فيها اسم عمل حماية للاكسيل وليس فك حماية فاليوم اعرض عليكم شكل البرنامج وطريقة عمله فقط لابداء الرأي فيه واقتراح وضعه ام اتحفظ عليه وابعاده لانه هيبقي محبط لمعظم الاخوة الذين كانو يبحثون عن الحماية داخل الملفات التنفيذية البرنامج قمت بتجربة علي معظم برامج التحويل وليس كلها يعني ممكن والله اعلم ان لا يعمل مع برامج تحويل اخري ولكن علي يقين اني استطيع فكهم ايضا باذن الله ولكن يبقي القرار قراركم الان البرنامج لا يحتاج الى عناء مجرد فتح الملف عن طريق البرنامج ولو الملف فيه اي مشكلة او غير متوافق اوي اي حاجه في اي حاجه بردو هنفك امه ونضغط علي استخراج ليتم جلب الملف الاصل للفولدر المرفق مع البرنامج yasser لكم مني كل الشكر والتقدير في انتظار القرار منكم ياسر العربي1 point
-
المشروع يا معلمى وقللى إيه رأيك Internet Browser 1.rar Internet Browser 1.rar Internet Browser 2.rar1 point
-
1 point
-
استاذي الغالي رمهان بارك الله فيك بالنسبة للاستفسار الاول بخصوص تغيير الامتداد : للاسف لا يوجد خيارات هو فقط الامتداد accdc . ومشكور علي رايك الشخصي بخصوص التقسيم اليدوي . كل الشكر والتقدير1 point
-
السلام عليكم وانا كذلك لدي التصور البسيط عن الموضوع وهو خاصة على ما اعتقد بالشهادات الرقمية وهو احد اوجه الحماية وموافقة التطبيق لمستخدمه ! ولكن اليس لك المقدرة اخ وائل بتعديل امتداد الملف الى accdb ! وبعدين صدقني ماعمري استخدمت المعالج في تطبيق عملي ! نضع القاعدة بعيدا ثم نربط الجداول في المقدمة ويدويا ! تحياتي1 point
-
اخي الغالي عبد العزيز انسخ الاداة الى المسارين c:\windows\syswow64\actskin4.ocx c:\windows\system32\actskin4.ocx وبعدها قم بتشغيل الملف المرسل لك كمسئول وهتظهر معاك رسالتين غير الرسالة دي تفيد ان تم تسجيل الاداة بنجاح وجرب بعد ذلك تضيفها في مشروعك كما سبق وبلغني اخي الغالي م/ياسر لك كل الشكر والتقدير شكرا علي التوضيح ولكن ما قصدته هو ارفاق الملف نفسه كاملا مثل هذا هدية.rar1 point
-
أقدم لكم اليوم رسالة ترحيب من تصميمى من بعض ما تعلمته من شرح الأستاذ والمعلم القدير / ياسر العربى أرجوا أن تنال إعجابكم تعليقك يا أ / ياسر العربى على الفنش يهمنى Welcome Screen.rar1 point
-
اخي الغالي عبد العزيز انقل الاداة لملف السيستم ٣٢ هي فقط تحتاج للتسجيل لو تعرف تسجلها اعملها انا اتكلم من الموبيل شوية وبروح علي الجهاز وبشرح كيف تتعمل استاذي مختار شكرا لك لمرورك الكريم لك كل الشكر واالتقدير تقبل تحياتي1 point
-
1 point
-
السلام عليكم الافضل ارفاق مثال وحبذا تغير اسمك بالعربي تحياتي1 point
-
(حديث مرفوع) ثنا الْمُقَدَّمِيُّ ، ثنا الْمُعْتَمِرُ بْنُ سُلَيْمَانَ ، عَنْ عَبْدِ الْمَلِكِ بْنِ خَالِدٍ ، عَنْ سَالِمِ بْنِ حَذْلَمٍ ، قَالَ : رَآنِي ابْنُ عُمَرَ أُصَلِّي ، فَلَمَّا انْصَرَفْتُ قَالَ لِي : مِمَّنْ أَنْتَ ؟ فَقُلْتُ : مِنْ أَهْلِ الشَّامِ ، فَقَالَ : إِنَّكُمْ أَهْلَ الشَّامِ تُطِيلُونَ الصَّلاةَ ، وَتُكْثِرُونَ الدُّعَاءَ ، وَإِنَّنِي لَمْ أُصَلِّ خَلْفَ أَحَدٍ أَخَفِّ صَلاةٍ فِي تَمَامٍ مِنْ رَسُولِ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ ، وَكَانَتْ دَعْوَةٌ يَدْعُو بِهَا رَسُولُ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ , أَنْ يَقُولَ : " اللَّهُمَّ وَفِّقْنِي لِمَا تُحِبُّ وَتَرْضَى مِنَ الْقَوْلِ وَالْعَمَلِ وَالنِّيَّةِ وَالْهُدَى ، إِنَّكَ عَلَى كُلِّ شَيْءٍ قَدِيرٌ " .1 point
-
حياك الله أخونا العود أبوخليل هذا قليل مقابل عطاءكم الكثير أخي عبدالرحمن الغالي ، شرفتنا جعفر1 point
-
استاذنا وحبيبنا جعفر هدية قيمة ورائعة ، وتكثر الحاجة اليها جزاك الله خيرا , ورزقك من حيث لا تحتسب1 point
-
السلام عليكم ورحمة الله وبركاته أخي الحبيب عبد العزيز شكراً جزيلاً هذا من لطفك وحسن أدبك ...وطيب كلامك أما من ناحية التاريخ فإنني أن يظهر عندي كما يلي: الأحد 2015/12/20 أي من اليمين إلى اليسار وقد جربت كلتا الحالتين فقدمت الأولى. تقبل تحياتي وشكراً لمتابعتك وتشجيعك فأنت أخ حبيب قريب من القلب ..وأرجو أن يكون شأنك عظيماً في أمتنا التي نحاول استنهاض مكانتها الرفيعة والسلام عليكم.1 point
-
سماح هذه المرة استاذنا رمهان اتفضل اخونا الكريم date-time.rar وبرجاء المرة القادمة ارفاق مثال مع الاستفسار1 point
-
اولا انا طالب علم مش استاذ يعنى اسمى محمد ثانيا الشكر لله سبحانه وتعالى اولا ثم بعد ذلك لكل اسااتذتنا الكرام فى هذا الصرح الشامخ وممتاز كويس التطبيق لكن ممكن اقول لك على حاجه جرب فى الكمبوبوكس بتاع الاسم اكتب اى اسم غلط وشوف الرساله اللى تطلع وجرب كده تكتب رقم جلوس غلط فى الكمبوبوكس بتاع رقم الجلوس وشوف الفرق1 point
-
السلام عليكم اخي محمد برنامج رهيب وعمل رائع وانا كنت محتاج مثل هذا البرنامج1 point
-
1 point
-
السلام عليكم ورحمة الله اخى الحبيب اليك الحل مع ملاحظة توجد اعمدة مخفية على يسار الجدول جدول العمل.rar1 point
-
1 point
-
استعمل هذه المعادلة للتنسيق الشرطي بعد ان تحدد الاعمدة المطلوبة مع اختيار اللون المناسب للحد الا قصى و تكون الخلية H4 هي النشطة (استبدل العدد 42 باخر صف) لتحديد اصغر قيمة غير الصفر استعمل المعادلة الاولى (Ctrl+Shift+enter) =MIN(IF($H$4:$H$90<>0,$H$4:$H$90)) =MAX(H$4:H$42)=H41 point
-
اخى الكربم ضع هذه المعادله فى الخليه C2 اسحبها نزولا لاسفل =YEAR(A2) تقبل تحياتى1 point
-
ما رايكم لو اختار المستخدم بنفسه النطاق الذي يسمح به بالكتابة Unprotect Only Choosen Range.zip1 point
-
وعليكم السلام ورحمة الله وبركاته اليك ابسط طريقة استخدمها * وذلك من خلال الضغط على تبويب “إضافة” Insert في الأعلى، بعدها نختار “أرقام الصفحات” نختار من القائمة خيار “تنسيق أرقام الصفحات” ونبحث داخل النافذة عن خيار “بدء الترقيم من” ونضغ الرقم”0” في داخل الصندوق ليبدأ ترقيم الصفحات بدءاً من الصفحة الثانية. * ثم من تخطيط الصفحة تختار ورق ثم صفحة اولى مختلفة هذا كل شيء .1 point
-
بارك الله فيك اخى الكريم بن علية نفس هذه المشكلة عندى تم حلها بهذا الملف العبقرى شكرا جزيلا لك1 point
-
السلام عليكم ورحمة الله أخي الكريم، المشكل الذي ذكرته ليس في الأوفيس وإنما في ملف Registry الخاص بالويندوز... وإن شاء الله حل هذه المشكلة يكون بتنفيذ الأداة في الملف المرفق وهي تقوم بتصحيح الخلل في ملف Registry تلقائيا والمتعلق بخصائص HTM/HTML... أرجو أن تفيدك هذه الأداة... أخوك بن علية html_association_fix.zip1 point
-
اتجاهنا لازم يكون نحو أسلحة الدمار الشامل وبعدين محدش هياخد خبر من الصعيد إلا إذا فيه حد فتن علينا .. تقبل تحياتي أخي وحبيبي مختار (لازم أسايسك عشان متفتنش عليا)1 point
-
السلام عليكم المصفوفات الجداول تعريف مبسط : التعامل مع اكثر من قيمة واحدة تطبيقات عملية الدرس الاول : المصفوفات Arrays rArr = Array("A", "B", "C") اذا اردنا ان نضع الصفيف هذا على صف واحد وثلائة اعمدة Sub kh_1() Dim rArr rArr = Array("A", "B", "C") Range("A1").Resize(1, 3).Value = rArr End Sub اذا اردنا ان نضع الصفيف هذا على ثلاثة صفوف وعمود واحد تعرفون الدالة TRANSPOSE إرجاع نطاق خلايا عمودى كنطاق أفقي، أو بالعكس. يجب إدخال TRANSPOSE كصيغة صفيف في نطاق به نفس عدد الصفوف والأعمدة، على الترتيب، مثل صفيف الأعمدة والصفوف الخاصة به. استخدم TRANSPOSE لتبديل الاتجاه العمودي والأفقي لصفيف في ورقة عمل. بناء الجملة TRANSPOSE(array) Array (الصفيف) هو الصفيف أو نطاق الخلايا في ورقة العمل التي ترغب في تحويلها. يتم إنشاء تحويل الصفيف باستخدام الصف الأول للصفيف على أنه العمود الأول للصفيف الجديد، والصف الثاني للصفيف على أنه العمود الثاني للصفيف الجديد، وهكذا. ============================================================ Sub kh_2() Dim rArr rArr = Array("A", "B", "C") rArr = WorksheetFunction.Transpose(rArr) Range("A1").Resize(3, 1).Value = rArr End Sub يتبع لمتابعة الموضوع افضل ان تضعوا هذه الاكواد في ملف الان نقوم باضافة فورم ونضيف التالي ListBox1 CommandButton1 CommandButton2 اضف هذه الاكواد للفورم Private Sub CommandButton1_Click() Dim rArr rArr = Array("A", "B", "C") Me.ListBox1.List = rArr End Sub Private Sub CommandButton2_Click() Dim rArr rArr = Array("A", "B", "C") Me.ListBox1.Column = rArr End Sub Private Sub UserForm_Initialize() Me.ListBox1.ColumnCount = 3 End Sub بعد فتح الفورم اضغط على الازرار CommandButton1 CommandButton2 ما هي النتيجة يتبع ============================================================= المصفوفة Array("A", "B", "C") من النوع Variant وذو البعد الواحد واول دليل لعناصرها LBound صفر وآخر دليل لعناصرها UBound عدد عناصرها ناقص واحد ونضيف عناصرها دفعة واحدة ============================================================= بعض الدالات للسلاسل النصية تعطي نتائج صفيف مثل SPLIT FILTER ناخذ مثال عن SPLIT Sub kh_Split() Dim MyAr MyAr = Split("عبدالله علي احمد باقشير") Range("A1").Resize(1, UBound(MyAr) + 1).Value = MyAr End Sub =========================================================== =========================================================== =========================================================== الدرس الثاني : الجداول المفهرسة عبارة عن متغيرات مفهرسة Indexed Variables تحتوي على بيانات عديدة من نفس النوع Data Type . كل مصفوفة لها اسم واحد يمكن استخدامه للرجوع إلى أي عنصر فيها وذلك باقتران هذا الاسم بدليل يمثل مكان العنصر فيها ، ويمكن انشاء مصفوفة لإحتواء أي نوع من أنواع البيانات مثل : النصوص والأعداد الحقيقية و الصحيحة وغيرها ، فأنواع البيانات المتوفرة في الفيجيوال بيسك هي : Data Type in VB: {Byte, Boolean, Integer, Long, Single, Double, Currency, Decimal, Date, Object, String, Variant, User-defined }. واستخدام المصفوفات في البرمجة يساعد في صناعة أكواد قصيرة وبسيطة ذات قوة كبيرة لأنه يمكن بناء Loops تتعامل بكفاءة مع المصفوفات مهما كان عدد عناصرها وذلك باستخدام دليل العنصر Index Number . ================================================= الخصائص الأساسية للمصفوفة في الفيجيوال بيسك : اسم المصفوفة يمثل عنوان Address في الذاكرة ؛ ولا يمكن تغييره أثناء تنفيذ البرنامج . يمكن الإعلان عن مصفوفة لأي نوع من أنواع البيانات بما في ذلك الأنواع المعرفة من قبل المستخدم User-defined type والـ Object Variables . كل وحدة بيانات منفردة في المصفوفة تسمى عنصر Element . جميع العناصر تكون من نفس النوع إلا في حالة الإعلان عن المصفوفة كـ Variant Data Type . جميع العناصر تكون مخزنة على التتابع في ذاكرة الحاسوب ودليل أول عنصر هو الصفر كـ Default ويمكن جعله 1 باستخدام جملة في بداية الوحدة النمطية Option Base 1 لكل مصفوفة حداً أعلى Upper bound ، وحداً أدنى Lower bound ؛ وعناصر المصفوفة تكون محصورة بين هذين الحدين . من الممكن أن تكون المصفوفة ذات بعد واحد أو متعددة الأبعاد . تحديد الحدين الأعلى والأدنى للمصفوفة Upper bound & Lower bound: عند الإعلان عن مصفوفة، يكتب الحد الأعلى بعد الاسم وبين الأقواس. لا يمكن أن يزيد الحد الأعلى عن نطاق نوع المتغير Long Data Type. الحد الأدنى الإفتراضي Default هو الصفر. اذا عرفت عن هذا المتحول بـــــ Limiteinf To LimiteSup في مكان الوسيط Indexs تكون قد عرفت جدولا بعدد عناصر محدد وبارقام دليل محددة وهذه الطريقة افضل للاستخدام للفهم السريع للوسيط Indexs Dim ay(1 To 3, 1 To 2) As String ----------------------------------------------------------------------------- ay(1 To 3, 1 To 2) لمعرفة الدليل الاول والاخير لليعد الملون بالاحمر للمتحول LBound(ay, 1) UBound(ay, 1) لمعرفة الدليل الاول والاخير للبعد الملون بالازرق للمتحول LBound(ay, 2) UBound(ay, 2) ================================================================== ================================================================== ملحوظة عند إضافة أبعاد المصفوفة فإن مساحة التخزين المطلوبة سوف تزيد زيادة كبيرة ولذلك ينبغي الاحتراس وتفادي استخدام النوع Variant قدر الإمكان لما يتطلبه من مساحة تخزينية كبيرة! ================================================================== ================================================================== المصفوفة ذات الحجم الثابت نعلن عنها بأحد أوامر الإعلان (Public or Private or Dim or Static) مع تحديد عدد العناصر في الأقواس Dim ay(1 To 3, 1 To 2) As String مثال 1: Sub kh_Array1() Dim ay(1 To 3, 1 To 2) As String ay(1, 1) = "A" ay(2, 1) = "B" ay(3, 1) = "C" ay(1, 2) = "D" ay(2, 2) = "E" ay(3, 2) = "F" Range("A1").Resize(3, 2).Value = ay End Sub مثال 2 جدول ضرب Sub KH_5() Dim sArr(1 To 12, 1 To 10) As Integer Dim ContRow As Integer, ContColmn As Integer Dim c As Integer, r As Integer ContRow = UBound(sArr, 1) ContColmn = UBound(sArr, 2) For r = 1 To ContRow For c = 1 To ContColmn sArr(r, c) = r * c Next Next Range("A1").Resize(ContRow, ContColmn).Value = sArr End Sub المصفوفات متغيرة الحجم Dynamic Array: في بعض الأحيان، لا نعرف مسبقاً حجم المصفوفة التي سنستخدمها في البرنامج بالضبط، وقد نريد تغيير حجم المصفوفة أثناء تشغيل البرنامج، هنا سنحتاج إلى المصفوفات ذات الحجم المتغير Dynamic حيث يمكننا تغيير حجمها في أي وقت. تعتبر المصفوفات متغيرة الحجم أحد مميزات الفيجيوال بيسك، وهي تساعد في تنظيم الذاكرة بكفاءة. فمثلاً، يمكن استخدام مصفوفة كبيرة لوقت قصير ثم إعادة تحجيمها لتحرير مساحة من الذاكرة عندما لا نحتاجها. وهذا من شأنه تسريع المعالجة. ولصناعة Dynamic Array نتبع التالي: نعلن عنها بأحد أوامر الإعلان (Public or Private or Dim or Static) ونجعلها ديناميكية بعدم كتابة أي رقم في الأقواس كما يوضح المثال التالي: Dim sArr() As String نعيد الإعلان عنها مع تحديد عدد العناصر باستخدام جملة ReDim كما في المثال التالي: ReDim sArr(1 To ContRow, 1 To ContColmn) ================================================================== ================================================================== ملاحظات هامة . كل جملة من جمل ReDim يمكنها تغيير عدد العناصر بالإضافة إلى الحد الأعلى والحد الأدنى لكل بعد للمصفوفة، ومع ذلك فإن عدد الأبعاد في المصفوفة لا يمكن تغييره. . تمحى جميع القيم المخزنة في المصفوفة كل مرة يعاد فيها تنفيذ جملة ReDim. ويجعل الفيجيوال بيسك القيم كالتالي: في حالة الــــ Variant Array --------- الى ----- Empty Value في حالة الــــ Numeric Array ------- الى ----- Zero في حالة الــــ String Array ----------- الى ----- Zero-Length String في حالة الــــ Array of objects ------ الى ----- Nothing وهذا مفيد عندما نريد تجهيز المصفوفة لبيانات جديدة أو عندما نريد اختزال حجم المصفوفة لتأخذ أقل مساحة ممكنة في الذاكرة. ================================================================== ================================================================== مثال 1: Sub KH_6() Dim sArr() As String Dim iName As String Dim ContRow As Integer, ContColmn As Integer Dim c As Integer, r As Integer, i As Integer Range("H7").Resize(14, 5).ClearContents iName = CStr([H4]) ContColmn = 5 With Range("B7").Resize(14, 1) ContRow = WorksheetFunction.CountIf(.Cells, iName) ReDim sArr(1 To ContRow, 1 To ContColmn) For r = 1 To .Rows.Count If CStr(.Cells(r, 1)) = iName Then i = i + 1 For c = 1 To ContColmn sArr(i, c) = CStr(.Cells(r, c)) Next End If Next End With Range("H7").Resize(ContRow, ContColmn).Value = sArr Erase sArr End Sub دروس المصفوفة 1.rar ================================================================== ================================================================== Erase تستخدم لتحرير الذاكرة المعينة للجداول الديناميكية واعادة تعيين عناصر الجدول الى قيمتها البدائية بطول ثابت مثال: Erase sArr ================================================================== ================================================================== تغيير حجم المصفوفة دون فقد بياناتها يمكننا فعل ذلك باستخدام جملة ReDim مع كلمة Preserve وتعني الحفظ الجملة التالية تغير حجم المصفوفة ولكنها لا تمحو العناصر الموجودة بها: ReDim Preserve MyArray( 10 ) والآن يمكننا كتابة ملخص متكامل لجملة ReDim. جملة ReDim: تستخدم في مستوى الـProcedure لإعادة تخصيص allocates مساحة تخزينية storage space لمصفوفة متغيرة الحجم Dynamic array. صيغتها Syntax: ReDim [Preserve] varname(subscripts) [As type] [, varname (subscripts) [As type]] ================================================================== ================================================================== ملاحظات هامة: جميع ما ذكر في الصيغة داخل قوسين مربعين [] يعتبر اختياري يمكن الاستغناء عنه حين عدم الحاجة إليه. تستخدم جملة ReDim لتحجيم أو إعادة تحجيم مصفوفة متغيرة الحجم Dynamic Array والتي بالفعل قد أعلن عنها مسبقاً باستخدام أي من الجمل Dim, Private, Public مع أقواس فارغة (أي بدون ذكر الأبعاد). يمكن تكرار استخدام جملة ReDim لتغيير عدد العناصر والأبعاد لمصفوفة، ومع ذلك لا يمكن الإعلان عن مصفوفة بنوع معين من البيانات ثم إعادة تعريفها لاحقاً مع تغيير نوع البيان لنوع آخر إلا إذا كانت المصفوفة محتواه في variant. إذا كانت المصفوفة محتواه في variant فإن نوع بيان العناصر يمكن أن يتغير باستخدام المقطع As Type إلا إذا استخدمنا كلمة Preserve ففي هذه الحالة لا يسمح بتغييرات. إذا استخدمنا كلمة Preserve يمكن فقط تحجيم البعد الأخير للمصفوفة ولا يمكن تغيير عدد الأبعاد على الإطلاق. إذا كان للمصفوفة بعد واحد فيمكن إعادة تحجيم هذا البعد لأنه البعد الأخير والوحيد بالمصفوفة. وإذا كان للمصفوفة بعدين أو أكثر فيمكن فقط تغيير حجم البعد الأخير مع الاحتفاظ بمحتويات المصفوفة. عندما نستخدم Preserve يمكن تغيير حجم المصفوفة بتغيير الحد الأعلى بينما ينتج لدينا خطأ حين تغيير الحد الأدنى. إذا صنعنا مصفوفة أصغر مما كانت فإن بيانات العناصر المخزنة سوف تفقد. تحذير: جملة ReDim ستعمل وكأنها جملة إعلان إذا كان المتغير (المصفوفة) التي تعلن عنه غير موجود على مستوى الـProcedure أو الـModule. وإذا كان هناك متغير آخر بنفس الاسم قد أنشئ بعد ذلك وحتى لو كان في النطاق ككل Scope؛ فإن ReDim سوف ترجع للمتغير الأخير ولن يتسبب عن ذلك خطأ في الترجمة Compilation error حتى ولو كانت جملة Option Explicit فعّالة. وبذلك لن يدرك المبرمج أنه هناك خطأ بالشيفرة code. ولتفادي هذا التعارض لا ينبغي استخدام جملة ReDim كجملة إعلان بدلاً من Dim مثلاً، ولكن نستخدمها فقط لإعادة تعريف حجم المصفوفة. ================================================================== ================================================================== توضيح اكثر لهذه الملاحظة إذا استخدمنا كلمة Preserve يمكن فقط تحجيم البعد الأخير للمصفوفة ولا يمكن تغيير عدد الأبعاد على الإطلاق. امثلة : للبعد الاخير ( الملون بالاحمر) هنا ثلاثة ابعاد البعد الاخير هو 15 ReDim Preserve X(10,12,15) ReDim Preserve X(10,12,15) هنا بعدين البعد الاخير هو 12 ReDim Preserve X(10,12) ReDim Preserve X(10,12) هنا بعد واحد إذا كان للمصفوفة بعد واحد فيمكن إعادة تحجيم هذا البعد لأنه البعد الأخير والوحيد بالمصفوفة ReDim Preserve X(10) ReDim Preserve X(10) حمل الملف الموجود في هذا الموضوع تطبيق عملي لما ذكر اعلاه http://www.officena....showtopic=42346 http://www.officena.net/ib/index.php?showtopic=42584 دروس المصفوفة 1.rar kh_SumProduct.rar دروس المصفوفة ( دالة لتوليد ارقام عشوائية).rar ((الشرح العلمي منقول من هنا وهناك)) تم بحمد الله وشكره1 point
-
بارك الله فيك أخي الحبيب المميز / استاذ محمود الشريف دائما تتحفنا بكل ما هو جديد وتوفر علينا الوقت والمجهود في البحث1 point
-
تبارك الله ، نفع الله بعلمك أخي هشام أخي عماد ، مساء الخير حاولت التطبيق للكودين ولكنني لم أصل للنتائج التي تخيلتها من سؤال الأخ أسامة ، لعلني أخطأت بالتطبيق ، فهلا أسعفتنا بمرفق. جزيت خيرا...1 point
-
السلام عليكم ======= هذا حل اخر بالتنسيقات الشرطية لتحديد اماكن القيم الناقصة فى المسلسل find miss n.rar1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله أخي الكريم، من الأحسن وضع نموذج في ملف لتسهل العمل عليها... إليك الملف الملف أين استعملت التنسيق الشرطي على الخلايا وكود صغير يوضع في ThisWorksheet... موفق إن شاء الله تلوين الصف والعمود.rar1 point