بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 10/15/15 in مشاركات
-
السلام عليكم ورحمة الله وبركاته نرجو الله أن يجعله عاماً سعيداً على كل المسلمين.. نرجو الله أن تعاد الحقوق المغتصبة إلى أهلها وأن يرجع المهجرون إلى أوطانهم وأن يعم الخير والفلاح نرجو الله أن يدحر الصهاينة المعتدين وأن يعيد الأقصى إلى أحضان وكنف المسلمين وعموم أرض فلسطين الأبية بسواعد فتيانه وشبابه . نرجو الله لنا ولكم كل خير ... اللهم أنت رجاؤنا وأنت ملاذنا وأنت مولانا فإننا نحتمي بحماك ...نرجو رحمتك ونخشى عذابك إن عذابك الجد بالكفار ملحق..يا من لاتدركه الأبصار ويدرك الأبصار لك أنبنا وعليك توكلنا وبك آمنا ولقضائك استسلمنا أوصيكم بتقوى الله في السر والعلن والعمل على مرضاته فلا يعلم أي منا ساعة يلقاه ...اللهم اجعلنا ممن يلقونك وأنت راضِ عنهم ...آمين تهانينا الحارة لكم جميعاً ...نرجو أن يكون أفضل مما كان قبله وأن نرقى بأعمالنا فمن لم يكن في يومه خير من أمسه فبطن الأرض خير له من ظهرها . والصلاة والسلام على سيد المرسلين وعلى آله وصحبه أجمعين والحمد لله رب العالمين.. والسلام عليكم ورحمة الله وبركاته4 points
-
السّلام عليكم و رحمة الله و بركاته بمناسبة حلول السّنة الهجريّة 1437 ..أتقدم لجميع أعضاء منتدى أوفيسنا بأجمل التهاني و خالص الأماني .. راجيًا من المولى القدير أن يعيده على جميع السّادة الكرام أعضاء منتدانا و بيتنا الثاني خاصّةً و على جميع المسلمين عامّةً بالخير و اليُمن و البركات والستر والسعادة و حسن الخاتمة .. سنة هجرية جديدة سعيدة .. كل عام و أنتم بألف خير فائق إحتراماتي3 points
-
السلام عليكم اخي الكريم اذا اردت الاخوه يتفاعلوا مع طرحك ومشكلتك احسن طرح مشكلتك على سطر من الايضاح بهذا الشكل تريد ان نبحث عن المشكله حتى نجدها ثم نحلها كان الافضل منك ان تشرح نوع المشكله وفي اي حاله صادفتك المشكله انا تصفحت ملفك ولاارى فيه اي مشكله تظهر رسالة خطاء عند التنقل بين الواجهات المشكله انك تطلب الواجهه الاخراء قبل اخفاء التي تعمل عليها استخدمت استدعاء Form3.Show قبل امر اخفاء للحالي Me.Hide اطلع على المرفق علها تلك المشكله في ملفك تجربة3.rar3 points
-
السلام عليكم ورحمة الله وبركاته هذه هي العبارة الصحيحة التي يهنئ بها المسلمون بعضهم فعبارة كل عام وأنتم إلى الله أقرب هي أرجى وأفضل من عبارة كل عام وأنتم بخير فالخير يحصله القاصي والداني أما القرب فلا يحصله إلا من أراد الدار الآخرة وسعى لها سعيها.... والله أعلى وأعلم..والسلام عليكم. السّلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذي القدير محمد حسن المحمد على الشّرح و التّوضيح .. جزاك الله خيرًا و زادها بميزان حسناتك .. تقبّل مني سيدي الكريم فائق إحتراماتي3 points
-
السلام عليكم ورحمة الله وبركاته هذه هي العبارة الصحيحة التي يهنئ بها المسلمون بعضهم فعبارة كل عام وأنتم إلى الله أقرب هي أرجى وأفضل من عبارة كل عام وأنتم بخير فالخير يحصله القاصي والداني أما القرب فلا يحصله إلا من أراد الدار الآخرة وسعى لها سعيها.... والله أعلى وأعلم..والسلام عليكم.3 points
-
الطريقه الثانيه :- استخدام النطاقات المعرفه هنشوف دلوقتى من خلال الصورتين التاليتين ازاى بنعرف مدى ونسميه باسم محدد شاهد الصور ازاى بقى نستخدم هذه الاسم فى تعبئة الكمبوبوكس يوجد طريقتين 1- من شاشة الخصائص اثناء التصميم شاهد الصوره 2- من خلال كتابة الاكواد فى البرمجه مثلا فى حدث فتح الفورم Private Sub UserForm_Initialize() ComboBox1.RowSource = "اوفيسنا" End Sub كما تشاهدون اننا كتبنا اوفيسنا اللى هو اسم النطاق ولكن بين علامتى تنصيص " اوفيسنا " يالا يا شباب جربوا الدرس وابعتو الاجابه على موضوع الردود " اتمنى لكم التوفيق " ********************************************************************************************************** والى لقاء اخر مع الطريقه الثالثه انتظرونا يوجد مفاجأت3 points
-
جرب تحذف هذا الجزء من الكود Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next If Sheets(1).Range("a1").Value = 0 Then Cancel = True Else Cancel = False End If End Sub2 points
-
2 points
-
استاذ مختار استاذ وائل كل اساتذتى المحترمين بارك الله لكم تم العمل بفضلكم استاذ وائل الله يبارك لك تم واشتغل الله يفتح عليك الله يحفظك استاذ مختار شاكر لك فضلك واهتمامك بارك الله فيك احترامى لكم جميعا2 points
-
مشكور اخي صلاح لمرورك الكريم وهذه بعض التعديلات التي كانت تنقصه وجاري اعادة صياغته في شكل افضل برنامج مخازن بسيط.rar2 points
-
السلام عليكم و رحمة الله و بركاته أستاذي الغالي " الصقر " الملف الذي رفعته بالمرّة الأولى كان للأستاذ KHMB .. وجدته بموضوعك واشتغلت عليه ..فلم يشتغل معي الملف ربما ملفه كان بنسخة قديمة للأوفيس .. أنا الآن أشتغل على أوفيس 2010.. لم أقم بإعادة تنصيب الأوفيس ..قلت فقط قمت بفتح ملف جديد خالص ليس ملف الأستاذ KHMB ..فاشتغل الكود بطريقة ممتازة .. أرجو أني وضحت الفكرة .. فائق إحتراماتي لك سيدي القدير الملف.rar السّلام عليكم و رحمة الله و بركاته أستاذي القدير محمد حسن المحمّد حاول لو سمحت تجريب الكود في هذا الملف .. الملف.rar2 points
-
السّلام عليكم و رحمة الله و بركاته ألف شكر أستاذي الغالي ياسر خليل أبو البراء .. بارك الله فيك و جزاك الله خيرًا .. و زادك من علمه و فضله .. معك مليون حق أستاذي الكريم .. أعدت الكتابة في ملف جديد و نسخة جديدة فاشتغل الكود بصورة طبيعيّة .. أعتذر لك .. رصيدي نفذ من الإعجابات لهذا اليوم .. تمام التمام يا غالي ..سأنتقل بإذن الله إلى الخطوة الموالية بسلسلة دروسك حول الترحيل .. ربّنا يكرمك زي ما أنت بصدد إكرامنا بما منّ الله عليك ..جزاك الله خيرًا و زادك من علمه و فضله إحتراماتي سيّدي القدير " الصّقر "2 points
-
2 points
-
استاذى الحبيب ابويوسف جزاكم الله خيرا بمجرد مرورك على الموضوع انت والاخ عبدالعزيز فهو شرف لى وبخصوص طلبك اوعدك ان شاء الله بس نخلص ما بدأناه من موضوع شروحات الفورم فكما تعلم ان الموضوع كبير ويحتاج وقت والحمد لله احنا ماشين بخطوات ثابته وقطعنا مسافه لا باس بها ملحوظه : - للاسف انا فوجئت ان الصور بتاعت الشروحات للترحيل غير ظاهره يبدو انه مشكله من المشاكل عند تطوير المنتدى تقبل تحياتى2 points
-
السلام عليكمالسلام عليكم اللاخ ياسر خليل والاخ وائل المصرى جزاكم الله كل الخير تم حل الموضوع بعد الرجوع لتوصياتكم جزاكم الله كل الخير2 points
-
السلام عليكم أخي الصقر..إخوتي الكرام كما تعودنا على كرمكم بإعطاء المعلومة الصحيحة فإننا الآن نطمع بكرمكم بإعادة تلخيصها بموضوع منفصل تكون الكتابة للموضوع والبحث ضمن مقرر والمشاركات وإبداء الإعجاب في موضع آخر ...إن أمكن ولكن دعنا نحافظ على تسلسل أفكارنا وإلا سيحتاج الهارد وير إلى فورمات ورامات جدد ... كل جديد به إبداع ...لله دركم...وفقكم الله... دائماً تسبقني أخي عبد العزيز...نحن نخوض غمار تيار واحد ولكن شتان بين من يرفع شراع وآخر يحلق بجناحيه. والسلام عليكم2 points
-
2 points
-
2 points
-
بسم الله الرحمن الرحيم الاخوة الزملاء فى هذا الصرح العظيم اقدم لكم الدرس الثانى من علمنى كيف اصطاد شرح مبسط عن كيفية عمل كود ترحيل من خلايا متفرقه بورقه عمل الى ورقة عمل اخرى بناء على طلب الاخ الكريم / بيف الدين حسام يريد معرفه كيفية عمل كود ترحيل من سند قبض الى شيت الخزينة كما هو موضح بالصور المطلوب ترحيل الخلايا المظلله باللون الاصفر بورقه عمل (توريد) الى ورقة عمل حركة الخزينة اولا : الضغط على ALT+F11 لفتح محرر الاكواد ثم من قائمة insert نختار مودويل جديد سيظهر لنا شاشة بيضه هنبداء بسم الله كتابة الكود Sub ترحيل() End Sub السطر الاول هو الاعلان عن بداية الكود sub يلية اسم الكود وهو ترحيل يلية () يعنى فتح قوس ثم غلقه فبمجرد كتابة السطر الاول سوف يتم ظهور السطر الثانى وهو End sub أنا عايز كل واحد يكتب الكود بنفسة مش ينسخ / من فضلك عايزك تكتب ثانيا : كتابة هذا السطر Sub ترحيل() Application.ScreenUpdating = False End Sub هذا السطر يعنى تثبيت الشاشه عند الترحيل ( يعنى عدم اهتزاز الشاشه اثناء تطبيق الكود ) ثالثا : ايه المطلوب هو ترحيل الخلايا المظلله باللون الاصفر بورقه عمل توريد الى ورقة عمل حركة الخزينة اذن الشيت اللى هتروح له البيانات هو شيت حركة الخزينة وهو اسمه حسب الملف المرفق وكما هو موضح بالصورة Sheet4 وليس حركة الخزينة ملحوظه/عند استخدم اسم شيت باى كود يفضل كتابة اسم الشيت الثابت كما هو بمحرر الاكواد لانه احتمال تغيير اسم الشيت من (حركة الخزينة) الى (قاعدة البيانات )مثلا فى هذه الحاله لا يعمل الكود نرجع للكود بتاعنا ونضيف الاتى Sub ترحيل() Application.ScreenUpdating = False With Sheet4 End With End Sub ما تم اضافته هو With Sheet4 كلمة With معناها الحرفى ( مع) أى مع الشيت Sheet4 لماذا استخدمنا Sheet4 وليس ( حركة الخزينة) لان لو كتبنا (حركة الخزينة With) وجيت حضرتك وغيرت اسم الشيت من حركة خزينة الى قاعدة البيانات مثلا لا يتغير اسم الشيت فى محرر الاكواد فهو هيظل ثابت باسم Sheet4 وفى هذه الحاله لا يعمل الكود لانه هيبجث عن شيت حركة الخزينة هيكون غير موجود لكن لو استخدمت With Sheet4 مهما تغير اسم الشيت هيشتغل الكود طيب اى شئ بفتحه فى الاكسيل لازم اقفله انا دلوقتى فتحت With Sheet4 اذن لا بد من قفل With بـــ End With رابعا : اضافه السطر التالى Sub ترحيل() Application.ScreenUpdating = False With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row End With End Sub الجديد هو هذا السطر Lr = .Cells(.Rows.Count, "D").End(xlUp).Row عملنا متغير اسمه LR ويمكنك تغيير الى ما تريد من الاحرف حسب مزاجك حضرتك طيب وعرفناه انه عبارة عن اخر خليه بها بيانات فى عمود D من شيت حركة الخزينة وهى هنا كما هو بالصورة عليه الخلية D4 مكتوب فيها " رصيد افتتاحى" واحد هيقولى مش فاهم هوضح له اكتر مثلا عايز اقول ان " الاستاذ الكبير العلامه ياسر خليل العبقرى" = r فبدل كل شوية ما اكتب الجمله دى " الاستاذ الكبير العلامه ياسر خليل العبقرى " وتاخد منى وقت استعيض عنها بى r فقط / على طول الكود هيفهم معناها خامسا : اضافه السطر التالى Sub ترحيل() Application.ScreenUpdating = False With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row .Cells(Lr + 1, "A") = [D8] End With End Sub ما هو الجديد الجديد هذا السطر [Cells(Lr + 1, "A") = [D8. ماذا يعنى الجزء الاول و هو.("Cells(Lr + 1, "A. (العمود, الصف)Cells. الصف هو Lr+1 يعنى Lr هى اخر صف فى العمود D من شيت حركة الخزينة فيه بيانات ( طيب انا عايز بقى السطر اللى بعده يبقى اقول Lr+1 طيب والعمود هو A وتم كتابته بين علمتى تنصيص "A" ( شيفت + حرف الطاء بالكيبور) طيب عمود A ده عايزين يروح له التاريخ اللى بسند القبض / والتاريخ اللى بسند القبض موجود بالخلية D8 صح اذن اقول [Cells(Lr + 1, "A") = [D8. وهكذا كما هو موضح بالكود يتم ترحيل كامل بيانات السند ثم نغلق With ب End With Sub ترحيل() Application.ScreenUpdating = False With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row .Cells(Lr + 1, "A") = [D8] .Cells(Lr + 1, "B") = [G7] .Cells(Lr + 1, "D") = [D10] .Cells(Lr + 1, "G") = [d11] .Cells(Lr + 1, "E") = "=R[-1]C+RC[2]-RC[1]" End With End Sub اضغط على زر الترحيل ستجد البيانات تم ترحيلها ارجوا من الله ان اكون وفقت فى هذا الشرح ويستفيد منه الجميع ان احسنت فمن الله وما توفيقى الا بالله وان اخطأت فمن نفسى والشيطان وارجوا من الاساتذه الافاضل مراجعه الشرح وتصحيح ما به من أخطأ ولى رجاء من ادارة المنتدى جعل التعديل على الشرح متاح لى حتى يتثنى لى اضافه بعض الاشياء الاخرى تخص نفس الموضوع انا استكفيت بهذا القدر حتى يكون سهل على الاعضاء اللى عايز يطبق وان شاء الله سوف نكمل ما بدأناه تقبلوا منى وافر الاحترام والتقدير خزينة.zip1 point
-
بسم الله الرحمن الرحيم وبه نستعين إخوانى الاعزاء السلام عليكم ورحمته الله وبركاته بناءا على طلب أحد الزملاء الافاضل بهذا الصرح المبارك عبرالخاص وحتى تعم الفائده للجميع أقدم لسيادته وللساده الاعضاء هذا البرنامج وهو يصلح للسادة العاملين بمصانع القطاع الخاص حيث تم ربط الاجر بالحضور والانصراف ويتم التسجيل هنا بصفة يومية وعلى مدار شهرالاستحقاق لكل عامل وهو مقسم على ثلاثة مراحل حسب وضع كل عامل بهذا المصنع المرحلة الاولى مرتبطة بالاجر الاساسى الشهرى المتفق عليه وهو محدد بعدد الساعات الاصلية للعمل المرحلة الثانية مرتبطة بالاجرالاضافى وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل المرحلة الثالثة مرتبطة بالاجرالاضافى للسهرات الليلية وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل يشمل البرنامج أيضا الجزاءات التى تقع على العامل ويمكن تعديلة حسب نظام كل شركة يشمل البرنامج أيضا اأيام الغياب لكل عامل بالشركة ففى حالة سماح أيا من رصيد العامل لآجازنه الاعتيادية أو أجازنه العارضة فلايتم خصم أية مبالغ من هذا العامل إلا فى حالة نفاذ تلك الارصدة فتقع عليه أيام الغياب بالخصم يشمل أيضا السلف الذى يتقاضاها العامل على مدارالشهرعلى أن يتم خصمها من اجمالى راتبه اليومى وهناك المزيد نسألكم الدعاء.... تقبوا وافر احترامى .... وجزاكم الله خيرا1 point
-
السّلام عليكم و رحمة الله و بركاته أخي الفاضل أبو أحمد 17475 .. إضافة لما تفضّل بشرحه الأستاذ القدير العيدروس .. جزاه الله خيرًا و زادها بميزان حسناته .. مادام الملف باسم تجربة كان يمكن أن تجرّب بنفسك إظهار الفورم 3 من هذه الجزئية مثلما في الصورة : هناك مشكلة أخرى ظهرت لي وهي بعد فتح الملف لا يمكن الخروج منه إطلاقًا من علامة الإِكْسْ ..فاضطررت لغلق الجهاز و إعادة تشغيله .. وافر احتراماتي1 point
-
أخي الكريم ناصر إذا كانت النقطة الأخرى تخص الطلب نفسه فلا مانع من طرحها هنا أما إذا كان الطلب مختلف عن الطلب الأصلي فأرجح طرح موضوع جديد ولي وجهة نظر في ذلك : لنفترض أن أحد الخبراء اطلع على الموضوع الآن وقمت حضرتك بطرح نقطة جديدة .. العضو الخبير سيضطر إلى متابعة جميع المشاركات إلى أن يصل إلى المشاركة الأخيرة حتى يفهم الموضوع بشكل جيد ويحاول تقديم المساعدة فيه .. وفي هذا تضييع لوقت العضو الذي يريد المساعدة ناهيك أنه عندما يجد مشاركات كثيرة بالموضوع فقد ينتابه الكسل وينتقل لموضوع آخر دون أن يلتفت إلى الموضوع الحالي ذكرت ذلك لأن الكثيرين يتضايقون من طرح موضوع آخر ، أحببت أن أوضح السبب في الأفضلية هذا مجرد رأي شخصي لأنني كاي عضو عندما أجد مشاركات كثيرة في موضوع لم أكن متابعاً له منذ البداية أجد صعوبة في تقديم المساعدة إذ أنه وجب علي في هذه الحالة أن أتابع الموضوع منذ بدايته .. وقد لا يتوفر الوقت في كثير من الأحيان لفعل ذلك أرجو تقبل الأمر من الجميع ... تقبلوا وافر تقديري واحترامي1 point
-
أخي الكريم الأمين مرحباً بعودتك ولا بأس طهور إن شاء الله في المنتدى يوجد تعلم الصيد والأسماك الجاهزة كلاهما متوفر فقط وضح المطلوب بملف مرفق ثم اطلب المساعد فستجدها إن شاء الله تقبل تحياتي1 point
-
أخي الكريم أهلاً بك في المنتدى ونورت بين إخوانك العفاريت يا جن يا جن .. وضعت لك في حدث المصنف كود يقوم بإظهار أوراق العمل المخفية عند فتح المصنف Private Sub Workbook_Open() Dim SH As Worksheet For Each SH In Worksheets SH.Visible = True Next SH End Sub شوف الملف المرفق الكتب.rar1 point
-
كل عام والامه الاسلاميه جمعيها في خير وسعاده وسلام وادعو الله ان يجعل الاعوام القادمه تحمل كل مايسرالمسلمين جميعهم وانا عن نفسي بدأت السنه الجديده بمولود جديد1 point
-
تمام اخى الفاضل ياسر البرنامج اكثر من رائع .... فى ميزان حسناتك ان شاء الله1 point
-
1 point
-
الملف المرفق لم يعمل معي ايضا هنا في العمل علي اوفيس2007 غير بقي ياعم صقر الاوفيس1 point
-
لما بفتح الملف بيظهر معى كدا ان شاء الله اشوف المشكله او انى اسطب اوفيس جديد شكرا يا ابوالبراء1 point
-
الملف المرفق في مشاركة الأخ عبد العزيز يعمل بشكل جيد قد تكون المشكلة لديك في الأوفيس (ActiveX Control) جرب تعيد تنصيب الأوفيس أو غير النسخة نفسها لنسخة أحدث1 point
-
متحاولش تهرب .. إنت وقعت في المطب وهنسمع صوتك إن شاء الله أكيد إحنا هنستحمله متقلقش ..1 point
-
1 point
-
1 point
-
تفضل اخي الغالي قمت بازالة اكواد تعديل الفورم اظن مشكلتك معها وجعلت حجمه مناسب وقريبا سيتم التعديل علي البرنامج لتحسينه برنامج مخازن بسيط.rar1 point
-
أخي الكريم أناناس (ممكن نغير الفاكهة نخليها رمان عشان بعز الرمان حبتين) إليك الكود التالي عله يفي بالغرض (وإن كنت أرى أن كود الأخ أبو عيد حفظه الله يعمل بشكل جيد ) ، ولكن من باب إثراء الموضوع جرب الكود Sub MAIN() 'تعريف المتغيرات Dim I As Long 'إلغاء خاصية اهتزاز الشاشة Application.ScreenUpdating = False '[H2] وتنتهي بالقيمة الموجودة في الخلية [H1] حلقة تكرارية تبدأ من القيمة الموجودة في الخلية For I = Range("H1") To Range("H2") '[I] تساوي قيمة المتغير [F1] الخلية Range("F1") = I 'بدء التعامل مع ورقة العمل النشطة With ActiveSheet '[DATA] ونطاق البحث ورقة البيانات [F1] تساوي قيمة دالة البحث عن القيمة الموجودة في الخلية [C1] الخلية 'يتم البحث في ورقة البيانات في العمود الثاني .Range("C1").Value = Application.WorksheetFunction.VLookup(.Range("F1").Value, Sheets("DATA").Range("A2:C19"), 2, 0) '[DATA] ونطاق البحث ورقة البيانات [F1] تساوي قيمة دالة البحث عن القيمة الموجودة في الخلية [C1] الخلية 'يتم البحث في ورقة البيانات في العمود الثالث .Range("C2").Value = Application.WorksheetFunction.VLookup(.Range("F1").Value, Sheets("DATA").Range("A2:C19"), 3, 0) 'إلغاء الفلترة في ورقة العمل النشطة .AutoFilterMode = False '[C1] بشرط القيمة في الخلية [E] فلترة البيانات على الحقل الرابع أي العمود .Range("B5:F5").AutoFilter Field:=4, Criteria1:=.Range("C1").Value '[C2] بشرط القيمة في الخلية [F] فلترة البيانات على الحقل الخامس أي العمود .Range("B5:F5").AutoFilter Field:=5, Criteria1:=.Range("C2").Value '[F1] إذا كانت قيمة المتغير أصغر من القيمة الموجودة بالخلية If I <= .Range("F1") Then 'إعادة الحسابات في ورقة العمل النشطة كنوع من التحديث للبيانات .Calculate '[PrintOut] بكلمة [PrintPreview] معاينة ورقة العمل وتتم الطباعة باستبدال كلمة ActiveWindow.SelectedSheets.PrintPreview End If 'إلغاء الفلترة في ورقة العمل النشطة .AutoFilterMode = False End With 'الانتقال لقيمة المتغير التالية Next I 'إعادة تفعيل خاصية اهتزاز الشاشة Application.ScreenUpdating = True End Sub تقبل تحياتي1 point
-
1 point
-
1 point
-
اخي محمد: الاكسس 2013 يمكنه تحقيق المراد حسب ارشادات الرابط التالي https://translate.google.com.kw/translate?hl=ar&sl=en&u=http://www.groovypost.com/howto/word-excel-2013-save-to-pdf-password-protect-documents/&prev=search1 point
-
1 point
-
جرب هذا الكود Sub Test() Dim Col As New Collection, Arr, I As Long, J As Long On Error Resume Next Arr = Sheet1.Range("A7").CurrentRegion.Value For I = 2 To UBound(Arr, 1) For J = 2 To UBound(Arr, 2) Col.Add Key:=Arr(1, J) & Chr(2) & Arr(I, 1), Item:=Arr(I, J) Next J Next I With Sheet2.Range("A7").CurrentRegion Arr = .Value For I = 2 To UBound(Arr, 1) For J = 2 To UBound(Arr, 2) Arr(I, J) = Col(Arr(1, J) & Chr(2) & Arr(I, 1)) Next J Next I .Value = Arr End With End Sub1 point
-
السلام عليكم و رحمة الله و بركاته اخي حسين قبل روئية موضوع الجديدة ، رفعت مثال آخر من البرنامج و ارفعه هنا ايضا في نهاية المشاركة و التعديل هذا بناءا على اشارة استلذ رمهان (اباجود) الى عدد اصناف ، زيادة اصناف ممكنة و سهل جدا من نفس نماذج ثلاثة لا اكثر ولكن من المعروف وضع ازرار بإسماء اصناف من اجل سرعة فى اختيار الصنف في حالة هذا يجب لا يتجاوز عدد ازرار من 20 الى 30 زر ، لنفترض جعلنا صفحة كاملة زراريز يبلغ عددهم 200 مثلا ، من الصعب حصول على صنف المطلوب بين 200 صنف اكيد يرجع سهولة ايجاد الصنف من خلال قائمة عادية و البحث بجزء اسم الصنف . 54Items.rar و من اجل احتفاظ بازرار و ا البحث بجزء الاسم، سيكون تطبيق الفكرة على مثال التالي ان شاء الله .1 point
-
أخى الكريم الكود ككل مكون من عدة أكواد وليس كل الاكواد تربط بزر الكود Auto_Open و Auto_Close و kh_wVisible و ToggleCutCopyAndPaste و EnableMenuItem و CutCopyPasteDisabled لا تربط بأى أزرار فالكود مصمم بطريقة متشابكة يعنى كود يستدعى كود آخر فمثلا عند فتح الملف Auto_Open يشتغل لاخفاء القوائم لكى لا نستعمل القوائم فى القص والنسخ واللصق وعند غلقه Auto_Close يشتغل ليرجع الحال كما كان وكلاهما يستدعى ToggleCutCopyAndPaste لتعطيل عمليات النسخ والقص واللصق بلوحة المفاتيح ما يربط بزر كودان فقط EnableCutcopypaste و DisableCutcopypaste تحياتى1 point
-
السلام عليكم الملف المفقود MSCAL.OCX بعد فك الضغط عن المرفق يوضع فى المسار التالى C:\Windows\System32 شغل الملف تحياتى MSCAL.zip1 point
-
1 point
-
أخي الكريم الكود التالي Sub GetId() Dim Cell As Range, Rng As Range 'سطر لتجنب الخطأ في حالة عدم العثور على نتائج On Error Resume Next 'تعيين نطاق البيانات في ورقة البيانات الرئيسية Set Rng = Sheet1.Range("B3:C" & Sheet1.Cells(Rows.Count, 2).End(xlUp).Row) 'عمل حلقة تكرارية لكل خلية من خلايا النطاق المراد إظهار النتائج به ، في العمود الثالث For Each Cell In Sheet2.Range("C4:C" & Sheet2.Cells(Rows.Count, 2).End(xlUp).Row) 'قيمة الخلية تساوي نتيجة البحث عن الخلية المجاورة في نطاق البيانات ، ويكون الحبث في خانة العمود الثاني Cell.Value = Application.WorksheetFunction.VLookup(Cell.Offset(0, -1), Rng, 2, False) Next Cell End Sub الكود مرفق بالشرح .. ما هو التعديل المطلوب .. حاول ترفق ملفك لتكون الأمور أوضح إذا كنت تقصد نطاق البيانات يبقا التعديل أمره بسيط هتشوف صف البداية وليكن كما في الكود الصف الثالث والأعمدة زي ما ذكرت بدايتها العمود C ونهايتها العمود Z إذاً التعديل يكون في سطر تعيين نطاق البيانات بهذا الشكل Set Rng = Sheet1.Range("C3:Z" & Sheet1.Cells(Rows.Count, 3).End(xlUp).Row)1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته...أرى من خلال محبتكم وتأثركم بقدان الأستاذ الحسامي أدعو له بالرحمة والمغفرة...أرى أن أعرض حديثاً شريفاً يفيض بالرجاء فإن أحب الله عبداً حبب الناس به إليكم الحديث الشريف... حدثنا آدم حدثنا شعبة حدثنا عبد العزيز بن صهيب قال سمعت أنس بن مالك رضي الله عنه يقول مروا بجنازة فأثنوا عليها خيرا فقال النبي صلى الله عليه وسلم وجبت ثم مروا بأخرى فأثنوا عليها شرا فقال وجبت فقال عمر بن الخطاب رضي الله عنه ما وجبت قال هذا أثنيتم عليه خيرا فوجبت له الجنة وهذا أثنيتم عليه شرا فوجبت له النار أنتم شهداء الله في الأرض1 point
-
الاخوة الكرام اقدم لكم بقية لدرس الترحيل كيفية وضع شروط تجبر المستخدم على ادخال بيانات مما لا شك فيه ان سند القبض اللى بصورة التالية لابد من ادخال جميع البيانات اللى بالسند وهى المظلله باللون الاصفر رقم الايصال بالخلية [G7] تاريخ السند بالخلية [D8] الجهه التى تم القبض منها بالخلية [D10] المبلغ المقبوض بالخلية [D11] ان شاء الله اليوم بنتعرف كيف يمكن اجبار المستخدم على ادخال البيانات قبل ترحيلها فلا يعقل مثلا ان يقوم المستخدم بعدم كتابه تاريخ للسند ويترك الخلية فارغه بدون تاريخ ثم يقوم بالترحيل لازم اجبره على ادخال التاريخ اولا: اجبار المستخدم على ادخال رقم الايصال بالخلية [G7] هنستخدم السطر التالى بالكود If [g7] = "" Then MsgBox "الرجاء ادخال رقم الايصال": Exit Sub هذا السطر يتم اضافتة بعد هذا السطرمن الكود Application.ScreenUpdating = False ليصبح هكذا Sub ترحيل() Application.ScreenUpdating = False If [g7] = "" Then MsgBox "الرجاء ادخال رقم الايصال": Exit Sub With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row .Cells(Lr + 1, "A") = [D8] .Cells(Lr + 1, "B") = [g7] .Cells(Lr + 1, "D") = [D10] .Cells(Lr + 1, "G") = [d11] .Cells(Lr + 1, "E") = "=R[-1]C+RC[2]-RC[1]" End With End Sub تعالى بقى نشرح معنى هذا السطر If [g7] = "" Then MsgBox "الرجاء ادخال رقم الايصال": Exit Sub هذا السطر من الكود معناه ببساطه كدا ان لو الخلية [g7] فارغه اكتب رساله تظهر للمستخدم تنبهه بان الخلية فارغه ويجب ادخالها و اخرج من الكود ومتكملش الشىئ الذى تريد تنفيذه then الشرط المطلوب التحقق من وجوده if استخدمنا هنا IF وذالك لعمل شرط قبل عملية الترحيل وهى كما نعرف جميعا ان iF معناها لو then معناها تنفيذ الشرط الذى نريده كما اتفقنا من قبل هو عدم ترك الخلية [g7] فارغه اللى بيسجل بها رقم الايصال الكود هيقوم باختبار الشرط التالى "" = [if [g7 "" العلامه هذا بالكود تعنى فارغ ( فلو [g7] تساوى فارغ نفذ كذا كذا ) نفذ دى فى الكود هى Then وسيكون لونها بالكود ازرق هينفذ ايه بقى انا عايزة يظهر رساله وهى " الرجاء ادخال رقم الايصال" ونلاحظ انها مكتوبه بين علمتى تنصيص ( تكتب من خلال شيفت + حرف ط بالكيبور) وهينفذ ايه تانى غير الرساله هينفذ خروج من الكود ميكملش يعنى ودى بتكون exit sub : وبعدها كتابتها ستجد ان لونها اصبح ازرق لمتابعه شرح عن كتابة الرسائل فى لغة البرمجه يرجى مراجعه الرابط التالى ستجد شرح باستفاضه http://www.officena.net/ib/index.php?showtopic=57199&hl= ) ثانيا : عايزين نجبر المستخدم على ادخال التاريخ If [d8] = "" Then MsgBox "الرجاء ادخال تاريخ لسند القبض": Exit Sub هو نفس السطر السابق بس بنختبر الخليه [d8] فيها تاريخ ام لا ثالثا : اجبار المستخدم على ادخال الجهه التى تم الاستلام منها If [d10] = "" Then MsgBox "الرجاء ادخال اسم الشخص الذى تم الاستلام منه": Exit Sub رابعا: اجبار المستخدم على ادخال المبلغ المقبوض If [d11] = "" Then MsgBox "الرجاء ادخال المبلغ المقبوض": Exit Sub وهيكون الكود فى شكله النهائى كالتالى Sub ترحيل() Application.ScreenUpdating = False If [g7] = "" Then MsgBox "الرجاء ادخال رقم الايصال": Exit Sub If [d8] = "" Then MsgBox "الرجاء ادخال تاريخ لسند القبض": Exit Sub If [d10] = "" Then MsgBox "الرجاء ادخال اسم الشخص الذى تم الاستلام منه": Exit Sub If [d11] = "" Then MsgBox "الرجاء ادخال المبلغ المقبوض": Exit Sub With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row .Cells(Lr + 1, "A") = [d8] .Cells(Lr + 1, "B") = [g7] .Cells(Lr + 1, "D") = [d10] .Cells(Lr + 1, "G") = [d11] .Cells(Lr + 1, "E") = "=R[-1]C+RC[2]-RC[1]" End With End Sub يعنى الكود قبل الترحيل هيعمل اربع اختبارات الاول هيمسك اول سطر بتاع رقم الايصال لو موجود ينتقل للسطر اللى بعده ولو مش موجود هبخرج من الكود ومش هيكمل وهكذا ما باقى الاسطر الين يتحقق من وجود بينات بالاربع خلايا ثم يقوم بعمليه الترحيل خامسا : هل يمكن عمليه الاختبار بسطر واحد بدلا من اربع اسطر نعم يمكن ذالك من خلال السطر التالى If [g7] = "" Or [d8] = "" Or [d10] = "" Or [d11] = "" Then MsgBox "الرجاء ادخال جميع بيانات السند": Exit Sub هنا تم استخدام داله OR وهى تعنى أو لو الخلية اللى بها رقم الايصال فارغه أو الخلية اللى بها التاريخ فارغه او الخلية اللى بها الجهه التى تم استلام المبلغ منها أو الخلية اللى بها المبلغ فارغه نفذ رساله ثم اخرج من الكود ومتكملش ويكون الكود بشكله النهائى كالتالى Sub ترحيل() Application.ScreenUpdating = False If [g7] = "" Or [d8] = "" Or [d10] = "" Or [d11] = "" Then MsgBox "الرجاء ادخال جميع بيانات السند": Exit Sub With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row .Cells(Lr + 1, "A") = [d8] .Cells(Lr + 1, "B") = [g7] .Cells(Lr + 1, "D") = [d10] .Cells(Lr + 1, "G") = [d11] .Cells(Lr + 1, "E") = "=R[-1]C+RC[2]-RC[1]" End With End Sub وفى النهاية ارجوا ان اكون وفقت بالشرح واتمنى ان يستفيد منه الجميع تقبلوا منى وافر الاحترام والتقدير1 point
-
السلام عليكم ..... ممكن مساعدة فى معرفة ازاى استدعى ورقة فى شيت من خلال زر ف الفورم وازاى ارحل محتويات texbox بخانه فى ورقه فى شيت من خلال زر فى الفورم وازاى اعمل يوزر نيم وباسورد للفورم عند الدخول وازاى استدعى بيانات من ورقة فى الشيت لتظهر فى مجموعه خانات فى الفورم بمجرد ما ادخل كود ف الفورم انا عارف انى طلبات كتير بس ان شاء الرحمن اكيد هلاقى عندكم الحل وان شاء الله وهتعلم منكم الكتير انا مش هرفع اى ملف عشان عايز اتعلم ازاى انفذها بنفسى وجزاكم الله خير السلام عليكم1 point