بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 10 ماي, 2016 in all areas
-
الاخوة الكرام واساتذتى فى هذا الصرح العلمى أستكمالا لهذا الموضوع على الرابط التالى أقدم لكم اليوم مؤثر حركى جديد لفتح الفورم على طريقة أفتح الباب يا سمسم بس ياريت ياأبوالبراء لو فتحت الباب وكان فى حد بالحمام تقفل الباب تانى تستنا لحد ما يرجع طنطا أرجو ان ينال أعجابكم تقبلوا جميعا تحياتى مؤثرات فتح الفورم على طريقة فتح الباب.zip4 points
-
السلام عليكم ورحمة الله أخي الكريم، تم عمل المطلوب بمعادلة تم سحبها إلى آخر عمود في الشيت... بن علية الارقام معكوسة.rar4 points
-
3 points
-
اسمحو لي بالمشاركة =IF(COLUMN()>COUNTA(5:5);"";INDIRECT(ADDRESS(5;COUNTA(5:5)+2-COLUMN())))3 points
-
أخي الكريم عبد العزيز بارك الله فيك على الموضوع ، ولكن اعلم أنك طرحت الموضوع من قبل .. راجع موضوعاتك من فترة ... عموماً قمت بالإطلاع على الموضوعين وأضفت من عندي المزيد ، ليصبح مجموع الحلول المقدمة 6 طرق (ثلاثة طرق بالمعادلات وثلاثة طرق بالأكواد) وإليك رابط الموضوع الذي يحتوي الملف المرفق الجامع للطرق الستة إن شاء الله ملحوظة : قد لا تكون الطرق كلها مرنة بحيث تتناسب مع طلبك بشكل كامل ولكن بالتأكيد يوجد طرق مرنة ..عليك التجربة واختر ما يناسبك الرابط من هنا تقبل تحياتي3 points
-
أخي كرار يمكن حل مشكلة بطريفة أخرى و هي :إضافة هذا الكود في الحدث عند الفتح Application.SetOption " behavior entering field", 2 بحث.rar3 points
-
بسم الله الرحمن الرحيم ... و الصلاة و السلام على نبينا الكريم ... و على آله و صحبه الطيبين الطاهرين ... و الحمد لله رب العالمين , أما بعد ... السلام عليكم و رحمة الله و بركاته ... اقدم شكري و تقديري الى ادارة الموقع على الترقية , و إن شاء الله أكون على قدر المسؤولية ... كما أقدم شكري و إمتناني الى كل الأساتذة الكرام و الاعضاء المحترمين في هذا المنتدى الاكثر من رائع , على كرمهم في العلم و الوقت , فكل ما أعرفه عن الاكسس و البرمجة قد تعلمته منكم , فشكرا لكم جميعا ...2 points
-
السّلام عليكم و رحمة الله و بركاته أحبّتي الأكارم .. هذه إحدى الطّرق لاستعراض البيانات القاعديّة على اليوزرفورم .. العملية ليست جديدة و إنّما أردت فقط أنْ يكون تفكيري على منتديات " أوفيسنا " .. ونتقاسم الأفكار مع الأحبّة الكيفية مشروحة بالكود داخل الملف أدناه .. فائق إحتراماتي استعراض البيانات.rar2 points
-
السلام عليكم استعمل اخي هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 14 And Target.Row > 2 Then If IsDate(Target.Value) = True Then For i = 1 To 9 Target.Offset(, i) = DateAdd("m", i, Target.Value) Next End If End If End Sub عندما تكتب التاريخ ، باقي التواريخ تسجل تلقائيا2 points
-
أخي الكريم وائل شعبان حسب طلبك وملفك المرفق إليك الكود التالي (رغم أنني أعلم أن الموضوع ما زال غير مكتمل أركان التوضيح الكامل وأعلم أن هناك توابع نظراً لقصور التوضيح) .. واوعى تزعل من كلامي .. Sub Search_Using_Arrays() Dim Arr, Temp, I As Long Const strWord As String = "التجربة" Arr = Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row).Value ReDim Temp(1 To UBound(Arr, 1), 1 To 1) For I = 1 To UBound(Arr, 1) If InStr(Arr(I, 1), strWord) > 0 Then Temp(I, 1) = strWord End If Next I Range("A2").Resize(UBound(Temp, 1), UBound(Temp, 2)).Value = Temp End Sub تقبل تحياتي Search For Specific Text Using Arrays YasserKhalil.rar2 points
-
العفو اخي اولا .. هناك اكثر من طريقة لاخفاء الاصفار . لكني افضل هذه ثانيا .. تنسيق الخلايا يتكون من اربع تنسيقات .. الاعداد الموجبة - الاعداد السالبة - الاصفار - النصوص .. علي الترتيب ... ويفصل بينها بفاصلة منقوطة ماقمت به هو تنسيق الاصفار علي الشكل "" اي فراغ اتمنى ان يكون الشرح وافي .. تحياتي2 points
-
السلام عليكم ورحمة الله وبركاته اخوانى واحبابى وحشتونى كتير والله ارفق لكم ثلاثة امثله مفتوحه المصدر منقوله للامانه وان شاء الله ابو اسيل الغالى يتفحصها كويس ويعملها لينا دروس نستفاد منها اكتر BankManagementSystem.VB.net ChatApplication.VB.net WebBrowser.VB.net تمنياتى لكم بالتوفيق وجزاكم الله كل خير2 points
-
أخي الكريم أحمد الحمد لله أن تم طلبك على خير ، يرجى تغيير اسم الظهور للغة العربية الأخوة الكرام عبد السلام وسليم بارك الله فيكما وجزيتما خيراً على هذه المعادلات الرائعة والجميلة ، زادكما الله علماً وحلماً تقبلوا تحياتي2 points
-
بعد اذن اخي صديقي بن علية هذه المعادلة (تسجب من البسار الى اليمين) =INDEX($B$5:$H$5,COLUMNS(B5:$H$5))2 points
-
بعد اذن اخي غبد السلام معادلة اخرى مطلوب بحث عن رقم الخلية salim.rar2 points
-
السلام عليكم أخي الحبيب الصقر بارك الله بك وبأفكارك النيرة التي تتحفنا بها ...فقد تعودنا على كرمكم وحسن خلقكم ... جزاكم الله خيراً.2 points
-
استاذى الفاضل أبويوسف الاروع هو مرورك العطر على فكره جاء فى بالى دلوقتى ان كان ممكن اعملها بفورم واحد من خلال ليبل هتكون اشيك ان شاء الله هنفذها وارفع بالمنتدى بأذن الله تقبل تحياتى2 points
-
السلام عليكم ورحمة الله وبركاته أخي الحبيب الصقر ما شاء الله لا قوة إلا بالله ...رائع وعصري... تقبل تحياتي العطرة والسلام عليكم ورحمة الله وبركاته2 points
-
شكرا لاخونا صالح حمادي وبعد اذنه استبدل الرقم الظاهر في آخر الكود : الرقم 2 للذهاب الى أخر الحقل الرقم 1 للذهاب الى اول الحقل الرقم صفر لتحديد الحقل بالكامل ولزيادة المعلومات وربط المتجانسات : هنــــا وهنـــــا2 points
-
جرب هذا الكود :كلمة السر Salim هذا الكود يسمح لك بتحديد الخلية التي تحتوي غلى معادلة فقط (دون اي اجراءات اخرى مسح /تعديل /تلوين ...الخ) Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.Unprotect Password:="Salim" If Target.HasFormula Then With Target .Locked = True .FormulaHidden = True End With ActiveSheet.Protect Password:="Salim" End If End Sub2 points
-
السلام عليكم ميزة رائعة جزاكم الله خيراً أخي العزيز الزباري..والشكر موصول للأخ العزيز محمد الريفي الذي عرض لنا طريقة الـ Flash Fill تقبل تحياتي العطرة والسلام عليكم.2 points
-
نسخ التنسيق السلام عليكم ورحمة الله وبركاته إخوتي الكرام مجرد ومضة : كيف ننسخ التنسيق ونلصقه في عمود أو صف؟ نحدد الخلية المراد نسخ تنسيقها ثم نضغط Click ثم Ctrl+Shift+سهم للأسفل أو الأعلى عندما ترغب لصقها في عمود حسب موقع الخلية من العمود. أو Ctrl+Shift+سهم لليمين أو اليسار عندما ترغب لصقها في صف حسب موقع الخلية من الصف. ويمكننا أيضاً نسخ التنسيق بضغطتين لاستخدام لصقه عدة مرات أو في خلايا متفرقة أرجو أن يثري إخوتي الموضوع بما لديهم من علمٍ يخص نسخ التنسيق ولصقه. والسلام عليكم ورحمة الله وبركاته.2 points
-
السلام عليكم ورحمة الله وبركاته ..إخوتي الكرام أخي الكريم تيبازي ...جزاكم الله خيراً على الكلمات الطيبة وعلى حسن الظن بإخوانكم أما إخوتي عبد العزيزو الخليفة الأول فقد قدم كل منهم اعتذاره في حينه وهذا دليل على صفاء السريرة .. وكل ابن آدم خطاء ...وكما أسلفت كانوا رجاعين للحق وقد اعتذروا عما بدر منهم في حينه ..ولذلك التمس لإخوانك العذر واعتبر أنه وكأن شيئاً من ذلك لم يكن وابنِ علاقات طيبة معهم لأنهم نِعمَ الصحبة ...والسلام عليكم2 points
-
اسمحولى اشاركم اخى الكريم عند فتح قاعدة البيانات وجدت الاتى قمت انت وضع قيمة لمتغيرات لم تصرح للبرنامج بانهم متغيرات مسبقا فقمنا بالتصريح عنهم كانهم متغيرات رقمية ثانيا وجدنا انه من الصعوبة نسخ رقم المادة من جدولها ثم بعد ذلك لصقها فى النموذج الفرعى قمنا بالتعويض عن ذلك بمربع تحرير وسرد به رقم المادة ليسهل عليك الاختيار واننا نجد هذا خطا ايضا فكيف بك الحال اذا كنت تمتلك 1000 قطعة هل ستحفظ ارقامهم كلهم . ولكن لك ما طلبت اما بالنسبة للمشكله فكود اخونا كرار صحيح زلكن تم وضعه فى بعد تحديث حقل الكمية هذه قاعدة بيانات بها نموذج fbillcr فقط قم بنسخه ولصقه فى قاعدة بياناتك السيد elsayed.rar2 points
-
2 points
-
بسم الله الرحمن الرحيمميزه وخاصية ممتازه وهى Flash Fill (تعبئة سريعة) تغنيك عن استخدام صيغ ومعادلات ..الخ . اتمنى ان تفيدكم . ولاتنسونا بصالح دعاؤكم. رابط الفيديو1 point
-
السلام عليكم ورحمة الله تعالى وبركاته الحقيقة بدون ان اطيل عليكم كنت اريد تحزيم قاعدة بيانات لدى وتحويلها الى ملف تنفيذى ولكن لم يعجبنى الشكل المعتاد لتثبيت اى برنامج فاردت ان يكون برنامجى مميزا ففكرت مليها فى تصميم قاعدة بيانات تقوم بتثبيت نفسها داخل الويندوز فاعاننى الله على تصميمها دون الحاجة الى تحزيمها القاعدة الت صممتها بمجرد الفتح تبدا تلقائيا فى عمل تثبيت لها داخل الويندوز كا التالى اللوجو الخاص بى ويمكنك تغييره حسب ذوقك هذا اللوجو به شى مهم جدا وهى وحدة نمطية لتغيير لون البروجرس بار وهذا ايضا اردته ان يكون مختلفا عن الاخرين ناتى بعد ذلك الى نموذج التعريف الخاص بالبرنامج ويمكنك كتابة تعريف بسيط بالبرنامج وذلك لتعريف المستخدم ببرنامجك . لقد تركته فارغا ثم بعد ذلك نموذج الشروط والاتفاقيات الخاصة بك ويجب ان يوافق عليها المستخدم لمتابعت التثبيت . ولقد تركتها فارغه ثم بعد ذلك نموذج اكود التفعيل وذلك للتاكد من المالك او المشترى وبه كود بسيط فقط عند كتابة اربع حروف فى كل مربع نص يقوم بالانتقال الى المربع التالى تلقائيا كود التفعيل هو 1111222233334444 والان مع نموذج مكان التثبيت وبه اكواد مهمه جدا اتمنى ان تستفيدو منها اولا كود مكان تثبيت الويندوز وكود التغيير واختيار مكان اخر غير مكان الويندوز واجهتنى مشاكل كثيرا فى مسالة الصلاحيات الخاصة بالويندوز فاضررت الى انشاء مكان اخر غير Program file اسميته Program RK قد يسال سائل ولماذا RK اجيبه قائلا ملكش دعوه دا كلمة سر ههههههههه هذا هو الفولدر الخاص ببرنامجى وهذه الصورة بعد التنصيب والان مع نموذج التنصيب والشرح بداخله وبيمكنك الوصول اللى برنامجك بسهولة من سطح المكتب او قائمة ابدا وذلك لان البرنامج يقوم بعمل شورتكت لهم تلقائيا على سطح المكتب وقائمة استارت صورة من سطح المكتب وبعد التثبيت يقوم البرنامج بمسح كافة النماذج والجداول المؤقتة كنت قد انشائتها لتساعدنى فقط فى التنصيب ستجد برنامجك بعد التثبيت خالى من نماذج التثبيت هذه اما البرنامج الذى قمت بالتثبيت من خلاله فسيظل كما هو وذلك اذا احتجت الى التثبيت من جديد اتمنى ان ينال اعجابكم نظرا لنفاذ حجم رفع المرفقات سارفعه فى المشاركة التالية ان شاء الله والان مع البرنامج اتمنى ان ينال على اعجابكم . Elsayed Pro.rar1 point
-
السلام عليكم ورحمة ا لله وبركاته، أتمنى أن تكونوا بصحة وعافية وخير من الله وفضله، من باب تنشيط المنتدى أرفق إليكم فكرة لفاتورة ديناميكية باستخدام المعادلات والمصفوفات فاتورة1 point
-
Function NoToTxt(TheNo As Double, MyCur As String, MySubCur As String) As String Dim MyArry1(0 To 9) As String Dim MyArry2(0 To 9) As String Dim MyArry3(0 To 9) As String Dim Myno As String Dim GetNo As String Dim RdNo As String Dim My100 As String Dim My10 As String Dim My1 As String Dim My11 As String Dim My12 As String Dim GetTxt As String Dim Mybillion As String Dim MyMillion As String Dim MyThou As String Dim MyHun As String Dim MyFraction As String Dim MyAnd As String Dim I As Integer Dim ReMark As String If TheNo > 999999999999.99 Then Exit Function If TheNo < 0 Then TheNo = TheNo * -1 ReMark = "يتبقى لكم " Else ReMark = "فقط " End If If TheNo = 0 Then NoToTxt = "صفر" Exit Function End If MyAnd = " و" MyArry1(0) = "" MyArry1(1) = "مائة" MyArry1(2) = "مائتان" MyArry1(3) = "ثلاثمائة" MyArry1(4) = "أربعمائة" MyArry1(5) = "خمسمائة" MyArry1(6) = "ستمائة" MyArry1(7) = "سبعمائة" MyArry1(8) = "ثمانمائة" MyArry1(9) = "تسعمائة" MyArry2(0) = "" MyArry2(1) = " عشر" MyArry2(2) = "عشرون" MyArry2(3) = "ثلاثون" MyArry2(4) = "أربعون" MyArry2(5) = "خمسون" MyArry2(6) = "ستون" MyArry2(7) = "سبعون" MyArry2(8) = "ثمانون" MyArry2(9) = "تسعون" MyArry3(0) = "" MyArry3(1) = "واحد" MyArry3(2) = "اثنان" MyArry3(3) = "ثلاثة" MyArry3(4) = "أربعة" MyArry3(5) = "خمسة" MyArry3(6) = "ستة" MyArry3(7) = "سبعة" MyArry3(8) = "ثمانية" MyArry3(9) = "تسعة" '====================== GetNo = Format(TheNo, "000000000000.00") I = 0 Do While I < 15 If I < 12 Then Myno = Mid$(GetNo, I + 1, 3) Else Myno = "0" + Mid$(GetNo, I + 2, 2) End If If (Mid$(Myno, 1, 3)) > 0 Then RdNo = Mid$(Myno, 1, 1) My100 = MyArry1(RdNo) RdNo = Mid$(Myno, 3, 1) My1 = MyArry3(RdNo) RdNo = Mid$(Myno, 2, 1) My10 = MyArry2(RdNo) If Mid$(Myno, 2, 2) = 11 Then My11 = "إحدى عشر" If Mid$(Myno, 2, 2) = 12 Then My12 = "إثنى عشر" If Mid$(Myno, 2, 2) = 10 Then My10 = "عشرة" If ((Mid$(Myno, 1, 1)) > 0) And ((Mid$(Myno, 2, 2)) > 0) Then My100 = My100 + MyAnd If ((Mid$(Myno, 3, 1)) > 0) And ((Mid$(Myno, 2, 1)) > 1) Then My1 = My1 + MyAnd GetTxt = My100 + My1 + My10 If ((Mid$(Myno, 3, 1)) = 1) And ((Mid$(Myno, 2, 1)) = 1) Then GetTxt = My100 + My11 If ((Mid$(Myno, 1, 1)) = 0) Then GetTxt = My11 End If If ((Mid$(Myno, 3, 1)) = 2) And ((Mid$(Myno, 2, 1)) = 1) Then GetTxt = My100 + My12 If ((Mid$(Myno, 1, 1)) = 0) Then GetTxt = My12 End If If (I = 0) And (GetTxt <> "") Then If ((Mid$(Myno, 1, 3)) > 10) Then Mybillion = GetTxt + " مليار" Else Mybillion = GetTxt + " مليارات" If ((Mid$(Myno, 1, 3)) = 2) Then Mybillion = " مليار" If ((Mid$(Myno, 1, 3)) = 2) Then Mybillion = " ملياران" End If End If If (I = 3) And (GetTxt <> "") Then If ((Mid$(Myno, 1, 3)) > 10) Then MyMillion = GetTxt + " مليون" Else MyMillion = GetTxt + " ملايين" If ((Mid$(Myno, 1, 3)) = 1) Then MyMillion = " مليون" If ((Mid$(Myno, 1, 3)) = 2) Then MyMillion = " مليونان" End If End If If (I = 6) And (GetTxt <> "") Then If ((Mid$(Myno, 1, 3)) > 10) Then MyThou = GetTxt + " ألف" Else MyThou = GetTxt + " آلاف" If ((Mid$(Myno, 3, 1)) = 1) Then MyThou = " ألف" If ((Mid$(Myno, 3, 1)) = 2) Then MyThou = " ألفان" End If End If If (I = 9) And (GetTxt <> "") Then MyHun = GetTxt If (I = 12) And (GetTxt <> "") Then MyFraction = GetTxt End If I = I + 3 Loop If (Mybillion <> "") Then If (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then Mybillion = Mybillion + MyAnd End If If (MyMillion <> "") Then If (MyThou <> "") Or (MyHun <> "") Then MyMillion = MyMillion + MyAnd End If If (MyThou <> "") Then If (MyHun <> "") Then MyThou = MyThou + MyAnd End If If MyFraction <> "" Then If (Mybillion <> "") Or (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur Else NoToTxt = ReMark + MyFraction + " " + MySubCur End If Else NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur End If End Function السلام عليكم بعد إذن من سبقني بالمشاركة: أخي الكريم هذا كود التفقيط بالعربي ضعه في موديول ثم استخدم دالة NoToTxt لتجد النتيجة المرضية إن شاء الله تعالى1 point
-
1 point
-
1 point
-
1 point
-
مبااااااااااااااااااارك عليك وسدد الله خطاك دااااااااائما الى الامام دااااائما1 point
-
1 point
-
وعليكم السلام حياك الله أبوعبدالرحمن هل تريد المتبقي من الأقساط أم عدد الأقساط الكلي ؟ لم تذكر ما هي النتيجة المتوقعة في المثال الذي بالمرفق (اسم الزبون : هدى ) جرب المرفق عدد الاقساط1.rar1 point
-
أخي الكريم تيبازي أهلاً بك في المنتدى بعد طول غياب وعوداً حميداً ، ونأمل أن تتواجد فيما بيننا على الدوام ، وتقبل وافر تقديري واحترامي1 point
-
1 point
-
1 point
-
السلام عليكم و رحمة الله و بركاته ،قبل الدخول في الموضوع اشكرك استاذي محمد حسن المحمد على كلامك الطيب الصادق، والله لم اجد الكلمة التي تعبر عن مدى تأثري بموقفك في قول كلمة الحق ومدى اعتزازي بديني الذي رأيت فيك المسلم المدافع عن الحق و الآمر بالمعروف و الناهي عن المنكر و ذاك المسلم الذي قال فيه النبي عليه الصلاة و السلام .. المسلم اخو المسلم لا يظلمه و لا يسلمه و من كان في حاجة اخيه كان الله في حاجته .. نعم ....... هي تلك صفات المسلم ، اشكرك استاذي الفاظل و جازاك الله كل خير ، اما بالنسبة للاخوة الافاضل اشكركم عن النصيحة حتى و ان كان فيها نوعا من التقصير لعدم العلم بالسبب ،و انشغلنا بما لا ينفع ، لكن الحمد لله اننا تعرفنا على الاخ و الاستاذ الفاضل محمد حسن المحمد ، اما بالنسبة لسبب الرد بعد عامين و الذي اعتبره الاخوة جحود هو فقط انني لم استطع الدخول الى حسابي في تلك المدة ثم انشغلت في امور اخرى بعدها و لو تلاحظوا قليلا ستجدون ان آخر مشاركة للأخ محمد حسن المحمد كان في 08/08/2015 ،وفقط اليوم 09/05/2016 قرأت مشاركاتكم ..... اطلب السماح من الجميع ،فلم اقصد ايذاء اي شخص ، فقط سألت و شكرت ..... حتى و لو بعد مائة سنة1 point
-
وعليكم السلام أخي العزيز أبو حنين بارك الله فيك وجزاك الله كل خير ، ومشكور على كلماتك الطيبة كله بفضل الله وحده ، فالحمد لله على كل نعمه وآلائه تقبل وافر تقديري واحترامي1 point
-
و عليكم السلام و رحمة الله و بركاته ... جرب هذا الكود Private Sub names_AfterUpdate() Me.Text20 = DLookup("[id]", "emp", "[emp_name]='" & names & "'") End Sub1 point
-
جزاك الله كل خير .. ومبروك النجاح ان شاء الله مقدما وان شاء الله متى تنتهي الامتحانات1 point
-
توضع الدالة Indirect قبل كل مرجع في المعادلة وليس في بداية المعادلة كما قدمت في مشاركتك ...حاول مرة أخرى فالمحاولات جديرة لتصل بك إلى مرحلة التقدم والنجاح في الوصول للحل1 point
-
أخي الكريم محمد عبد الناصر إذا كان ما فهمته صحيح ، فإليك الرابط التالي فيه شرح للمطلوب ، ولكن يجب أن تتبع الخطوات بشكل جيد وتزيل الحماية في البداية عن العمود بالكامل قبل وضع الكود في حدث ورقة العمل الرابط من هنا تقبل تحياتي1 point
-
ربنا يحفظك دنيا واخرة ويبارك فيك صحيح كود جاب المطلوب ماقصرت ربنا يكثر من امثالك1 point
-
سبب المشكلة في تسمية الحقول في الجدول فالوحدة النمطية يتم الفلترة فيها بناء على حقل اسمه id ولكن في الجدول 2 لا نجد هذه التسمية كمفتاح للجدول تم تعديل الحقل الفرعي المرتبط الى id_2 وتعديل المفتاح الى id اتبع هذا الترتيب اذا اردت اضافة جداول اخرى tree customer5.rar1 point
-
أخي الكريم أبو يحيى حاول تستخدم خاصية البحث في المنتدى ..ستجد هناك موضوعات تشرح بالتفصيل الموضوع المطروح1 point
-
1 point
-
أخي الكريم ناصر الأفضل أن تتبع الخطوات بشكل صحيح ... قم بحذف الأكواد الموجودة في موديول رقم 1 وضع هذه الأكواد مكانها Sub CopyRow(sSheet As String, sRow As Long, LC As Long) Dim Ws As Worksheet Dim cnt As Long On Error Resume Next Set Ws = Sheets(sSheet) On Error GoTo 0 If Ws Is Nothing Then MsgBox "Sheet " & sSheet & " Doesn't Exist In The Workbook.", vbExclamation, "Sheet Not Found!" Exit Sub End If cnt = Sheets("بيانات المدرسة").Range("B10").Value Ws.Range(Ws.Cells(sRow, 1), Ws.Cells(sRow, LC)).Copy Ws.Range("A" & sRow).Resize(cnt + 1).PasteSpecial xlPasteAll On Error Resume Next Ws.Range("A" & sRow + 1).Resize(cnt, LC).SpecialCells(xlCellTypeConstants, 3).ClearContents Application.CutCopyMode = False End Sub Sub DoIt() CopyRow "بيانات الطلبة", 7, 19 CopyRow "إنجاز1", 7, 15 CopyRow "رصد الترم الأول", 7, 29 CopyRow "أعمال السنة", 7, 15 CopyRow "رصد الترم الثانى", 7, 102 CopyRow "كنترول شيت", 12, 114 End Sub ثم في حدث الفورم احذف الأكواد الموجودة وضع هذه الأكواد مكانها Private Sub CommandButton1_Click() If TextBox1.Text = Sheets("بيانات الطلبة").Range("Z1") Then Me.Hide TextBox1.Text = "" MsgBox "كلمة المرور صحيحة و سيتم تنفيذ المطلوب" Application.ScreenUpdating = False Call DoIt Application.ScreenUpdating = True Unload Me Else MsgBox "عفوا كلمة المرور خاطئة و لن يتم تنفيذ المطلوب" TextBox1.Text = "" TextBox1.SetFocus End If End Sub بخصوص أنني أستاذ كبير فقولي كما هو أنني مجرد متعلم وباحث ، وهذا ليس تواضع بل هي الحقيقة وعليك ان تتأكد من ذلك الأمر تقبل تحياتي1 point