بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/21/15 in all areas
-
برنامج شئون الموظفين يعمل بالتاريخين الهجرى والميلادى. امكانية البحث برقم الموظف . امكانية ربط الموظف بصورة الموظف من اى مكان من الحاسب (وليس وضع الصور بجانب الملف كما كان مسبقا). امكانية حذف موظف او تعديل بيانات الموظف . اصدار تقارير عن موظف واحد بطباعة بياناته فى صفحة مستقلة. امكانية تصدير التقارير لملف اكسيل جديد باسم جديد. البحث بين تاريخين . امكانية طباعة عدد من الموظفين سواء (اسم الموظف - الراتب - الاقامات - الادارة التابع لها - او اى بيانات مدخلة ). التحكم فى تغيير اسم الشركة . نافذة امان قبل الدخول للبرنامج بكلمة مرور يمكن اظهار النافذة او اغلقها. امكانية التحكم فى اعدادات المظهر (خلفية البرنامج - لون الخط ). للاطلاع عن المزيد من الصور والشرح للبرنامج من هنا او الاطلاع على دليل المستخدم من البرنامج شكر خاص للأستاذ/ عبد الله باقشير حيث استخدمت الكثير من اكواده الاكثر من رائعه وكذلك باقى الاعضاء الاخرين ملاحظة : باسورد نافذة الامان الافتراضى 12345 باسورد vba وقاعدة البيانات وفتح الملف 12345 لابد من تمكين الماكرو ليعمل الملف فى النهاية نسألكم الدعاء بظهر الغيب emp.rar3 points
-
السلام عليكم المنتدى نايم بحاول أصحي الناس والناس بردو نايمه .. خير اللهم اجعله خير ... هو فيه مبارة كرة قدم ولا الناس كسلانة ولا تعبانة طيب للي مهتم بالأمر .. هل ترغب أن يقوم الإكسيل بالحفظ التلقائي كل 10 ثواني مثلا .. في حدث الورقة ضع الكود التالي Private Sub Workbook_BeforeClose(Cancel As Boolean) StopTimer End Sub Private Sub Workbook_Open() StartTimer End Sub وفي موديول جديد ضع الكود التالي Public RunWhen As Double Public Const cRunIntervalSeconds = 10 Public Const cRunWhat = "The_Sub" Sub StartTimer() RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds) Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _ schedule:=True End Sub Sub The_Sub() ActiveWorkbook.Save StartTimer End Sub Sub StopTimer() On Error Resume Next Application.OnTime earliesttime:=RunWhen, _ procedure:=cRunWhat, schedule:=False End Sub ويمكنك بالطبع تغيير الوقت المراد عمل الحفظ التلقائي على أساسه من خلال السطر الثاني Public Const cRunIntervalSeconds = 10 إليكم الملف المرفق Auto Save Every 10 Seconds.rar2 points
-
السلام عليكم ورحمة الله وبركاته اعضاء منتدانا الكرام هذه محاولة لعمل رسالة تلميحية لخلية بالاكواد ارجوا ان تنال اعجابكم. اعلم انه يمكنك عملها عن طريق اضافة تعليق و لكن هذه محاول عبر الكود بحيث يظهر التلميح عند اختيار الخلية المناسبة. الفكرة هى وضع شكل Shape و تنسيقه و من ثم تسميته بما تشاء (اسميته هنا بـ CellTip) بعدها يمكنك التحكم به كما في الكود التالي: Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet.Shapes("CellTip") If Not Intersect(Target, Range("B3:D12")) Is Nothing And Target.Count = 1 Then .Top = Target.Top + 20 .Left = Target.Left With .TextFrame2.TextRange.Characters Select Case Target.Column Case 2: .Text = "الاسم الأول متبوع بأسم العائلة" ' B = الاسم Case 3: .Text = "العمر بالسنوات" ' C = العمر Case 4: .Text = "عنوان الاقامة الحالي" ' D = العنوان End Select End With .Visible = True Else .Visible = False End If End With End Sub لمزيد من التوضيح انظر الملف المرفق. الحمد لله وحده الذي بنعمه تتم الصالحات Cell Tip.zip2 points
-
السلام عليكم و رحمة الله و بركاته اضطر غدا صباحا لسفر اضطراري قد يستغرق اسبوعا أو أكثر لذلك أعتذر ممن بدأت لهم مواضيع لم تكتمل بعد اما أن تعذرونني و تنتظرون الاكمال بعد عودتي أو اذا ممكن أحد من الزملاء ممن لديه وقت يكمل مابدأت به بالنسبة للشرح العادي بدون مرفقات لامانع قد أتمكن من القراءة و الرد من حين لآخر , لكن دون امكانية النظر في المرفقات تحياتي لكم2 points
-
تفضل أخى المظلوب وللأسف تم عملة بالكود لأن بالمعادلات ستكون طويلة بعض الشئ تقبل تحياتى جلب أجازات موظف.rar2 points
-
الاخوه الكرام طبعا من بدأ عرض فكره استخدام TAG هو الاخ الجموعى بارك الله فيه ولكن اسمحو لى بعرض مثال يبسط الفكره اكثر وهذا من وجهه نظرى تقبلو تحياتى Private Sub CommandButton1_Click() Dim Ctl As Control Dim Ctl1 As Control Dim i As Integer Dim i1 As Integer For Each Ctl In UserForm1.Controls If Not Ctl.Tag = "" Then For i1 = 1 To 1 ' åäÇ íÊã ÇÚØÇÁ Çááæä ÇáÇÍãÑ áÇì ßäÊÑæá ÞíãÉ ÇáÊÇÌ ÝíåÇ ÊÓÇæì ÇáÑÞã 1 If Ctl.Tag = i1 Then Ctl.BackColor = vbRed End If Next For i = 2 To 4 ' åäÇ íÊã ÇÚØÇÁ Çááæä ÇáÇÕÝÑ áÇì ßäÊÑæá ÞíãÉ ÇáÊÇÌ ÝíåÇ ÊäÍÕÑ Èíä ÇáÑÞã 2 æÇáÑÞã 4 If Ctl.Tag = i Then Ctl.BackColor = vbYellow End If Next End If Next End Sub TAG.rar2 points
-
السلام عليكم ورحمة الله تعالى وبركاته اخواني في المنتدى اقدم لكم هذا الملف الترحيل بواسطة خاصية TAG الفكرة في الفورم عمل ترقيم لكل مربع نص او كمبوبوكس بترتيب الاعمدة باستخدام TAG التكست بوكس الاول بياناته يتم ترحيلها للعمود 1 إذن يحمل التاج 1 التانى بياناته يتم ترحيلها للعمود 2 إذن يحمل التاج 2 التالث بياناته يتم ترحيلها للعمود 5 إذن يحمل التاج 5 الكمبوبوكس الأول بياناته يتم ترحيلها للعمود 3 إذن يحمل التاج 3 التانى بياناته يتم ترحيلها للعمود 4 إذن يحمل التاج 4 لاحظ الصورة التالية اتمنى ان اكون وفقت في ايصال المعلومة خالص تحياتي الترحيل بواسطة خاصية tag.rar2 points
-
الاخ الكريم (الصقر) الحقيقة مقدرش اقول لحضرتك غير جزاك الله عنى كل الخير الحمد لله الملف التانى حقق كل الى كنت بتمناه وانا دخلت على كود الحفظ وضبت الزمن ل3 ثوانى ودخلت على كود الزمن واضفت خليه لاضافة التاريخ عموما ليك كل الشكر ولكل الى فى المنتدى كل التحية بصراحة اول مرة اتعامل مع المنتدى ومكتشمتخيل سرعة الاستجابة وتحقيق مطلبى وحل مشكلتى امنياتى بدوام النجاح2 points
-
ماشاء الله عليك استاذ سليم .. طريقة ممتازة للبحث و عرض النتائج.. الى الان وجدت ثلاثة مهارات في ملف واحد .. البحث عن طريق Find و FindNext و معادلة عرض النتائج و كذلك برمجة Format Condition شكرا الله لك عن كل حرف كتبت2 points
-
معذرة استاذ عبدالرحمن والله شاركة هنا بدون لا اعلم فتح الموضوع هنا http://www.officena.net/ib/index.php?showtopic=58443 وعتب عليك خالد لفتح الموضوع مرتين2 points
-
طريقة عمل شاشة ( فورم ) ادخال وترحيل واستعلام وتعديل !! خطوة خطوة السلام عليكم اساتذة المنتدي وخبراؤه الكبار الاخوة الافاضل اعلم ان هذه الموضوعات قد قتلت بحثا وطلبا واجابة من الاعضاء وهناك امثلة كثيرة للاساتذة الافاضل الكبار والذي لايصل علمنا او ما لدينا كله الي ذرة واحدة من علمهم ولكني اردت ان اجعل المواضيع الاساسية في عمل اي برنامج في متناول الجميع بطريقة بسيطة وسهله اكثر ما يكون من خلال هذه السلسلة ( اعانني الله علي اكمالها كما ينبغي ) وقصدت ان يكون الموضوع بعنوان واضح ليستفيد منه الجميع عند البحث وسأقدم الشرح بطريقة الفيديو والاكسيل والورد احياناً (((( الدرس الاول )))) شاشة ( فورم ) لادخال بيانات والقيام بتسجيل وترحيل هذه البيانات الي صفحة الاكسيل و الاستعلام من خلالها عن طريق نفس الفورم والتعديل ايضا في البيانات في حالة ما اردنا التعديل في بيان قد سبق ادخاله وطبعاً والاكيد كله من علمكم اساتذتي الكرام الاجلاء وفي الدرس القادم سنتعرف علي بعض الاكواد المعاونة لشاشة الادخال او بمعني ادق اكواد نحتاجها مع شاشة الادخال مثل (تنسيق التكست بوكس ، الترقيم التلقائي في تكست معين ، تنسيق التاريخ في التكست بوكس .... ) واي استفسار .... في الخدمة دائما ... واي شئ غير واضح في الشرح علي استعداد تام لشرحه مرة اخري ومرات اخري واليكم ايضا في المرفقات : 1- ملف اكسيل به الاكواد والشرح هذه المرة داخل الكود ( تم شرح الكود سطر سطر بطريقة وافية وبسيطة جدا داخل الكود نفسه ) 2- عدد ( 3 ) ملف فيديو يشرح طريقة التصميم واضافة الاكواد وكذلك مشاهدة النتيجة جزاكم الله خيرا اساتذتنا اكسيل ..طريقة عمل شاشة ادخال 1.rar فيديو 1 .. طريقة عمل شاشة ادخال 1.rar الملف الفيديو الثاني والثالث في المشاركة التالية حيث لم يمكنني اضافتهم هنا1 point
-
السلام عليكم ورحمة الله وبركاته إخواني الكرام في الصرح العملاق أوفيسنا (الذي يعتبر بمثابة الأم التي تحتضن أبناء الوطن جميعهم) أقدم لكم موضوع بسيط جدا في كيفية تظليل عمود وصف الخلية النشطة بناءً على رغبة الأخ الحبيب أحمد غانم (حفظه الله ورعاه) إذا أردت تنفيذ الفكرة بنفسك قم بعمل الآتي : أولاً حدد خلايا ورقة العمل بأكملها ..مش صعبة يا أحمد ثانياً روح للتنسيق الشرطي ..واختار New Rule ثم Use a formula to determine which cells to format ثم اكتب المعادلة التالية : =COLUMN()=COLUMN(INDIRECT($P$1)) اضغط Format ثم التبويب Fill واختار اللون اللي على مزاجك (يا لذيذ يا رايق) كرر نفس الخطوات السابقة مرة أخرى واكتب المعادلة التالية أيضاً .. =ROW()=ROW(INDIRECT($P$1)) ثالثاً : كليك يمين على ورقة العمل ثم View Code واكتب الكود التالي : Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.ScreenUpdating = False Range("P1").Value = Target.Address Application.ScreenUpdating = True End Sub رابعاً ودي أهم خطوة : بس خلاص جرب الملف المرفق .. في الملف المرفق قمت بتلوين بعض النطاقات ، وعمل تنسيق شرطي للتأكد من أن الكود لا يؤثر بأي حال على التنسيق الشرطي الموجود ولا على الخلايا التي تم تلوينها من قبل ، ويسمح أيضاً بتلوين أي خلايا تريدها Highlight Activecell's Row And Column V2.rar1 point
-
بسم الله الرحمن الرحيم الاخوة الاعزاء أقدم لكم اليوم شرح مبسط عن الحلقه التكرارية For next انا هبدأ على طول بالامثله العمليه والتطبيقية حتى يتضح لنا ما معنى الحلقه وفيما تستخدم مثال 1 عدد عشرة صناديق ( كنت عامل رسم عشر صناديق لكن للاسف عند الحفظ طلب تقليل الوجوه التعبيريه) وهو ايه الصناديق دى ؟؟ / هقولك الصناديق دى كنوز وهدايا فيهم صندوق منهم فى ساعه هدية لحبيبى ياسر خليل انا بصراحه مش عارف ايه المناسبة بس اهو هدية وخلاص حبيبنا برضوا ولازم نكرمه معلش يا عم ياسر هنتعب واحد دلوقتى علشان يروح يجيب لك الساعه انتظر شوية وهتيجى لك الساعه لحد عندك انت غالى برضوا ولا ايه صحيح دا واحد صاحبنا قاعد مبسوط لانه بيسمع الماتش و الاهلى جاب جون امه هتنادم عليه ( مش هتنادى عليه ) هتنادم يعنى هيندم على اليوم اللى اتولد فيه طب ليه؟ لان أمه هتقوله روح للصناديق اللى فوق افتح صندوق صندوق وتعالى هههههههه أول شئ هتلاقى وشه عامل كدا زى ابولهب المهم صحبنا ده هيروح ياعينى للصناديق ويفتح العشرصناديق صندوق صندوق ويرجع طبعا لما يرجع هيعمل لامه كدا ويزعق انا عايز افهم انتى قلتى روح ليه ايه الفايده انى افتح الصناديق بس ضيعتى عليا الماتش لو عايزين نطبق الكلام الحلو ده بس بلغه Vba بتاعة عمنا بيل جيتس Sub hossam() For i = 1 To 10 Next End Sub هنا اول سطر الاعلان عن بداية الكود / السطر الثانى عملنا حلقه تكرارية For واسمها i اللى هو بالمثال فوق الصناديق وممكن تسميه اى حرف اخر كيفما يحلو لك وقلنا ان الصناديق تبدأ من اول صندوق الى اخر صندوق وهو 10 / السطر الثالث هو next وهى تعنى التالى صاحبنا هيروح لاول صندوق ويفتحه وبعدها يروح للصندوق الثانى ويفتحه يخلص وبعدها يروح للصندوق الثالث ويفتحه وهكذا والسطر الرابع يعنى نهاية الكود طبعا الكود ده ما فى منه اى فايده ليه يا عم لانك مقلتش له مهمه ينفذها انت بس قلتله لف على الصناديق زى لف التراك كدا ********************************************************************************************* مثال 2 الحاجه وابنها اللى فى المثال الاول هتقوله يابنى روح للصناديق وهات الساعه لعمك ياسر / افتح صندوق صندوق لو لقيت صندوق منهم فى ساعه مكتوب عليها هدية لعمك ياسر هتها وتعالى قالها وافرض لقيت الساعه باول صندوق ارجع ومكملش ههههههههههههههههه ولد زكى امه قالت له لا يا حبيبى افتح برضوا كل الصناديق افتحهم كلهم حتى لو لقيت الساعه فى اول صندوق طبعا صاحبنا هيعمل كدا الغيظ يا عينى هيطق من عينيه لو حبينا بقى نعمل الكلام ده بالبرمجه بالكود يعنى نعمل ايه Sub hossam() For i = 1 To 10 If "لو اى صندوق جواه ساعه " Then "طلع الساعه من الصندوق " End If Next End Sub الجديد هنا اننا استخدمنا قاعدة If يعنى شرط للمأمورية اللى هيقوم بها صاحبنا مش هيروح يفتح فى الصناديق بس ويرجع زى المره الاولى *********************************************************************************************** مثال 3 صاحبنا اللى فوق ده امه قررت انها تريحه وقالت له افتحى الصناديق يا حبيبى ولو لقيت صندوق فى الساعه هاتها وارجع ومتكملش فتح الباقى صاحبنا قال طيب وراح بدأ يفتح فى الصناديق اول صندوق ملقاش الثانى ملقاش الثالث ملقاش الرابع لقى الساعه جابه ورجع وقال يا فكيك مش هكمل فتح الباقى علشان نعمل الكلام ده بالكود هيكون كدا نفس الكود السابق بس اضافه حاجه صغيره جدا Sub hossam() For i = 1 To 10 If "لو اى صندوق جواه ساعه " Then "طلع الساعه من الصندوق " Exit For End If Next End Sub يعنى عندما يتحقق الشرط ارجع واخرج من الحلقه اللى هى For ومتكملش ******************************************************************************************** مثال 4 عايزين نطبق الكلام الحلو ده بس على امثله بالاكسيل فى الامثله السابقه هنستبدل الصناديق بالخلايا من A1:A10 وهيكون الساعه موجوده فى محتوى الخلايا معانا صوره فيها بيانات من الخلية A1 : A 10 لما نطبق الكود دا Sub hossam() For i = 1 To 10 If Cells(i, "A") = "ساعه" Then Cells(i, "B") = "مبروك" End If Next End Sub حته على الهامش cells تكتب هكذا ( العمود , الصف ) cells فى الكود اعلاه الصف هو i والعمود هو A وتم وضعه بين علامتى تنصيص "A" لما نطبق الكود هنلاقى النتيجة كما هو موضح بالصورة ********************************************************************* مثال 5 لو عايزين الكود لما يلاقى ساعه يطلع وميكملش هنضيف زى ما كلنا Exit For ويكون الكود كدا Sub hossam() For i = 1 To 10 If Cells(i, "A") = "ساعه" Then Cells(i, "B") = "مبروك" Exit For End If Next End Sub وهتلاقى النتيجة كما هو بالصورة مبين ********************************************************************************************* مثال 6 من الوضح ان الامثله السابقه الحلقه تبدا من 1 الى 10 أى معلوم بدايتها ونهايتها طيب لو عندى حلقه معلوم بدايتها وغير معلوم نهايتها يعنى العمود A البيانات فيه متغيره وفى ازدياد فى هذه الحاله نستخدم تعريف اخر خليه بها بيانات فى العمود كالتالى nn = Cells(Rows.Count, "A").End(xlUp).Row nn هنا هو تعريف اخر خليه بها بيانات ويتم استخدمها بالكود بعد ذالك بدل من كتابة Cells(Rows.Count, "A").End(xlUp).Row كل مره ( طبعا يمكن تغيرها الى اى حروف انت تحبها وبكدا هيكون الحلقه كالتالى For i = 1 To nn والكود كامل هيكون كدا Sub hossam() nn = Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To nn If Cells(i, "A") = "ساعه" Then Cells(i, "B") = "مبروك" Exit For End If Next End Sub ************************************************************************ مثال 7 كل الشغل اللى معمول ده على ان الحلقه بتعمل على الصفوف طيب انا عايزها تعمل على الاعمده يعنى الشكل زى الصورة دى بفرض انه غير معلوم اخر خليه بها بيانات فى الصف 1 هنعمل تعريف لها كالتالى nn = Cells(1, Columns.Count).End(xlToLeft).Column هو نفس تعريف اخر صف كما قلنا سابقا ولكن بختلاف ترتيب Cells عايزكم انتم تلاحظو الفرق الكود هيكون كالتالى Sub hossam() nn = Cells(1, Columns.Count).End(xlToLeft).Column For i = 1 To nn If Cells(1, i) = "ساعه" Then Cells(2, i) = "مبروك" Exit For End If Next End Sub الاختلاف هنا عن الكود بالمثال هو تعريف nn كما وضحنا سابقا وايضا فى ( Cells(1, i هنا cells الصف ثابت وهو 1 والعمود هو المتغيير i ولو ضغطنا على الزر سيكون نتيجة الكود كالتالى كما هو مبين بالصورة ************************************************************************************************* مثال 8 الصور الذى تم الشرح عليها كلها فى الورقه 1 من الملف يعنى البيانات ونتيجة البيانات كانت بنفس الورقة انا عايز اروح للورقه 2 واعمل زر واعيين عليه الماكرو بس حلقه For هتبحث عن البيانات بالورقه 1 هنعمل ايه امر بسيط جدا هنستخدم With وطبعا هنقفلها ب End With Sub hossam() With Sheet1 nn = Cells(1, Columns.Count).End(xlToLeft).Column For i = 1 To nn If .Cells(1, i) = "ساعه" Then [A1] = "مبروك" Exit For End If Next End With End Sub طبعا هو نفس الكود اللى بالمثال 7 والجديد هو استخدمنا With Sheet1 فى بداية الكود وقفلناه قبل نهاية الكود ب End With وقلنا لو تحقق الشرط خلى الخليه A1 = "مبروك" كما هو موضح بالصورتين صورة الورقه 1 اللى بها البيانات صورة الورقه 2 عند الضغط على الزر وظهور مبروك بالخلية A1 ********************************************************************************************** تعبت الولد معك يا عم ياسر المهم الحمد لله الولد نجح بالمهمه وجاب لك الساعه ودلوقتى بيتفرج على الماتش والاهلى جاب جون تانى والفرحه مش سيعاه *************************************************************************** أتمنى يارب أكون وفقت بالشرح ويكون سهل للاخوة الجدد المهتمين بالتعلم VBA يمكنكم شرح افضل من هذا على الرابط من اعمال الاخ الحبيب ياسرخليل حلقات افتح الباب يا عبدالتواب http://www.officena.net/ib/index.php?showtopic=56941= وايضا يمكنكم متابعه الرابط التالى للاخ الحبيب محمود الشريف http://www.officena.net/ib/index.php?showtopic=56000&hl= كما يوجد ايضا العديد من الشروحات التى تتناول الحلقه التكرارية For next يمكنكم البحث عنها داخل المنتدى تقبلوا تحياتى واتمنى لك التوفيق1 point
-
السلام عليكم اخواني في المنتدى اقدم لكم هذا الملف للتفتيش عن كلمة او رقم او حتى حرف ضمن نطاق معين راجياَ من اخي ياسر ان يضمه الى مكتبته الغرّاء find.rar1 point
-
السلام عليكم اخى الكريم يوجد شرح كامل لخطوات عمل المعادلتين بالتفصيل ارجو ان اكون قد وفقت فى التوضيح تحياتى اليك ارجوا المساعده.rar1 point
-
الأخ محمد ابو العباس السلام عليكم يبدو ان المعادلة تعمل مع كتابة اسم الشهر ايضاً لكن فقط باللغة الإنكليزية و الله اعلم لك مني جزيل الشكر على ملاحظتك و ثنائك الجميل1 point
-
استأذنك أستاذ / محمد الريفى لو ممكن تشرح لى معنى المعادلة جزء جزء إن اعطيتنى سمكة لأكلها .. فأنت بذلك أطعمتنى ليوم واحد إن علمنى كيف اصطاد السمكة .. فأنت بذلك أطعمتنى العمر كله1 point
-
تكمله بخصوص التعامل مع الألوان بواسطة الأكواد أقدم لكم كود كود تلوين تبويبات الأوراق بضغطه زر واحدة Sub Change_Sheet_Tab_ِColor() 'خاص بفهرس الألوان[Color] إعلان متغير Dim Color As Integer 'خاص بأوراق العمل[WS] إعلان متغير Dim WS As Worksheet 'القيمة 0= [Color] حيث المتغير Color = 0 'عند وجود اخطاءإنتقل التالي On Error Resume Next ' الحلقة التكرارية للبحث في أوراق العمل For Each WS In Worksheets '[Color]فهرس الألوان إبتداء من قيمة المتغير = [WS] لون تبويب أوراق العمل WS.Tab.ColorIndex = Color '1 +[Color]القيمة = [Color] حيث المتغير Color = Color + 1 ' التالي Next End Sub الملف المرفق Change_Sheet_Tab_ِColor.rar1 point
-
السلام عليكم بعد اذن استاذى الحبيب ملك المعادلات جمال عبدالسميع هذه محاوله منى بالمعادلات ربما تفيد تقبلوا تحياتى ارجوا المساعده.rar1 point
-
اخي كريمو2 ايه السؤال ده ياراجل ! تفضل واليك الخطوات : 1. اذهب الى الاستعلام المصدر واكتب التعبير التالي وطبعا سيحل محل العمود المعني : Expr1: nz([تأشيرة المراقب المالي];"/") 2. اذهب للتقرير وللمربع المعني وعدل الاسم ومصدر البيانات الى Expr1 وطبعا حذفت قناع الادخال او تركته لايهم هنا لاننا سنعرفه من خلال الكود التالي 3.اكتب الكود التالي في حدث عند التنسيق لتفصيل التقرير Private Sub تفصيل_Format(Cancel As Integer, FormatCount As Integer) If Me.Expr1 <> "/" Then Me.Expr1.InputMask = "CCCC بتاريخ CCCC/CC/CC" Else Me.Expr1.InputMask = "" End If End Sub بالتوفيق1 point
-
اذا كان العمل خيري فلامانع ان نساهم به جميعا لإنجاحه1 point
-
حفيدي الظريف .. ابو دم خفيف من زمان قلت وانا عند كلمتي .... انت فاكهة المنتدى1 point
-
لابأس لاتوجد مشكلة ، والخطأ وارد ، لكن كان ممكن ان تشير لمن رد في الموضوع الثاني الى تكرار الموضوع حتى لايحدث ذلك اللبس1 point
-
كود لتحويل امتداد الملف من XLSM الى XLSX (اي ملف بدون اكواد) ملف مرفق للتطبيق Public Sub ConvertXLSMtoXLSX() ' عرف متغيرات تشير للملف الحالي Dim SourceFile As String: SourceFile = ThisWorkbook.FullName Dim SourceName As String: SourceName = ThisWorkbook.Name Dim SourcePath As String: SourcePath = ThisWorkbook.Path & "\" ' عرف ملف مؤقت من اجل التحويل Dim TempFile As String: TempFile = Replace(SourceFile, ".xlsm", "_TEMP.xlsm") Application.DisplayAlerts = False ' احفظ الملف اولا ThisWorkbook.Save ' عرف متغير للوصول لملفات Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject") ' احذف الملف المؤقت اذا وجد On Error Resume Next fso.deletefile TempFile, True On Error GoTo 0 ' اعمل نسخة من الملف الحالي fso.CopyFile SourceFile, TempFile, True ' افتح النسخة المؤقتة Dim TempWB As Workbook Set TempWB = Workbooks.Open(TempFile) ' احفظ بأسم و حول امتداد الملف ActiveWorkbook.SaveAs Filename:=SourcePath & Left(SourceName, Len(SourceName) - 5) & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ' اغلق النسخة TempWB.Close Application.DisplayAlerts = True ' احذف النسخة المؤقتة On Error Resume Next fso.deletefile TempFile, True On Error GoTo 0 End Sub Convert XLSM to XLSX.zip1 point
-
السلام عليكم ورحمة الله تعالى وبركاته أستاذي الكريم ياسر أعرف ان الموضوع مكرر أرجو أن تقبل هذا التعديل والشرح على كود فهرس الألوان Sub ShowColorIndexNums() '[I] ,[N] إعلان متغيرين Dim I, N As Integer ' القيمة 0= [N] حيث المتغير N = 0 ' إضافة ورقة عمل جديدة قبل الورقة الأولى Worksheets.Add before:=Sheets(1) ' قيمة النص المدرج بين تنصيصين = [A1]قيمة الخلية 'اللون 6 من فهرس الألوان ال 58 لونا = [A1]تعبئة الخلية [A1].Value = "Color": [A1].Interior.ColorIndex = 6 ' قيمة النص المدرج بين تنصيصين = [B1]قيمة الخلية 'اللون 6 من فهرس الألوان ال 58 لونا = [B1]تعبئة الخلية [B1].Value = "Index Number": [B1].Interior.ColorIndex = 6 'إسم ورقة العمل = قيمة النص المدرج بين تنصيصين ActiveSheet.Name = "ColorIndex" ' [I]حلقة تكرارية للمتغير For I = 2 To 58 '[N]فهرس الألوان إبتداء من قيمة المتغير = [I]الي غاية أخر رقم في المتغير [A] قيمة العمود Range("A" & I).Interior.ColorIndex = N '[N]قيمة النص المدرج بين تنصيصين إبتداء من قيمة المتغير = [I]الي غاية أخر رقم في المتغير [A] قيمة العمود Range("A" & I).Value = "[Color " & N & "]" '[N]فهرس الألوان إبتداء من قيمة المتغير = [I]الي غاية أخر رقم في المتغير [B] قيمة العمود Range("B" & I).Value = "[Color " & N & "]" '[N]لون الخط في فهرس الألوان إبتداء من قيمة المتغير = [I]الي غاية أخر رقم في المتغير [B] قيمة العمود Range("B" & I).Font.ColorIndex = N 'ضبط محاذة النص = توسيط [I] الي غاية أخر رقم في المتغير [A1:B1] قيمة الخلايا Range("A1:B1" & I).HorizontalAlignment = xlCenter '1 +[N]القيمة = [N] حيث المتغير N = N + 1 ' التالي Next I 'إحتواء تلقائي لعرض العمود[B:B]في الورقة النشطة في كامل العمود ActiveSheet.[B:B].EntireColumn.AutoFit End Sub المرفق Color Index.rar1 point
-
لاداعي لكل هذه التفاصيل أن تكون في جداول منفصلة يمكن اضافة مايتعلق منها بالسيارات الى جدول السيارات و مايتعلق بحركة السيارات الى جدول حركات السيارات1 point
-
1 point
-
سلمت يداك عمل متقن وإبداع لا حدود له يعجز اللسان عن الشكر رزقك الله أخي الكريم من حيث لا تحتسبت ونسأله سبحانه أن يوفقك وييسر أمورك كلها1 point
-
1 point
-
بارك الله فيك أستاذ ابو خليل هي كما قلت : البرمجة مجالها واسع جدا و لكل مبرمج خيال و طلب الأخ السائل هو الذي يحدد ماذا يريد لاشك الطريقة التي قمتم بها حاليا أفضل بكثير و خاصة أن أبو الاء يقول أنه لازال في بداية الطريق فهذه الطريقة أنسب و اسهل له مع توضيح طريقة النسخ للبيانات القديمة و أنصح باعتمادها و الاستمرار عليها نظرا لسهولة امكانية التعديل عليها لاحقا لكن أنا رايي الشخصي من الناحية البرمجية " و ليس من باب التفضيل " أن استخدام قاعدة بيانات واحدة أفضل وقد عانينا منها معاناة كبيرة في شركتنا "أقصد طريقة تقسيم القاعدة الى سنوات" فعندما تريد أن تعرف بيانات حساب معين في سنة 1995 مثلا عليك احضار النسخ الاحتياطي لتلك السنة و ياسوأة ان ضاعت تلك النسخة !!!! هذا من ناحية , أما من ناحية ثانية و هي الأهم لو فرضا بعد عشر سنوات تم التعديل على تصميم الجداول ( و هو أمر منطقي و طبيعي مع الحاجة ) فبالتالي سيتم تعديل النماذج و التقارير عليها وفي هذه الحالة فان الجداول القديمة لن تعمل مع التقارير الجديدة ( في حالة تم اختيار طريقة الربط مابين قاعدة البيانات و الواجهة ) و هذه عيوب الطريقة الأولى أما قضية كبر حجم الملف فجداول الأكسس تستوعب أحجاما كبيرة من البيانات و المدرسة بحساب بسيط لو قلنا فيها مئة فصل , و كل فصل فيه خمسين طالب , اي 5000 طالب مجتمع كل سنة فيكون تقريبا عدد الطلاب الجدد " الصف الأول " سدس هذا العدد , اي 800 طالب أي بعد عشر سنوات سيصبح عدد السجلات 13,000 سجل فقط و هذا حجم قلبل على الأكسس فهو يستوعب أكثر من ذلك بكثير جدا أعذروني على المداخلة , يبقى مجرد راي شخصي , و الله أعلم و أعود للنصيحة الأولى و هي الاستمرار على الطريقة الحالية لأنها أسهل في رايي بالنسبة لصاحب السؤال1 point
-
جزاك الله خيرا استاذ رضوان اعتقد ان شرح وجهة نظر الاستاذ رمهان هو ما تفضل به اخونا الاستاذ محمد السوداني هنا http://www.officena.net/ib/index.php?showtopic=43668#entry252410 ولا شك هي افضل لمن كان ينوي تكبير القاعدة ولكن لايلزم وجود جدول للمراحل لان حاجتنا من الاعوام السابقة هي التقارير فقط وهذه الاخيرة يكفي فيها المعايير والفلترة وقد ذكر الاستاذ محمد وجوب اشتمال جدول الدرجات على الفصل الدراسي والسنة مع معرف الطالب1 point
-
اخى الفاضل بعد نظرة على السريع عمل جميل ما شاء الله عليه تحياتى ارجو مراجعة ملف البحث اعتقد انه لا يعطى نتائج1 point
-
استاذى احمد بكر عمل فى منتهى الروعه والاتقان زى مقال حبيبى ابن مصر استمر استمر استمر تقبل تحياتى1 point
-
اخى العزيز الاستاذ : أحمد بكر عمل أكثر من رائع جزاك الله كل الخير وجعله في ميزان حسناتك1 point
-
البرمجة مجالها واسع و كبير و لايقف خيال المبرمج عند حد و بقدر ما يقدم الأخ السائل من بيانات تفصيلية و توضيحية أكثر بقدر مايتم تقديم حلول أوسع و أنسب على سبيل المثال الحل الذي قدمه الأستاذ أبو خليل مناسب جدا لمثالك حل سهل و بسيط و غير معقد , لكن لو تبين لك بعد ذلك أنك تحتاج البيانات التاريخية للطلاب القدامى أو المتخرجين أو أنك تحتاج أن تعرف تسلسل المراحل التعليمية لكل طالب بالسنوات الدراسية فسيكون هناك حلول أخرى أيضا و منها الحل الذي قدمه الأخ رمهان ولو زدت في التوضيح أكثر فبالتأكيد سيكون هناك حلول أوسع و اشمل و لايؤخذ الموضوع اطلاقا على سبيل الزعل هي في النهاية خدمة تعليمية جزا الله القائمين عليها خيرا1 point
-
1 point
-
اخى الفاضل ماشاء الله بداية موفقة وعمل رائع .. استمر وجزاك الله كل الخير وجعل عملك في ميزان حسناتك تحياتي1 point
-
طريقة أبسط فى إيجاد تسلسل أيام الأسبوع وأسف لجعل كل أصدار فى مشاركة لأن كل طريقة مختلفة عن الأخرى وتوضح تدرك الفكرة للوصول لتبسيطها =TEXT(MATCH(A1,TEXT({1,2,3,4,5,6,7},"dddd"),0)+1,"dddd") تقبلوا تحياتى جميعا1 point
-
أخى وأستاذي الفاضل أ.ياسر والله أبدا لم أنساها وأعترف أنى مقصر في هذا الموضوع ولكن الله وحده يعلم ضغط العمل الذي عندي ... ان شاء الله سأحاول جاهدا تخصيص وقت كل يوم ولو لكود واحد ومن يتهمك أنه موضوع شخصي لك وفقط فهو انسان مريض والأفضل له أن يذهب للعلاج فأنت لم تنسب أى شئ لنفسك والموضوع متاح للجميع ولم يتم تسمية الأكواد باسم أصحابها، أرمى وراء ظهرك كلام أصحاب النفوس المريضة ودع عنك الإحباط "تفائلوا بالخير تجدوه" ستجدنا دائما معك وبجانبك في أى عمل خيري لا نريد به الا وجه الله تعالى .. جعل الله عملك في ميزان حسناتك وبارك الله لك في أهلك وصحتك ومالك تحياتي1 point
-
ربنا يخيلك حضرتك اروع بس ممكن حضرتك تقول لى حضرتك عملت التعديل ازاى انا عملت الشرط على مربع النص بعد التحديث بس مش شغال زى ماحضرتك عملته ومش لاقى اى استعلامات ومش فاهم حضرتك عملت ايه بصراحه ونفسى اعرف1 point
-
بعد إذن أخى الجموعي كان من الممكن فتح موضوع جديد لطريقة الترحيل هذه ولكن حتى يكون هذا الموضوع مرجعا لكل من يريد تعلم الترحيل بأبسط الطرق مهما كانت عدد العناصر داخل الفورم لديه .. فالطريقة الأولى طريقة استخدام التاج للعناصر داخل الفورم سواء ال TextBoxes أو الكمبوبوكس Combobox أو غيرها وتفضل الأستاذ الجموعي بشرحها وأرفق المثال عليها الطريقة الثانية هي طريقة توحيد مسميات العناصر داخل الفورم ومراعاة ترتيبها ... كما في الصورة التالية مرفق ملفين .. الأول للفورم بالاسماء الموجودة بالصورة ... والثاني تم تغيير الاسماء الى اسمي حتى أوضح أنك تستطيع تغيير الأسماء كما تريد ولكن مع مراعاة ترتيبها تحياتي مثال-الترحيل.rar1 point
-
اسير الشروق فكرتك رائعة ! المهم انها فكرة مغايرة ! ولكن لكي تزبط تمام لابد من تغيير اسم مربع النص في النموذج الرئيسي من "نص1" الى "id" فقط. بالتوفيق1 point
-
1 point
-
الحل تم عمله أخى ولكن لن أقوم بوضعة فى هذا المرفق حتى لاتتداخل الأجوبة ، ولتسهيل عملية البحث فى المنتدى لك ولزملائك لذلك أرجو أن تقوم بعمل مرفق مستقل ، كما سبق وأوضح لك الأستاذ الفاضل " ياسر خليل " ويمكن تسميتة " البحث عن أجازات موظف بمعلومية الأسم والتاريخ " تقبل تحياتى1 point
-
1 point
-
بارك الله فيك أخي الفاضل على كلماتك الرقيقة .. يبدو أنك شاعر .. وإليك أهدي الإصدار الأخير من المكتبة ... Codes Library v1.9.3.rar1 point
-
تتسابق الكلمات وتتزاحم العبارات لتنظم عقد الشكر الذي لا يستحقه الا انت اليك يا من كان له قدم السبق في ركب العلم والتعليم اليك يا من بذلت ولم تنتظر العطاء اليك أهدي عبارات الشكر والتقدير.1 point
-
برنامج المتابع للمخازن والموردين والعملاء اخى الفاضل هذ البرنامج هديه لك وشكرا على انتظارك البرنامج مرفوع هلى جزئين وشكر على انتظارك ولتشغيل البرنامج يمكنك مراسلتى على الرسائل الخاصه او على الرقم التالى 01119695088 &01113339522 هذا هو الجزء الاول1 point
-
1 point
-
بسم الله الرحمن الرحيم يقول تعالى : و ما أوتيتم من العلم الا قليلا فهذا شي يسير الحال من كثير مما أفتقد اليه من هذا العلم الواسع , و على قدر المستطاع أقدم لاخواني هذه الوصايا التي أسأل الله أن تفيدهم قبل الشروع ببناء برامجهم , وفقنا الله و اياكم لما فيه الخير أولا : عمل تحليل مسبق للبرنامج الكثير منا عندما يطلب منه تصميم برنامج , يبدأ مباشرة بتصميم الجداول المطلوبه جنبا الى جنب مع بناء النماذج , ثم يعود ان اضطره الأمر لاعادة بناء الجداول أو العلاقات و هكذا الى أن يتم انجاز البرنامج مما يطيل مدة انجاز البرنامج ناهيك عن دقة التصميم . و قد يغيب عن أذهاننا , و غالبا نكون على عجلة من أمرنا , أن نجاح أتمتة المشروع يعتمد اعتمادا كليا على دقة تحليل النظام و تصميمه بالشكل الصحيح تحليل النظام يعتمد اساسا على الخطوات التالية بشكل اجمالي : - تحليل نظام العمل و كيفية سيره على أرض الواقع اي آلية العمل الفعليه للنظام المراد وضع برنامج له و يكون ذلك بوصف دقيق من قبل من هو مختص بهذا المجال و يعايشه بشكل واقعي , فكم رايت من برامج محاسبية فيها ثغرات محاسبية فادحة , و بسؤالي عن مصمميها يتبين أنهم من غير ذوي الاختصاصات المحاسبيه أصلا . - وضع منهجية العمل الآلية للبرنامج الذي سيستخدم في هذا المجال - وضع المخطط التدفقي للمشروع و تصور النماذج و التقارير المطلوبه - في ضوء المخطط التدفقي يتم وضع تصور للجداول المطلوبه - وضع تفصيل الحقول المراد استخدامها في بناء الجداول ثانيا : عند تصميم الجداول ينبغي التمييز بين البيانات المدخلة و البيانات المخرجة , اذ أن البيانات المدخلة هي فقط التي تخزن في الجداول , أما البيانات المخرجة فقد تكون عبارة عن البيانات الأساسية المدخلة كما هي . أو قد يكون جرى عليها بعد العمليات الحسابية , مثلا اذا كنا نريد حساب القيمة و التي هي عبارة عن : القيمه = الكميه * سعر الوحده يمكن أن نضع حقلا للكميه المباعه و حقلا لسعر الوحده أما القيمة و التي هي عباره عن سعر الوحده * الكميه , فلا يجب أن يكون حقلا ضمن الجدول وذلك لأنه يتأثر بقيمة كل من الكمية و السعر فاذا تغير سعر الوحده فان الجدول لايستطيع حساب القيمه من تلقاء نفسه الا من خلال تشغيل كود معين , لذلك يستعاض عن هذا باستخراج القيمة من خلال استعلام يحوي حقل محسوب يساوي الكميه * السعر ثالثا : يجب فصل البيانات الخاصه بجزئيه معينه عن بعضها , مثلا اذا كان لدينا نظام مبيعات , أي لدينا مواد و زبائن , و حيث أننا نريد أن ندخل اسم العميل في الطلبيه , و نحتاج بنفس الوقت لمعرفة بيانات كامله عن هذا العميل , فاذا كنا سنقوم بادخال بيانات العميل هذه كل مره في جدول الطلبيات فسيكون هذا عملا مرهقا , لذلك يتم انشاءجدول مستقل لبيانات العملاء تجتمع فيه بياناتهم الكامله , و نكتفي في جدول الطلبيات بوضع حقل واحد لرقم العميل , و بعملية الربط بين الجدولين نستطيع معرفة مانريد من بيانات عن هذا العميل . رابعا : استتباعا للوصية السابقة , نؤلف جدول الطلبيات و يكون فيه حقل واحد لكود العميل و يكون الرقم المعرف للعميل و ليس اسمه , و لمزيد من التفاصيل يرجى مراجعة الموضوع التالي http://www.officena.net/ib/index.php?showtopic=6209 خامسا : مع عشقي و حبي الجارف للغة العربية و استخدامها في التخاطب و الكتابة و أعتبرها بحق أرقى لغات العالم , الا أنه و للأسف فان كتابة الأكواد تعتمد على اللغة الانكليزية , لذلك يكون من الأنسب و الأيسر أن يتم استخدام الأسماء الانكليزيه لكل مكونات قاعدة البيانات و خاصة اسماء الجداول و الحقول , لأن استخدام الأسماء الانكليزية أسهل أثناء العمل بالمعادلات و أكواد الفيجوال بيسيك سادسا : تجنب وضع مسافات في التسميات , مثلا اذا كنت تريد تسمية Product List فالأفضل وصلها هكذا ProductList سابعا : كثيرا مايتم بناء استعلام من جدول و يأخذ الاستعلام بشكل تلقائي نفس اسم الجدول , و حتى نميز بين الجدول و الاستعلام يفضل ابتداء اسم الجدول برمز tbl يليه اسم الجدول , مثلا الجدول Product يصبح TblProduct أما الاستعلام فيسبقه الرمز qry و يصبح QryProduct و قد نستدرك بعض الوصايا لاحقا هذا و الله أعلم1 point