بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 11/22/15 in all areas
-
بعد المقدمه الحلوه فى الدرس السابق اليوم نقدر نتكلم عن الدرس بتاعنا وهو كيفية اضافه عناصر تحكم داخل الــ Frame عند فتح الفورم أو أثناء عمل الفورم وهو نشط مثال رقم 1 :- نشاهد الصوره التاليه ده فورم فى مرحلة التصميم وصممت عليه Frame وكما تلاحظون ان اسمه فى الخاصيه Name وهو Frame1 وهو الاسم اللى هنستخدمه فى كتابة الاكواد انا عايز اعرف ازاى اضيف عناصر تحكم اثناء فتح الفورم على سبيل المثال عايز اعمل كود فى حدث فتح الفورم لكى يظهر الفورم عند الفتح كالتالى شاهد الصوره طيب ايه هو الكود اللى انا عايز اكتبه فى حدث فتح الفورم ؟ حتى يكون الفورم عند الفتح بهذا الشكل عايز اكتب كود اضيف فيه Label واضيف فيه TextBox واضيف فيه ComboBox طيب ازاى نعمل ده ؟ تعالو نبدأ بأضافه ComboBox شاهد الكود ونشرحه Private Sub UserForm_Initialize() With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox1") .Left = 20 .Top = 5 .Height = 40 .Width = 150 .BackColor = &HFFFFC0 .TextAlign = fmTextAlignCenter .FontSize = 20 .Font.Bold = True Dim a As Variant a = Array("ناجح", "راسب") .List = a End With End Sub الكود بكل بساطه يكمن فى السطر الاول استخدمنا With علشان اعرف الكود انى انا هتعامل مع الـ Frame1 فكتبت With Me.Frame1 طيب انا عايز ايه من الــ Frame1 عايز اضيف عنصر وهو ComboBox بداخله لذالك استخدمت Controls.Add طيب Controls.Add دى لها قاعدة ثابته اتكلمنا عنها قبل كدا (Controls.Add( ProgID , Name ,Visible ( "Controls.Add("Forms.Combobox.1" , "Combobox1 هنا Visible تكون التعبئة اختياريا وهى تحمل خيارين أما True أو False ويفضل عدم استخدامه ليه يا عمنا ؟ لان طالما فكرت تنشأ عنصر تحكم اثناء عملك على الفورم اذا انت اكيد عايز تظهره للمستخدم مش انك هتخفية ! بعد كدا عملت خصائص للكمبوبوكس الجديد اللى تم انشائه 1- الخاصيه Left ( وهى تعنى بعد هذا العنصر من الضلع الايسر للفريم بمقدار كذا ) انا قلت انه يبعد عن الضلع الايسر بمقدار 20 Left = 20. 2- الخاصيه Top ( وهى تعنى بعد هذا العنصر من الضلع الاعلى للفريم بمقدار كذا ) انا قلت انه يبعد عن الضلع الايسر بمقدار 10 Top= 10. 3- الخاصيه Height ( وهى تعنى كم يكون ارتفاع العنصر ) انا قلت ان ارتفاع العنصر 40 Height= 40. 4- الخاصيه Width ( وهى تعنى كم يكون عرض العنصر ) انا قلت ان عرضه العنصر 150 Width = 150. 5- الخاصيه BackColor( وهى خاصه بتحديد خلفية للعنصر) BackColor = &HFFFFC0. 6- الخاصيه TextAlign( وهى خاصه بتحديد المحاذاه للعنصر) TextAlign = fmTextAlignCenter. 7- الخاصيه Fontsize( وهى خاصه بتحديد حجم الخط للعنصر) FontSize = 20. 8- الخاصيه Font.Bold( وهى خاصه بتحديد سماكة الخط للعنصر) Font.Bold = True. 9- الخاصيه List( وهى خاصه بتعبئة الكمبوبوكس من خلال المصفوفه كما تلعمنا من قبل) طبعا ممكن تضيف خصائص اخرى للكمبوبوكس او تحذف خصائص من الامثله اللى ذكرناها كله حسب رئيتك انت وطبعا طالما فتحنا With أذن لازم نغلقها بــ EndWith ----------------------------------------------------------------------------------------------- بعد كدا عايز اضيف TextBox With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox1") .Left = 180 .Top = 5 .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF End With وطبعا الكود مش محتاج شرح لانه مفيش فى جديد ولكن هو عايز مهندس معمارى او شغال فى المساحه ليه ؟؟ لان لازم تحدد مكان العنصر فى الفريم وذالك سيكون من خلال الخاصيه Left كم يبعد التكست بوكس عن الضلع الايسر للفريم ؟؟؟؟ بكل بساطه انا فى الكمبوبوكس قلت يبعد 20 ثم عملت عرض الكمبوبوكس 150 اذن مجموعهم يساوى 170 يعنى المساحه بدأ من 0للضلع الايسر للفريم وحتى 170 مستغله أذن لازم يكون بعد التكست بوكس عن الضلع الايسر للفريم بمقدار اكبر من 170 فأنا عملت Left =180 ليكون هناك فاصل مقداره 10 بين نهاية الكمبوبوكس وبداية التكست بوكس الخاصيه Top اللى هى بعد التكست عن الضلع الاعلى للفريم خليتها=5 زى بالظبط الكمبوبوكس نفس البعد حتى يكون هناك تنسيق جمالى وكذالك الخاصيه Height ارتفاع التكست بوكس = 40 زى بالظبط ارتفاع الكمبوبوكس أما العرض Width جعلته 150 ( وتقدر تكبره او تصغره براحتك ) وباقى الخصائص معروفه ولا يوجد فيها شئ جديد ----------------------------------------------------------------------------------------------------- بعد كدا عايز اضيف Label With Me.Frame1.Controls.Add("Forms.Label.1", "Label1") .Left = 340 .Top = 5 .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = "الصقر" End With لازم تحديد مكان العنصر فى الفريم وذالك سيكون من خلال الخاصيه Left كم يبعد الليبل عن الضلع الايسر للفريم ؟؟؟ بكل بساطه انا عملت التكست بوكس يبعد عن الضلع الايسر بمقدار 180 وعملت عرضه 150 اذن 180+150=330 فأنا عملت Left =340 ليكون هناك فاصل مقداره 10 بين نهاية التكست بوكس وبين بداية الليبل الخاصيه Top اللى هى بعد الليبل عن الضلع الاعلى للفريم وجعلته = 5 نفس الكمبوبوكس والتكست بوكس لكى يكون هناك شكل منسق وجمالى وكذالك الخاصيه Height ارتفاع اليبل = 40 زى بالظبط ارتفاع الكمبوبوكس والتكست بوكس أما العرض Width جعلته 150 ( وتقدر تكبره او تصغره براحتك ) وباقى الخصائص معروفه ولا يوجد فيها شئ جديد شاهد الكود بشكله النهائى Private Sub UserForm_Initialize() With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox1") .Left = 20 .Top = 5 .Height = 40 .Width = 150 .BackColor = &HFFFFC0 .TextAlign = fmTextAlignCenter .FontSize = 20 .Font.Bold = True Dim a As Variant a = Array("ناجح", "راسب") .List = a End With With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox1") .Left = 180 .Top = 5 .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF End With With Me.Frame1.Controls.Add("Forms.Label.1", "Label1") .Left = 340 .Top = 5 .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = "الصقر" End With End Sub وعند تشغيل الفورم ستجد الفورم كما هو بالصوره ---------------------------------------------------------------------------------------------------------------------- مثال رقم 2 :- لو انا عايز اعمل عدد 10 لليبل وعدد 10 تكست بوكس وعدد 10 كمبوبوكس داخل الفريم واتحكم فى الاسكرول بار شاهد الصوره التاليه أول خطوه لازم افعل خاصيه الاسكرول بار الرأسى للفريم من شاشة الخصائص فى مرحله الخطوه الثانيه هكتب كود فى حدث فتح الفورم واستخدم الحلقه التكراريه For Next Private Sub UserForm_Initialize() Dim Top As Integer Dim i As Integer Top = 5 For i = 1 To 10 هنا مكان كتابة الكود السابق Top = Top + 40 Next Me.Frame1.ScrollHeight = Top End Sub فى أول الكود عملت تعريف لعدد 2 متغير Top & i ثم كتبت ان الـ Top قيمتها = 5 لماذا تساوى 5 ؟؟ (أولا ممكن تكتب اى رقم كما يحلو لك) وهو قيمة الفرق بين الضلع الاعلى للفريم والصف الاول من العناصر لذالك كتبت الــ Top = 5 ثم عملت حلقه تكراريه وسميتها i وقلت ان i تساوى من 1 الى 10 الحلقة لما تشتغل هيكون فى اول لفه له قيمة i تساوى 1 ثم ينتقل الى السطر التالى وهو Top = Top + 40 اذن ناتج المعادله هيكون Top = 5+ 40 لماذا رقم 40؟رقم 40 هو ارتفاع العناصر ( الليبل والتكست بوكس والكمبوبوكس ) يعنى قيمة الــ Top حتى هذه للحظه بعد أول لفه تساوى 45 ثم يصل الكود الى Next يعنى التالى ارجع الى الحلقه For وخلى قيمة i تساوى 2 ثم ينتقل الى السطر التالى وهو Top = Top + 40 اذن ناتج المعادله هيكون Top = 45+40 يعنى قيمة الـ Top حتى هذه اللحظه تساوى 85 وهكذا الحلقه بتلف وكل مره قيمة الــ Top بتزيد حتى اخر لفه للحلقه سيكون 405 وبعد انتهاء الحلقه سياتى الكود الى اخر سطر وهو Me.Frame1.ScrollHeight = Top يعنى ارتفاع الاسكرول بار هو = Top اللى هو 405 طبعا الخاصيه ScrollHeight اتكلمنا عليها قبل كدا بالتفصيل وعرفنا ان وظيفتها تحديد ارتفاع الاسكرول بار طيب تعالو بقى نحط الكود السابق اللى بالمثال الاول مع تعديلات بسيطه جدا شاهد الكود Private Sub UserForm_Initialize() Dim Top As Integer Dim i As Integer Top = 5 For i = 1 To 10 With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox" & i) .Left = 20 .Top = Top .Height = 40 .Width = 150 .BackColor = &HFFFFC0 .TextAlign = fmTextAlignCenter .FontSize = 20 .Font.Bold = True Dim a As Variant a = Array("ناجح", "راسب") .List = a End With With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Left = 180 .Top = Top .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF End With With Me.Frame1.Controls.Add("Forms.Label.1", "Label" & i) .Left = 340 .Top = Top .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = "الصقر" & i End With Top = Top + 40 Next Me.Frame1.ScrollHeight = Top End Sub ماذا تم تغييره فى الكود اللى كان بالمثال الاول ؟ 1- تغيير هذا السطر فى كل عنصر تحكم على سبيل المثال الكمبوبوكس (With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox" & i هنا الخاصيه Name لكل عنصر اسمه ComboBox & i فى اللفه الاولى للحلقه التكرارية سيكون قيمة i تساوى 1 اذن الكمبوبوكس فى الصف الاول هيكون الخاصيه Name اسمه ComboBox1 وفى اللفه التانيه للحلقه التكرارية سيكون قيمة i تساوى 2 اذن الكمبوبوكس فى الصف الثانى هيكون الخاصيه Name اسمه ComboBox2 وهكذا وذالك لكى يكون لكل كمبوبوكس اسم مختلف عن الاخر ونفس الكلام على الليبل والتكست بوكس 2- Top = Top. جعلت قيمة الخاصيه Top ( بعد العنصر عن الضلع الاعلى للفريم ) يساوى Top اللى هو قيمته كل مره بتتغير مع الحلقه التكراريه فى البدايه بيكون قيمته 5 فالعنصر فى الصف الاول هيبعد عن الضلع الاعلى للفريم بمقدار 5 وفى اللفه التانية للحلقه سيكون الــ Top قيمته 45 اذن العناصر فى الصف الثانى يبعدو عن الضلع الاعلى للفريم بمقدار 45 وهكذا ---------------------------------------------------------------------------------------- ارجوا ان اكون وفقت بالشرح والى لقاء اخر ومثال عملى رقم 3 وهيكون مهم جدا جدا جدا انتظرونا تقبلوا تحياتى6 points
-
السلام عليكم ورحمة الله أخي الكريم، هذا حل آخر بتعديل المعادلات وإضافة "عمود إضافي" العمود G (بمعادلات) في كل من ورقتي الغياب (AbsenceProf و AbsenceEleve) أرجو أن يفيدك في عملك ويفي بالمطلوب.... بن علية repport help++.rar3 points
-
أخي الكريم أبو يوسف يبدو أنني تهت منك كما تاه أخي الغالي مختار يا ريت توضح المطلوب بشيء من التفصيل دون نسيان أي جزئية لكي يتم العمل بشكل صحيح ... في المرفقات مجلدين بنين وبنات ...بهما ملفات CSV .. ما هو شكل المخرج النهائي ؟؟؟ أعتقد أننا انتهينا من مرحلة تجميع البيانات في مصنف واحد في عدة شيتات وإخراج البيانات بشكل يسهل التعامل معه .. ننتقل للجزئية التالية (وأفضل التعامل مع نقطة واحدة وبالتفصيل .. لكي لا يطول الموضوع بدون داعي) تقبل تحياتي2 points
-
وعليكم السلام . تفضل ، المرفق في هذا الرابط يقوم بفتح النموذج عدة مرات ، بدون ان يعمل نسخ جديدة: http://allenbrowne.com/ser-35.html جعفر2 points
-
2 points
-
السلام عليكمهذه طريقة لتصفح الانترنت من داخل برنامجك على الاكسيلكلها امثلة بسيطة قابلة للتحسين لتصبح ذو فائدة web.rar2 points
-
السلام عليكم اعتقد ان هناك طريقة ابسط من هذه ,لكن هذا ما توصلت اليه جرب المرفق تحياتي repport help+.rar2 points
-
السّلام عليكم و رحمة الله و بركاته أخي الكريم "محمّد عبد السّلام" .. أشكر أستاذنا القدير " طلعت محمّد حسن " على الملف الرّائع و الكود الأروع جزاه اللّه خيرًا و زادها بميزان حسناته حاولت رّفع الملف في حينه .. لكن صدّقني لم أستطع بسبب خلل في الأنترنت .. حيث لا يمكنني رفع ولو صورة منذ عدّة أيّام ..لا يمكنني و لو المشاركة برسالة .. و بما أنّها فاتورة .. و الفواتير تلزمها الدقّة و الثّبات فأضفتُ لك قائمة إختيارات من الكومبوبوكس و رسالة تأكيد قبل حذف السّطر .. كإثراء للموضوع و تنويع في الأكواد .. و أضفت لك كود الدّخول على شيت INVOICE ..أتمنى أن تفي بالغرض .. فائق إحتراماتي الفاتورة.rar2 points
-
سابعا تسمية command Button الأول Search والثانى Back و كتابة إسم موقع فى الخلية D2 كما بالصورة الأتية ثامنا /الضغط دبل كليك على command Button وكتابة الكود الأتى Private Sub CommandButton1_Click() link_name = Sheets("sheet1").Range("d2") Call Sheets("sheet1").WebBrowser1.Navigate(link_name) End Sub أرجوا أن أكون وفقت فى الشرح معلشى بقى أخى الحبيب / ياسر خليل شرحى على قدى2 points
-
السلام عليكم وهذه طريقه اخرى العمليه تتم عبر زر تحياتي Ali_Hid.rar2 points
-
السلام عليكم ورحمة الله بعد إذن اساتذنا الأعزاء الافاضل الهاشمي وأبو البراء الأخ صالح إليك الملف إن شاء الله يكون المطلوب أبو الحسن والحسين اخفاء صفوف محددة.rar2 points
-
2 points
-
خامساً :- كيفية اضافه عناصر تحكم داخل الــ Frame مع التحكم فى الاسكرول بار وذالك عند فتح الفورم او اثناء العمل على الفورم وهو نشط العنوان يبدو انه غريب شوية ومعقد انا بس محتاج من حضرتك تشرب كوباية شاى وتفتح زهنك معايا لان ده شغل محترفين والحمد لله احنا مشينا مشوار طويل فلازم يكون عندك ثقه بنفسك وتقتحم الصعاب وميهمكش طالما انت فى جامعه اوفيسنا بص يا سيدى العنوان ده بختصار ماذا يعنى ؟ طبعا احنا عارفين ان علشان اصمم عنصر تحكم لازم يكون من شاشة التصميم لكن انت عمرك فكرة او خطر ببالك انك تخلق أو تنشئ عنصر تحكم وانت شغال على الفورم مش فى مرحلة التصميم !!!!!! طبعا انتو عارفين انى اناعملى وعلشان افهم لازم اعمل مثال عملى فبالمثال يتضح لنا المقال شوف الصوره دى وخليك معايا اوعى تغمض عنيك هو ده موضوعنا اليوم ازاى نصمم اى عنصر تحكم اثناء فتح الفورم بكود فى حدث فتح الفورم او اثناء عمل الفورم تعالو على سبيل المثال نعمل كود فى حدث فتح الفورم Initialize كدا انا عملت سطر الاعلان عن المتغير وقمت بتسميته Label ( وممكن تسميه اى اسم كيفما شئت ولكن كما قلت افضل تسميته طبقا لاسم عنصر التحكم ) وقلت ان نوع المتغير من النوع MSForms.Label وعايز احول المتغير ده الى كائن بحيث اعرفه واقدر اتعامل معاه فأستخدمت set وهذه الكلمة هى لتحويل المتغير الى كائن القاعده الخاصه بـ Set هى الكائن = المتغير set الكائن = Set Label ما هو الكائن ؟؟؟ هو عنصر تحكم هيتم اضافته على الفورم Controls.Add ( تعنى اضافه عنصر ) القاعدة العامه للـ Controls.Add هى (Controls.Add(ProgID, Name ,Visible الجزء الثالث , الجزء الثانى , الجزء الاول الجزء الاول :- ProgID يكون اجبارى الادخال وهو يكون احدى عناصر الفورم كالتالى الجزء الثانى :-Name هو اسم العنصر اللى هيتم استخدامه فى كتابة الاكواد وهو يقوم بدور الخاصيه Name فى شاشة الخصائص ويكون تعبئة اختياريا ولكن يفضل كتابتة اذا كنت تريد التعامل مع هذا العنصر فيما بعد الجزء الثالث:-Visible ويكون تعبئة اختياريا وهو يحمل خيارين أما True أو False ويفضل عدم استخدامه ليه يا عمنا ؟ لان طالما فكرت تنشأ عنصر تحكم اثناء عملك على الفورم اذا انت اكيد عايز تظهره للمستخدم مش انك هتخفية ! اذن لما نيجى نحول المتغير الى كائن لنستطيع التعامل معه هنستخدم قاعدة Set وهيكون كالتالى Set label = Controls.Add("forms.label.1", "label") هنا فى قاعدة Controls.Add قمت بتعبئة الجزء الاول ProgID وهو "forms.label.1" وتم وضعه بين علمتى تنصيص والجزء الثانى Name هو "label" وتم وضعه بين علامتى تنصيص وهو هيكون اسم العنصر فى كتابة الاكود الجزء الثالث Visible كما قلت انه اختيارى فلم اقم بتعبئته لذالك سيقوم الفيجوال بيسك باستخدام True بشكل افتراضى كدا وصلنا بالكود الى الان كالتالى Private Sub UserForm_Initialize() Dim label As MSForms.label Set label = Controls.Add("forms.label.1", "label") End Sub طيب انا كدا قمت بتصميم العنصر Label وعايز اعمل له خصائص على سبيل المثال اسم الليبل يكون " الصقر " يبعد عن الضلع الايسر للفورم بمقدار 100 عرضه يكون 120 يبعد عن الضلع الاعلى للفورم بمقدار 50 الخلفيه تكون حمراء محازة النص يكون بالمنتصف حجم الخط 20 سماكة الخط عريض التاثير يكون بارز طبعا الكلام ده شرحناه فى دروس الليبل وهيكون كالتالى فى الكود Private Sub UserForm_Initialize() Dim label As MSForms.label Set label = Controls.Add("forms.label.1", "label") With label .Caption = "ÇáÕÞÑ" .Left = 100 .Width = 120 .Top = 50 .BackColor = &HFF& .TextAlign = fmTextAlignCenter .Font = 20 .Font.Bold = True .SpecialEffect = fmSpecialEffectRaised End With End Sub شاهد الصوره عند تشغيل الفورم عايزك تجرب تنشئ عنصر تحكم او عناصر تحكم غير الليبل لازم تجرب بنفسك يا عبدالتواب ناخد مثال اخر مثلا الكمبوبوكس شاهد الكود كالتالى ولاحظ الفرق بنفسك Private Sub UserForm_Initialize() Dim Combobox As MSForms.Combobox Set Combobox = Controls.Add("forms.Combobox.1", "Combobox") With Combobox .Left = 100 .Width = 120 .Top = 50 .BackColor = &HFF& .TextAlign = fmTextAlignCenter .Font = 20 .Font.Bold = True .SpecialEffect = fmSpecialEffectRaised .RowSource = "A2:A10" End With End Sub شاهد الصوره عند فتح الفورم طبعا دى كلها مقدمه للدرس بتاعنا اللى لسه الى الان مبدأناش الشرح فيه ولكن كان لازم نعرف يعنى ايه نضيف عنصر تحكم اثناء عمل الفورم وليس من شاشة التصميم للدرس بقية انتظرونا2 points
-
2 points
-
السّلام عليكم و رحمة الله و بركاته بارك الله فيكما الأستاذان القديران : ياسر العربي ياسر خليل أبو البراء جزاكما الله خيرًا و زادها بميزان حسناتكما على الأعمال المقدّمة من طرفكما و الحلول الأكثر من رائعة .. و بعد إذنكما بمشاركتكما بالموضوع من باب الاثراء و التّنويع بالحلول ..إضافة بعمل دوبل كليك لفتح الفورم بكامل الورقة في الورقة رقم 1.. و عمل دوبل كليك لفتح الفورم بنطاق محدّد في الورقة رقم 2 .. و عمل دوبل كليك بالورقة الثالثة لفتح الفورم بخلية محدّدة بذاتها ..الأكواد كلها بحدث الشيتات . فائق إحتراماتي و إعجاباتي دوبل كليك فتح الفورم.rar1 point
-
نعم أخي يمكن اعمل كليك يمين على ورقة العمل المطلوب العمل عليها ثم ضع الكود التالي Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) UserForm1.Show End Sub UserForm As Keybad YasserKhalil.rar1 point
-
السلام عليكم شاهد المرفق هذا كبداية عدل عليه ماتريد صراحه ليس لدي تصور للبرنامج الذي تريده ولاكن هذا ماذكرته في مشاركتك ستجده في المرفق والجميع معك حتى ننتهي من ماتصبو اليه ان شاء الله تحياتي الاقساط_Ali.rar1 point
-
1 point
-
1 point
-
حبيبى الغالى أستاذى ومعلمى القدير / ياسر خليل أنا بتعلم من حضرتك وكل مرة الشرح هايبقى أحسن من إللى قبلة واحدة واحدة وإنتظر حضرتك إللى جاى شرفت بمرورك وتشجيعك الدائم لى الذى يعطينى دافعة قوية لتقديم المزيد من الموضوعات القيمة تقبل خالص تحياتى وتقديرى1 point
-
1 point
-
ياحبيب قلبى كفايه ذوقك وأدبك وإن كان على الهزار مش هتلاقى حد فى هزارى بجد بجد انت نعم الاخ والصديق ومش هبطل طلبات1 point
-
معلش يا أبا يوسف خلينا نمشى خطوة خطوة أنت فهمت دلوقتى أنك عايز تضيف المعادلات آليا بعد جمع البيانات ؟ وكمان عمود المكتب يختلف من مصنف لآخر . تمام كده ولا فيه حاجة تانى ؟1 point
-
اخي الغالي انا كل كلامي من باب الهزار ليس الا احسن تكون بتزعل ولا حاجه من الشخط وجاري عمل الازم يارب يبطل طلبات بقي1 point
-
جزيت خير الجزاء أخي الحبيب ياسر فتحي على المجهود المبذول في الموضوع وشرح رائع ..ومتميز بارك الله فيك وننتظر المزيد من موضوعاتك الشيقة والممتعة .. بس بلاش كروتة واشرح بالتفصيل زي المشاركة اللي فاتت (رغم إنك كروت فيها بردو زر التعامل مع Back بس هنعديها لك المرة دي)1 point
-
أخى الحبيب / ياسر العربى ملف أكثر من رائع سلمت يمينك أخى الغالى جزاك الله به خيرا1 point
-
اخي الكريم ياسر خليل ، اعجز عن الشكر لك عن هذا الجهد المتميز وجازلك الله عني خير فعلا هو المطلوب تماما الله يكرمك يارب واسف عن التاخير1 point
-
1 point
-
أخى ياسر بارك الله فيك جميل الملف ده وخاصة وإن فيه لينك أوفيسنا بس يبقى أجمل و أجمل لو تخلينا ندخل على حسابنا مباشرة وآليا بواسطة الكود بدون عمل تسجيل دخول و ادخال باسورد يدوى1 point
-
أخي الحبيب عبد العزيز السلام عليكم جزاكم الله خيراً ...أنا مجرد ناقل للعلم ...ورب مبلَّغ أوعى من سامع أو ناقل وربّ حامل فقه إلى من هو أفقه منه هذه الخواطر ذكرتني بشيء كنت أتلذذ به عندما كان الأوفيس 2003 وكان الويندوز Xp حيث كنت أدربه على كلامي أنتقل إلى الإكسيل فيستجيب لكثير من الأوامر (طبعاً باللغة الإنكيزية) ولا أدري أين ذهبت هذه الميزة...التي كان يجب أن تمضي قدماً أو تتطور لتشمل لغتنا العربية الحبيبة.. وأكرر أنني ناقل علم لا أدعيه لنفسي والله خير الشاهدين. والسلام عليكم.1 point
-
1 point
-
السّلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا القدير " محمّد حسن المحمّد " على الدّروس القيّمة .. عمل أكثر من رائع .. و أخيرًا ظهر المستخبّي .. أدعو الله ألاّ يحرمنا منك و من إطلالاتك المثمرة و المميّزة و المفيدة بارك الله فيك .. جزاك الله خيرا و زادها بميزان حسناتك فائق إحتراماتي و إعجاباتي1 point
-
السلام عليكم هذه الصيغة C2<A2>E2 في المعادلة لا يقوم الاكسيل بمعالجتها كما تبدو, فلو استخدمت evaluate formula ستجد الخطوات كالاتي C2<A2>E2 ستتحوا في اول خطوة كا true>E2 فبذلك فبقية الخطوات ستكون خطأ . الافضل استخدام and كما ذكرت في ملفك ,المشكلة بس كانت في علامة < معمولة > جرب المرفق تحياتي Book210+.rar1 point
-
1 point
-
السلام عليكم أخي إسلام اعتذر منك ، فلم اتذكر رسالتك الاخيرة ، إلا في وقت متأخر البارحة ، حيث جهدي كان في احد مواضيع المنتدى الاخرى بس بسم الله ماشاء الله اشوفكم اكملت العمل عن طريق الاستعلام كذلك جعفر1 point
-
مشكور اخي الغالي ياسر علي مجهودك واعادة شرحك للموضوع ولاثراء الموضوع تفضل هذا مثال كنت قد وضعته منذ فترة في المنتدى لعله ينفع احدكم http://www.officena.net/ib/topic/64199-تصفح-الانترنت-من-داخل-برنامجك-على-الاكسيل/ ولكم كل الشكر والتقدير1 point
-
السلام عليكم جميعا ارجو من الاخ ابراهيم حلاوة اخبارنا بالنتيجة هل استفاد ام لا واذا استفاد على الاقل كلمة شكر للاخ edkawy وشكرا للجميع1 point
-
جرب On Error GoTo 10: DoCmd.OutputTo acOutputReport, "q1", acFormatPDF MsgBox "meeting report has been saved succefully", vbInformation, "saving confirmed" 10: بالتوفيق1 point
-
1 point
-
1 point
-
يلا ادي فكراية كدا علي الماشي لوحة مفاتيح سهلة جدا تعمدت اني اعملها سهلة ومعقدهاش بالاكواد عشان الموضوع يبقي موضوع السهل الممتنع ادي كود لوحة المفاتيح Range("K1") = Range("K1") & Selection شفت عبيط ازاي ABc.rar1 point
-
1 point
-
السلام عليكم اذا كان التقريرمصمم لا يمكن الاضافة عليه اما اذا تريد الاضافه فيمكنك عمل تقرير جديد من نفس مصدر البيانات وذلك من خلال Report Wizard منشاء التقارير واضافة مستويات تجميع للتقرير حسب الرغبه بالتوفيق1 point
-
السلام عليكم ورحمة الله وبركاته اخواني واخواتي الكرام في هذا الصرح الشامخ .. قبل فترة أحببت ان اتعلم على برنامج الاكسس وقواعد البيانات .. والحمد لله قدرت اتعلم بعض الاشياء المهمة .. وبما أني جديد في هذا المجال أحببت طلب المساعدة من حضراتكم .. عندي قاعدة بيانات تحتوي على جدول واحد ونموذج واحد .. الجدول يحتوي على هذه الحقول : اسم السائق + رقم السيارة + تاريخ إصدار التصريح + تأريخ الميلاد + التحصيل الدراسي سؤالي الاول : كيف اقوم بعمل إستعلام او عملية بحث عن رقم سيارة مثلا يعني لما ادخل على البرنامج اجد امامي خيار استطيع من خلاله ادخال رقم سيارة واضغط على زر بحث حتى اشوف كل البيانات المتعلقه بالسيارة .... والسؤال الثاني : في القاعدة المرفقة انا عملت جدول واحد ونموذج واحد كيف اتمكن من جعل النموذج يظهر عند فتح القاعده ؟؟ يعني لما انقر دبل كلك على ملف القاعده يظهر لي الواجهة الرئيسية للبرنامج او القاعده .. ومن خلال هذه الواجهة اقدر اقوم بإدخال بيانات جديدة او عمليات بحث عن بيانات موجوده مسبقاً كما في هذه الصورة http://im89.gulfup.com/bcU21O.png ارجو شرح هذين الامرين لي .. وجزاكم الله خيراً القاعده مرفقة .. Anas2.rar1 point
-
1 point
-
صحيح عدلت على المشاركه السابقه اخي ياسر الموقع قبل حوالي ساعه الا ماكان يقبل اكتب رد كان بيظهر مربع المرفقات فقط1 point
-
الأخ الغالي محبوب ... إليك إصدار آخر من الملف ..عله ينال رضاك ..قمت ببعض الإضافات ليكون الملف شامل وكافي ووافي لكل السنوات ... جرب الملف التالي (ولو عجبك غير أفضل إجابة وحددها هنا ..ليسهل للباحث فيما بعد الوصول بسرعة للحل المطلوب) متنساش تدعي لي ..ومتنسناش بفردة كاوتش من معرض السيارات (أي مصلحة منك ..!!) Three Loops In Two Excel Files By YasserKhalil V2.rar1 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
-
وجرب هذا الاستعلام لتستغني عن التقسيمة و توجد الاسم الاخير ايا كان موقعه SELECT TabNames.ID, TabNames.FullName,right(fullname,len(fullname)-instrrev(fullname," ")) from tabnames تحياتي1 point
-
1 point