بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 11/14/15 in مشاركات
-
ثانيا:-كيفية اضافه عناصر تحكم داخل الـ Frame اثناء عملية التصميم لأضافه عناصر تحكم داخل الـ Frame يوجد طريقتين الطريقه الاولى :- شاهد الصوره الطريقه الثانيه :- لو حضرتك قمت بتصميم عناصر على الفورم مثل الصوره دى ثم فكرة انك تجعلهم داخل فريم بعد ما صممت العناصر وظبت التنسيقات وكل شئ فما الحل ؟؟؟ شاهد الصور التاليه بعد ما تضغط على Paste ستجد العناصر داخل الفريم بنفس التنسيق شاهد الصوره التاليه وبكدا عرفنا اننا نقدر نضيف اى عنصر او عناصر تحكم داخل الفريم أما بأنشائها لاول مره او اننا بننسخها من الفورم ملحوظه مهمه جدا تقدر تنسخ بنفس الطريقه من فورم اخر وتعمل لصق على فورم جديد مفيش مشكله واحد هيقولى وايه الفايده لما تنسخ مثلا كمبوبوكس من فورم انت مصممه قبل كدا وتعمله لصق فى فورم جديد لانه بيوفر عليك الوقت والجهد من تظبيط التنسيقات للكمبوبوكس وبيتم لصقه بنفس الخصائص **************************************************************************************** الى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد ان شاء الله هيكون عن التعرف على خصائص Frame من شاشة الخصائص اثناء عملية التصميم انتظرونا تقبلوا تحياتى5 points
-
أخي الكريم أبو سليمان لطالما سألت عن هذا الأمر .. ولم تقتحم الأمر .. ولذا يختلف الأمر الفكرة في التعلم هي الجرأة ..نعم الجرأة ..أرى الكثير يخشى خوض التجربة ، ولما الخشية ولما الرهبة ولما كل هذا الخوف ؟؟!! إنني أتسائل وأتعجب ؟؟؟!! الجرأة هي الخطوة الأولى نحو التعلم .. والرغبة في التعلم هي الخطوة الثانية .. والخطوة الثالثة البدء في التطبيق العملي أولاً بأول إن الطفل الصغير عندما يتعلم المشي ، لابد أن يمتلك الجرأة أولاً لأنه حتماً سيقع ثم يحاول أن ينهض فيقع ، وتستمر المحاولات بلا يأس وبلا أدنى رهبة ، ويساعده من حوله ، ويشجعونه حتى ولو أخطأ (فالخطأ وارد لا محالة ) ، وهكذا يكون الأمر ويستمر حتى يفلح في نهاية المطاف للوصول لمبتغاه ابدأ ...هذه هي نصيحتي لك :: ووقت أن تبدأ من الطبيعي أن تقابل صعوبات ، لا عليك فنحن سنشد من أزرك بعون الله ، فكلنا هنا طلاب علم ولسنا أساتذة كما يظن الكثيرون ..نحن طلاب علم وسنطل ننهل من العلم ما شاء الله أن نحيا ، فبالعلم يحيا القلب والعقل معاً أعتذر عن الإطالة والإسهاب في الحديث .. تقبل وافر تقديري واحترامي5 points
-
السلام عليكم ورحمة الله وبركاته أحبائى وأساتذتى ومعلمينى فى هذا الصرح العلمى الهائل تحية طيبة وبعد أقدم لكم اليوم مجموعة رائعة من الأيقونات زات الجودة العالية أرجوا من الله أن تنال إعجابكم http://www.mediafire.com/download/42x3exq2c119cvo/1.rar http://www.mediafire.com/download/97cazvonq76t7r5/2.rar#1 http://www.mediafire.com/download/3da8dafesiy96hc/3.rar http://www.mediafire.com/download/byhgi1eu2u9ou29/4.rar http://www.mediafire.com/download/31yspi92357332b/5.rar http://www.mediafire.com/download/mydc1fc09z1kbj7/6.rar http://www.mediafire.com/download/ewm23d4geccddex/7.rar تقبلوا خالص تحياتى وتقديرى4 points
-
بسم الله الرحمن الرحيم اليوم بمشيئة الله سنتكلم عن شروحات الفريم ( Frame ) تستخدم هذه الاداه فى احتواء بعض ادوات التحكم مثل ( الليبل او التكست بوكس او الكمبوبوكس وغير ها من العناصر) داخل الفريم بقصد اعطاء شكل جمالى أن شاء الله هيتم تناول الموضوع على ست مراحل 1- كيفية انشاء Frame على الفورم اثناء عملية التصميم 2- كيفية اضافه عناصر تحكم داخل Frame اثناء عملية التصميم 3- التعرف على خصائص Frame من شاشة الخصائص اثناء عملية التصميم 4-التعامل مع خصائص الـ Frame فى لغة البرمجه 5-كيفية اضافه عناصر تحكم داخل الـ Frame والتحكم فى الاسكرول بار للــ Frame عند فتح الفورم او اثناء العمل على الفورم وهو نشط 6-التحكم فى العناصر الموجوده داخل الـ Frame بطرق احترافيه نبدأ بسم الله أولا :- كيفية انشاء Frame على الفورم اثناء عملية التصميم لأضافه Frame جديد على الفورم يوجد طريقتين الطريقه الاولى :- الطريقه الثانيه :- نسخ فريم موجود على الفورم وعمل فريم اخر منه ملحوظه لو كان Frame1 يوجد به عناصر تحكم وليكن به comboBox1 وقمت بنسخ Frame1 لعمل فريم اخر منه ستجد داخل الفريم الجديد Frame2 بداخله comboBox2 وله نفس خصائص comboBox1 الخلاصه انه عند نسخ فريم يتم نسخه مع ما يحتويه من عناصر تحكم ايضا ويكون الفريم الجديد وما يحتويه من عناصر له نفس الخصائص اللى موجوده بالفريم الاول **************************************************************************************** الى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد ان شاء الله هيكون عن كيفية اضافه عناصر تحكم داخل الـ Frame اثناء عملية التصميم انتظرونا تقبلوا تحياتى4 points
-
السلام عليكم سأعتبر أن الأمر موجهاً لنا كلنا وأن المساعدة سنستفيد منها جميعاً...وخصوصاً لدينا عظماء قد حنوا جباههم لعظمة العلم الذي أمر الله به(وقل رب زدني علماً) ولنا في موسى عليه الصلاة والسلام القدوة الحسنة عندما قال :( أو أمضي حقباً) فطلب العلم يقترن بالحياة ...هذا رأيي.. وقد رأيت في الآونة الأخيرة تلك الرغبة الجامحة على الاستزادة منه ...فإن تحقق لي الوقت الكافي سأجعل منه -إن شاء الله تعالى - مسخراً لطلب العلم حتى لو بلغت من الكبرعتياً.والسلام عليكم.4 points
-
السّلام عليكم و رحمة الله و بركاته سادتي الأفاضل .. جميع أعضاء و منتسبي جامعة " أوفيسنا " التعليمية عملية البحث بأول حرف من الاسم داخل الفورم لا و لن تنتهي .. كتابة الحرف من الاسم المقصود البحث عنه داخل التاكست بوكس .. و استعمال زر الأمر ليحرك العملية و يتم استعراض النتيجة بهذا الملف نوع آخر من البحث بأول حرف من الأسماء داخل الفورم .. صحيح لا يغيّر من الأمر شيئًا .. لا يضيف و لا ينقص من عملية البحث .. لكنّها كما ذكرت مجرّد إثراء منّي للمواضيع و تنويع في استعمالات الاكسل الكثيرة.. سأخرج قليلاً من جلباب التاكست بوكس و أتمركز بعباءة لوحة الحروف فائق إحتراماتي أخوكم / عبد العزيز البسكري البحث بلوحة الحروف.rar3 points
-
السلام عليكم ورحمة الله وبركاته أسعد الله أوقاتكم جميعا مرفق لينك كتاب تعليم إكسيل 2007 شرح ثلث http://www.mediafire.com/download/bxy5adt0nu5xznc/EXCEL_2007.pdf منقول للفائدة تقبلوا منى خالص تحياتى وتقديرى3 points
-
السّلام عليكم و رحمة الله و بركاته أنت بنطاق حياتي و ليس فقط بنطاق تفكيري أستاذنا القدير "محمّد حسن المحمّد" .. الله وحده يعلم مدى احترامي لشخصك الكريم "رُبَّ أخ لمْ تلدْهُ أُمَّك" أمّا بالنسبة للخطأ .. أستاذي العزيز و الله لم أفهمْ أين الخلل بالضبط .. جرّبت إضافة حرف من الحروف "ا" الذي هو طبعًا زر أمر .. مع تغيير الرقم 29 الذي هو عدد أزرار أمر الحروف إلى 30 .. و تغيير اسم زر الأمر الذي أضفته إلى B_30 ليتناسب مع سلسلة أسماء أزرار الأمر الأخرى .. واشتغل الملف بطريقة عادية .. بهذا الملف قمت سيّدي القدير بمسح جميع الأكواد "الاضافة و التعديل و الحذف و التحديث" لعلّ و عسى تنجح العملية ..أخبرني بذلك لو تكرّمت وهذه صورة من الملف الجديد و البحث كان باسم الأخ الغالي " الصّقر" فائق إحتراماتي لشخصك القدير البحث بلوحة الحروف 2.rar3 points
-
اخي الغالي احفظ هذا الموضوع اولا http://www.officena.net/ib/topic/64472-بداية-الطريق-لإنقاذ-الغريق/ وفي كتب كتيرررررررر وشروحات اكتر داخل هذا المنتدى العظيم بس انت حاول تبحث كويس ثم اطرح ما الذي تود ان تقوم بعمله ونحن نبدأ معاك خطوة خطوة3 points
-
تفضل اخي الغالي الحل واخفاء ملف الاكسيل لحين تسجيل الدخول ويتم اظهاره مرة اخرى اضافة محرك بحث.rar3 points
-
دالة Vlookup بشكل جديد تعمل من اليسار الى اليمين في حال كان اتجاه الصفحة للغة العربية و من اليمين لليسار اذا كان العكس advanced_vlookup.zip2 points
-
السّلام عليكم و رحمة الله و بركاته بارك الله فيكم جميعًا أساتذتي الأفاضل لما تقدّمونه من جهود في سبيل إنارة درب المبتدئين أمثالنا .. جزاكم الله خيرًا و زادها بميزان حسناتكم وددت أن أشارككم دروسكم القيّمة هذه بمحاولة بسيطة منّي .. لإثراء الموضوع .. أخي الكريم " أبو سليمان " كلّنا مبتدئون .. و ثق بالعبارة " إنَّ الأزمة تلدُ الهِمَّة " .. سأقوم معك بتنفيذ ماكرو حذف بسيط لنطاق معيّن من شيت الاكسل .. اسم النّطاق الذي سنقوم بحذف بياناته بالماكرو هو :G6:K15 الخطوة الأولى :قم بالتّأشير بواسطة الماوس على أوّل خليّة بهذا النّطاق .. مثلما هو مشار إليه بالسّهم الأحمر بالصورة أعلاه .. مباشرة بعد التأشير على هذه الخليّة .. قم بالضغط هنا ليبدأ الماكرو بالتّسجيل : الخطوة الثالثة : قم بالتأشير أو بتظليل كل النّطاق المقصود حذف بياناته و الذي هو G6:K15 بالماوس .. الخطوة الرابعة : و هذه هي الخطوة التي أعتبرها مهمّة لأنّ بها ستحدّد بها مصير أمم من الحروف .. هل ستنسخهم .. هل ستلصقهم .. أم ستحذفهم و تمسحهم في مثالنا هذا سنمسح هذه البيانات .. إذا ما عليك فعله هو فقط : إضغط بلوحة المفاتيح من أمامك على الزّر : DELETE الخطوة الخامسة : قم بإيقاف عملية تسجيل الماكرو ..من نفس المكان الذي قمت بتشغيله في الخطوة الأولى أخيرًا تم بحمد الله تسجيل الماكرو لديك .. و ستجده قد سبقك نائمًا بموديل داخل محرّر الأكواد بهذا الشّكل : لا ينقصك الآن سوى إنشاء زر أمر مرتبط بهذا الماكرو ليقوم عند الضغط عليه بتنفيذ ما أُمِرَ به .. قم بإنشائه من هنا : إتّبع مثلما هو موضّح بالصّور المرفقة أدناه بالتّرتيب : ليصبح لديك زر أمر بهذا الشكل : و أخيرًا أتمنّى و أرجو من الله أنّي قد وُفّقت بتيسير و لو الجزء البسيط من هذا المفهوم .. و إن كانت هناك أخطاء فأتمنى من الأساتذة الأعزّاء تصحيحها لأنّي أوّلاً و أخيرًا أبقى تلميذًا بهذا الصّرح التعليمي الكبير إليك ملف مرفق تطبيقي .. فائق إحتراماتي عبد العزيز البسكري الماكرو.rar2 points
-
2 points
-
2 points
-
وعندما تتوقف ..أخبر إخوانك أين توقفت حتى تكمل المسير ؟ وعلى رأي مثل السباكين : سير سير وإحنا وراك على المواسير ...خايف لحد يكمل القافية ويدعي عليا ويقول : إن شا الله يجيلك البواسير تقبل تحياتي2 points
-
السلام عليكم استاذى /ياسر العربى .. الملف لا توجد به معادلة ..يرجى مراجعه الامر اخى الكريم يمكن الحل باكثر من طريقة منها =IFERROR(INDEX(A1:A16;MATCH(1;(F1:F16=$H$4)+(E1:E16=$H$4)+(D1:D16=$H$4)+(C1:C16=$H$4)+(B1:B16=$H$4);0));"") طريقة اخرى اكثر اختصاراً =IFERROR(INDEX($A$1:$A$16;SMALL(IF(B1:F16=$H$4;ROW(B1:F16)-ROW(B1)+1);1));"") لا تنسى تلك المعادلات -معادلات صفيف -بعد كتابتها يتم الضغط على CTRL+SHIFT+ENTER -- بإفتراض -- عدم تكرار البيانات تقبلوا خالص تحياتى2 points
-
وعليكم السلام هناك طريقة افضل لحفظ سجلاتك في الجدول ، فطريقتك مأخوذة من الاكسل مثلا ، وليست صحيحة لقواعد البيانات . عملت لك جدول جديد ، وجلبت لك البيانات اليه: . والبيانات: . وعليه ، عملت عدد 2 استعلام جدولي ، واحد شامل لكل السنوات: . ونتائجه: . واستعلام سنوي (يعني استخدم خاصية التصفية) ، لكل سنة على حدة: . والنتيجة: . جعفر 262.salary2015+2014.accdb.zip2 points
-
2 points
-
2 points
-
السلام عليكم ورحمة الله وبركاته أعجبني وأبهرني توقيعكم الذي أود رؤيته باستمرار ...فتوقيعي يدفع قارئه للصلاة على النبي صلى الله عليه وسلم وإلا كان بخيلاً وتوقيعك رائع بجد...2 points
-
أخي الكريم هاني الحمد لله أن نال الملف إعجابك .. بالنسبة لزيادة عدد الشيتات يرجى وضع شكل الملف الأصلي بالضبط لمعرفة عدد الشيتات الموجودة بالكامل .. وهل أوراق العمل التي سيتم زيادتها ستكون كلها تبدأ بكلمة مصلحة أم أن الأمر مختلف..؟؟ يمكنك التعديل في الكود في سطر واحد لتحصل على النتيجة المطلوبة من خلال هذا السطر SheetsArr = Array("مصلحه 1", "مصلحه 2", "مصلحه 3") هذا السطر من خلاله يمكنك وضع أوراق العمل المطلوب العمل عليها بنفس الشكل .. Sub CreateOneSheet() Dim SheetsArr, SH As Worksheet, WS As Worksheet Dim I As Long, LR As Long, Count As Long Dim strSheet As String Set WS = Sheets("اذون الصرف") strSheet = WS.Range("K7").Value Application.DisplayAlerts = False Application.ScreenUpdating = False If Not Evaluate("ISREF('Temp'!A1)") Then Sheets.Add(After:=Sheets(Sheets.Count)).Name = "Temp" Sheets("Temp").Cells.Clear If strSheet = "كل المصالح" Then SheetsArr = Array("مصلحه 1", "مصلحه 2", "مصلحه 3") For I = 0 To UBound(SheetsArr) For Each SH In Sheets If SH.Name = SheetsArr(I) Then With SH LR = IIf(Sheets("Temp").Cells(Rows.Count, "A").End(xlUp).Row < 2, 1, Sheets("Temp").Cells(Rows.Count, "A").End(xlUp).Row + 1) .Range("A1").CurrentRegion.Offset(1).Copy Sheets("Temp").Range("A" & LR) Count = Application.WorksheetFunction.Count(Sheets("Temp").Range("A" & LR & ":A" & Sheets("Temp").Cells(Rows.Count, "A").End(xlUp).Row)) Sheets("Temp").Range("E" & LR).Resize(Count) = .Name Sheets("Temp").Range("F" & LR).Resize(Count).Formula = "=Ar_WriteDownNumber(" & Sheets("Temp").Range("D" & LR).Address(0, 0) & ", ""جنيه"", ""قرش"")" End With End If Next SH Next I Else With Sheets(strSheet) LR = IIf(Sheets("Temp").Cells(Rows.Count, "A").End(xlUp).Row < 2, 1, Sheets("Temp").Cells(Rows.Count, "A").End(xlUp).Row + 1) .Range("A1").CurrentRegion.Offset(1).Copy Sheets("Temp").Range("A" & LR) Count = Application.WorksheetFunction.Count(Sheets("Temp").Range("A" & LR & ":A" & Sheets("Temp").Cells(Rows.Count, "A").End(xlUp).Row)) Sheets("Temp").Range("E" & LR).Resize(Count) = .Name Sheets("Temp").Range("F" & LR).Resize(Count).Formula = "=Ar_WriteDownNumber(" & Sheets("Temp").Range("D" & LR).Address(0, 0) & ", ""جنيه"", ""قرش"")" End With End If With Sheets("Temp") For I = 1 To .Cells(Rows.Count, 1).End(xlUp).Row Step 2 WS.Range("G4") = .Cells(I, "E") WS.Range("D6") = .Cells(I, "F"): WS.Range("D14") = .Cells(I, "F") WS.Range("C7") = .Cells(I, "C") WS.Range("B11") = .Cells(I, "D"): WS.Range("B14") = .Cells(I, "D") WS.Range("D12") = .Cells(I, "B") WS.Range("G24") = .Cells(I + 1, "E") WS.Range("D26") = .Cells(I + 1, "F"): WS.Range("D34") = .Cells(I + 1, "F") WS.Range("C27") = .Cells(I + 1, "C") WS.Range("B31") = .Cells(I + 1, "D"): WS.Range("B34") = .Cells(I + 1, "D") WS.Range("D32") = .Cells(I + 1, "B") WS.PrintPreview Next I .Delete End With MsgBox "Done", 64 Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub أخي الكريم هاني تم إنشاء قائمة منسدلة في الخلية K7 ومصدرها في العمود N وعملت إخفاء للعمود يمكنك الآن اختيار أي مصلحة أو كل المصالح كما ترغب Create One Sheet YasserKhalil V2.rar2 points
-
بارك الله فيك أخي الغالي سليم وجزيت خيراً في انتظار شرح الاخ المتميز خالد الرشيدي فهو بحق ملك شرح المعادلات بطريقة متميزة تقبل تحياتي أخي الكريم سليم2 points
-
السلام عليكم أخواني في المنتدى نزولاً عند رغبة احد الاصدقاء كان هذا الملف الذي اتمنى ان ينال اعجابكم tekrar_by_choise.zip2 points
-
قل من بيده ملكوت كل شيء وهو يجير ولا يجار عليه إن كنتم تعلمون ( 88 ) سيقولون لله قل فأنى تسحرون ( 89 ) ) من سورة ص2 points
-
2 points
-
السلام عليكم موضوعات متميزة وهامة يدرجها لنا إخوتنا الكرام ضمن تنسيق بديع ليشكلوا لوحات مزركشة بألوان جذابة..1 point
-
1 point
-
شاكر لك مرورك العطر هذا اخي الغالي سعد عابد ومتابعتك هذه تزيد من قيمة مواضيعي لك مني كل الشكر والتقدير مااروعك انت اخي الغالي ياسر فتحي انت الداعم والمحفز والذي ينير اضواء المنتدى بلمساته الجميلة وحسن الكلام لك مني كل الاحترام1 point
-
السلام عليكم... سلامتك يا أبو البراء الحبيب..ادعو الله لك أن تكون في أمن وأمان وراحة واطمئنان..وأن تخلد في الجنان...سر على بركة الله...فنحن معك...فمن يدعو عليك إلا قليل الوفاء..تقبل تحياتي.1 point
-
اخي وحبيبي ابو البراء جزاك الله كل خير انت دائما سباق للخير والشيئ الجميل الذي اشعره فيك هو حسن اخلاقك وتوضعك زادك الله من فضلة ومن علمة واطال الله في عمرك.1 point
-
1 point
-
1 point
-
السبب الذي قلت ان جدولك ليس صحيحا لقاعدة البيانات ، هو انك يجب ان تضيف حقل جديد كل شهر ، فالطريقة الصحيحة لعمل الجداول هو اضافة سجلات وليس اضافة حقول وهناك مثل مشهور في قواعد البيانات يقول : الحقول غالية والسجلات رخيصة اما اذا تريد تمشي حالك الان بالجدول الموجود ، ومجرد تريد ان تجمع قيم جميع الحقول ، اعمل استعلام فيه جميع الاسماء ، وننادي منه الدالة Add_Salaries والتي عملناها في الوحدة النمطية ، ونرسل معها اسم الشخص: . وهذا كود الدالة Add_Salaries: Function Add_Salaries(F As String) As Double 'F = Full Name Dim rst As DAO.Recordset Dim fld As Field 'get this Name Record from the table Set rst = CurrentDb.OpenRecordset("Select * From [salary2015+2014] Where Full_Name='" & F & "'") T = 0 'initial Total 'loop through the fields For Each fld In rst.Fields 'Debug.Print fld.Name & vbTab & fld.Value 'skip the Full_Name field name If fld.Name <> "Full_Name" Then 'add the field values T = T + fld.Value End If Next fld 'now send this Total to the query Add_Salaries = T End Function . حيث اننا في الدالة نطلب سجل الشخص من الجدول salary2015+2014 ، ثم نقول بقراءة الحقول وجمعها ، زنرسل النتيجة الى الاستعلام ، فتصبح نتيجة الاستعلام: . جعفر 262.salary2015+2014.accdb.zip1 point
-
1 point
-
أخي الكريم ابو سليمان بالنسبة لجزئية تسجيل الماكرو يمكنك فتح الباب الثالث ..في حلقات افتح الباب يا أبو سليمان (وبطل أكل الرمان ..عشان أكله أنا ...) من هنا1 point
-
يوجد بالجدول حقل به ترقيم تلقائي الاكسيس لا يسمح بوجود اكثر من حقل به ترقيم تلقائي في الحقل ذو الترقيم التلقائي في التنسيق اكتب "500"0 سوف يبدأ الترقيم من 5000 ظاهريا ولكن اذا قمت بتحديد هذا الحقل سوف تشاهد الترقي الأصلي له ويوجد طريقة أخرى لعمل الترقيم التلقائي من عدد تريد البدأ منه وهي كالتالي قم بانشاء استعلام جديد في التصميم ثم حول وضع التصميم إلى وضع SQL اكتب الجملة التالية CREATE TABLE TB2L ( Id AUTOINCREMENT(5000,1) ) ثم اضغط على Run تنفيذ سيتكون عندك جدول جديد باسم TB2L به حقل واحد اسمه id ونوع ترقيم تلقائي يبدأ من 5000 وما عليك إلا ان تقوم بنسخ باقي الحقول من الجدول القديم من وضع التصميم إلى هذا الجدول أيضا في وضع التصميم هذا والله أعلى وأعلم وأكيد إن شاء الله سوف تجد حلول أخرى عن عمالقة المنتدى أبوخليل - جعفر - رمهان ------- واخرون1 point
-
السلام عليكم ورحمة الله وبركاته (( والله في عون العبد ما كان العبد في عون أخيه))أو كما قال الرسول صلى الله عليه وسلم: أشكر أساتذتنا الكرام الذين يسعون لتنويع سبل معرفتنا وصولاً بنا إلى درجات عليا من العلم الذي لا يمكننا بلوغ أوجه أخي الحبيب ياسر فتحي البنا وكما ذكر أخي الحبيب عبد العزيز{ وما أوتيتم من العلم إلا قليلاً} فالتنوع إثراء وتغذية لمداركنا فما لا ندركه بناحية ندركه بالأخرى .. والله ولي التوفيق..والسلام عليكم.1 point
-
اخي الغالي عبد العزيز العمل متقن ورائع وباين من شكل الفورم ولكن في بعض الاخطاء تظهر ارجوا حل المشكلة لنستفاد من هذ ا العمل الرائع وبارك الله فيك وزادك علما1 point
-
1 point
-
1 point
-
أخي الكريم عبد الرحمن تفضل الكود Sub Clear() With Worksheets("Sheet1") .Unprotect 1 .Range("date,time,results,tester").SpecialCells(xlCellTypeConstants).ClearContents .Protect 1 End With With Worksheets("Sheet2") .Unprotect 1 .Range("date1,time1,results1,tester1").SpecialCells(xlCellTypeConstants).ClearContents .Protect 1 End With End Sub1 point
-
السّلام عليكم و رحمة الله و بركاته أخي الكريم "أبو عبد الرحمن البغدادي" .. من الأفضل عمل ملف تجريبي عليه تصوّراتك و مخططاتك و أهدافك و النتائج المرجوّة منه ليسهل على جميع الأساتذة الأفاضل الفهم و سرعة الوصول إلى النتائج من أراد تقديم المساعدة منهم فائق إحتراماتي1 point
-
اخى ومعلمى وأستاذى الحبيب / محمد الريفى الله يبارك فى حضرتك يسعدنى ويشرفنى دائما مرور حضرتك الكريم تقبل خالص تحياتى وتقديرى1 point
-
جزاك الله خيرا رائع أستاذ / سليم رائع جدا جدا ومتميز ربنا يبارك فى حضرتك1 point
-
أبي الحبيب أبو يوسف الموضوع (الغنايم على قولك) موجود قبل ما أغيب الـ 3 أيام دول ..شكلك بطلت تتابع بشكل جيد (كله من خلال الموبايل وبس) في انتظار مساهماتك في خدمة إخوانك أخي الغالي ياسر العربي الموضوع مجرد تفتيح بس لأن كتير جداً من الأعضاء الجدد بيسألوا على البدايات دي بشكل كبير جداً ..فحبيت أعمل الموضوع عشان يكون مجرد مرجع ليهم (وتوفير لوقت بقية الأعضاء اللي بيقدموا المساعدة ..بحيث لما حد يسأل على البدايات يدله على الموضوع ويتفرغ من يريد تقديم المساعدة لما هو أهم) تقبلوا تحياتي1 point
-
إخواني وأحبابي أخي الغالي ياسر العربي أخي الحبيب حسام عيسى صقر المنتدى أبي وحبيبي في الله أبو يوسف بارك الله فيكم وجزاكم الله خيراً على مروركم الطيب والعطر وعلى كلماتكم الرقيقة في حقي فكرة الموضوع لن تكون دورة في البرمجة إنما هي أساسيات لابد للعضو الجديد أن يتقن التعامل معها حتى يتسنى له الاستفادة من الأكواد التي تقدم له كحلول لأن الكثير من الأعضاء الجدد يشعر بالتوهان عند طرح موضوع وتلقي إجابات لأنه لا توجد لديه أرضية يسير عليها من هنا سيعد الموضوع مرجعاً للأعضاء الجدد كما هو الحال مع موضوع التوجيهات أرجو أن تكون الصور معبرة عن الشرح ، ورغم أنها تستغرق وقت كبير أكثر من الكتابة إلا أنني أراها أوثق في توصيل المعلومة .. وأخيراً أسأل الله العظيم أن يجمعنا في مستقر رحمته في الفردوس الأعلى من الجنة1 point
-
الطريقه التاسعه :- تعبئه الكمبوبوكس بدون تكرار وبناء على شرط باستخدام الحلقه التكراريه For Each و المتغير Collection وداله If (طريقه احترافيه) لو عندى شيت زى كدا وفيه بيانات وعايز اقوم بتعبئة الكمبوبوكس بالبيانات المظلله باللون الاخضر ولكن دون تكرار وبناء على اسم المعرض شاهد الصوره كما هو مبين بالصوره انا عايز اقوم بتعبئة الكمبوبوكس ولكن حسب عملاء معينه مثلا وليكن الجزائر ( عبدالعزيز البسكرى و شوقى ربيع ) فقط نعمل ايه؟ هو نفس الكود السابق اللى بالطريقه الثامنه مع تعديل بسيط تعالو نشوف الكود كان ايه ؟ وما هو التعديلات اللى هتم عليه ؟ Private Sub UserForm_Initialize() On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) group1.Add data, data.Text group2.Add data.Offset(0, 1).Value Next data With Me.ComboBox1 For i = 1 To group1.Count .AddItem group1(i) .List(.ListCount - 1, 1) = group2(i) Next i End With End Sub اللى هيتم تغييره بالكود 1- هذا السطر للحلقه For Each For Each data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) هنا بدل الحلقه ما بتلف على خلايا العمود A هخليها تلف على خلايا العمود B زى كدا For Each data In Sheet1.Range("b2:b" & Sheet1.Cells(Rows.Count, "b").End(xlUp).Row) 2- بعد سطر الحلقه التكراريه هعمل شرط لجلب البيانات وذالك من خلال قاعدة If انا عايز اجيب عملاء الجزائر فقط If data.Offset(0, -1).Value = "الجزائر" Then group1.Add data, data.Text group2.Add data.Offset(0, 1).Value, data.Text End If زى ما احنا شايفين سطر الكود استخدمنا If لعمل شرط ما هو الشرط ؟ الشرط ان data اللى بتمثل كل خلية فى العمود B يبص على الخليه اللى قبلها يعنى مثلا لما يكون data قيمتها B2 يبص على الخلية اللى قبلها اللى هى A2 ( طبعا دا تم من خلال offset ) طيب هو لما يبص على الخلية اللى قبلها A2 هيختبر ايه ؟ عايزه يشوف هل مكتوب بها الجزائر أو لا ؟ اذا كانت بها الجزائر ينفذذ الاسطر التالية ثم انهاء If وطبعا شرحنا معنى هذه الاسطر قبل كدا وبعد هذه التعديلات البسيطه على الكود هيكون شكله النهائى كدا فى حدث فتح الفورم Private Sub UserForm_Initialize() On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("b2:b" & Sheet1.Cells(Rows.Count, "b").End(xlUp).Row) If data.Offset(0, -1).Value = "الجزائر" Then group1.Add data, data.Text group2.Add data.Offset(0, 1).Value, data.Text End If Next data With Me.ComboBox1 For i = 1 To group1.Count .AddItem group1(i) .List(.ListCount - 1, 1) = group2(i) Next i End with End Sub شاهد الصوره عند فتح الفورم ************************************************************************************** واحد فنان هيسئلنى سؤال فنى ************************************************************************************** هو انا لو عايز مصر مثلا مش الجزائر لازم ادخل كل مره على الكود واغير فى هذا السطر If data.Offset(0, -1).Value = "الجزائر" Then هغير بدل من الجزائر اعملها مصر If data.Offset(0, -1).Value = "مصر" Then هقوله الاجابه ايوا لكن انا عارف قصدك انت عايز طريقه احترافيه وهى تعبئة الكمبوبوكس بناء على اخر فى الحاله دى لازم اعمل كمبوبوكس جديد فى الفورم اتبع معى الخطوات التالية الخطوه الاولى :- هنصمم كمبوبوكس جديد شاهد الصوره الخطوه الثانيه : عمل كود فى حدث فتح الفورم هنعمل كود ليقوم بتعبئة الكمبوبوكس 2 بالبيانات فى العمود A الخاصه باسماء المعارض ولكن دون تكرار امامك طريقتين 1- اذا كان الاسماء للمعارض ثابته ممكن تعملها من خلال المصفوفه زى ماعرفنا قبل كدا زى كدا Private Sub UserForm_Initialize() Dim a As Variant a = Array("اليمن", "مصر", "سوريا", "الجزائر") ComboBox2.List = a End Sub 2- اذا كان الاسماء للمعارض متغيره اذن هنستخدم كود المجموعات مع شرط عدم التكرار فهيكون الكود كدا كما تعلمنا من قبل Private Sub UserForm_Initialize() On Error Resume Next Dim data As Range Dim group1 As Collection Set group1 = New Collection For Each data In Sheet1.Range("a2:a" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) group1.Add data, data.Text Next data With Me.ComboBox2 For i = 1 To group1.Count .AddItem group1(i) Next i End With End Sub وعند تشغيل الفورم سيكون كالتالى الخطوه الثالثه :- انا عايز عند الاختيار من الكمبوبوكس 2 يتم تعبئة الكمبوبوكس 1 بالاسماء التابعه له تلقائيا اذن هعمل كود فى حدث تغيير الكمبوبوكس 2 ( يعنى كل ما يتم تغيير قيمة الكمبوبوكس 2 تتغير تعبئة الكمبوبوكس 1) هجيب نفس الكود اللى كان فى بداية الدرس اللى هو التعبئة بناء على شرط مع تغيرات بسيطه واحطه فى حدث تغيير الكمبوبوكس 2 كالتالى Private Sub ComboBox2_Change() ComboBox1.Clear On Error Resume Next Dim data As Range Dim group1 As Collection Dim group2 As Collection Set group1 = New Collection Set group2 = New Collection For Each data In Sheet1.Range("b2:b" & Sheet1.Cells(Rows.Count, "b").End(xlUp).Row) If data.Offset(0, -1).Value = ComboBox2.Value Then group1.Add data, data.Text group2.Add data.Offset(0, 1).Value, data.Text End If Next data With Me.ComboBox1 For i = 1 To group1.Count .AddItem group1(i) .List(.ListCount - 1, 1) = group2(i) Next i End With End Sub اللى تم تغييره فى هذا الكود هو اضافه السطر الاول يعنى تنظيف ومسح محتوى قائمة الكمبوبوكس 1 لاستضافه البيانات الجديده حسب التعديل فى الكمبوبوكس 2 وايضا استبدال هذا السطر If data.Offset(0, -1).Value = "الجزائر" Then بالسطر التالى If data.Offset(0, -1).Value = ComboBox2.Value Then جعل الشرط حسب محتوى الكمبوبوكس 2 شاهد الصوره التالية عند اختيار مصر من الكمبوبوكس 2 سيظهر القائمة فى الكمبوبوكس 1 باسماء عملاء مصر فقط شاهد الصوره التالية عند اختيار سوريا من الكمبوبوكس 2 سيظهر القائمة فى الكمبوبوكس 1 باسماء عملاء سوريا فقط **** كدا عرفنا ازاى نقوم بتعبئة الكمبوبوكس بناء على شرط **** وكمان عرفنا ازاى نقوم بتعبئة الكمبوبوكس بناء على كمبوبوكس اخر( وطبعا فى طرق اخرى كتير جدا لتعبئة كمبوبوكس بناء على كمبوبوكس اخر ) يعنى درس النهارده دسم ومحتاج تركيز ولازم تجربو الكلام ده عملى ارجوا يارب ان اكون وفقت بالشرح والى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد وطريقه اخرى من طرق تعبئة الكمبوبوكس انتظرونا تقبلوا تحياتى1 point
-
أخي الكريم عبد الله عنصر التحكم الخاص بالنتيجة calendar المستعمل في الملف mscal.ocxغير موجود في أوفيس 2010 ولا يمكن وضعه في ويندوز 7 ولذلك قام بعض المبرمجين الإيطاليين بعمل هذا الكاليندر وقمت أنا فقط بوضع كود التعريب والاتجاه من اليمين لليسار يمكن استخدامه في الوورد والإكسل والباور وهكذا طريقة العمل: يجب وضع إطار في النموذج الجديد frame ثم إضافة الكاليندر للفريم ويمكن تغيير الكود الخاص بالضغط المزدوج على الكاليندر وهو هنا كتابة قيمة التاريخ في الخلية النشطة والسلام عليكم ورحمة الله وبركاته masCalendar.rar1 point
-
ارجو من الخبراء افادتي بامر تجاهل الهمزة والتاء والياء في النموذج المرفق وأين يوضع ولكم جزيل الشكر والإمتنان 0012.rar1 point