نجوم المشاركات
Popular Content
Showing content with the highest reputation on 11/21/15 in مشاركات
-
خامساً :- كيفية اضافه عناصر تحكم داخل الــ 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 شاهد الصوره عند فتح الفورم طبعا دى كلها مقدمه للدرس بتاعنا اللى لسه الى الان مبدأناش الشرح فيه ولكن كان لازم نعرف يعنى ايه نضيف عنصر تحكم اثناء عمل الفورم وليس من شاشة التصميم للدرس بقية انتظرونا4 points
-
بســــــــــــــــم الله الرحمــــــــــن الرحـــــــــــــــــــــــيم الســــــلام عليكــــــــــــــــم و حمة الله و بركاته اخواننا الكرام ، نظرا لكثرة المشاركات حول تقريب الكسور الارقام ، حبيت اشارككم الوحدة النمطية بـ 3 دوال (RoundUp) (RoundHalf) ( RoundDown) دالة : RoundUp([Number],3) للتقريب رقم 33.3333 الى 3.334 او 3.3331 الى 3.334 و هكذا دالة: RoundHalf([Number],3) للتقريب رقم 33.3336 الى 3.334 او 3.3335 الى 3.333 و هكذا و السبب تسمية الدالة بهذالاسم ، وجود دالة باسم Round في الاكسس و انا سميتها RoundHalf دالة: RoundDown([Number],3) للتقريب رقم 33.3336 الى 3.333 او 3.2231 الى 3.223 و هكذا و المرفق يحوي ملفين الاول للعرض ارقام مقربة حسب تنسيق مثلا: عند اختيار اربع منازل أعشار 5.4400 ، 5.4444 ,5.2000 و الثاني بدون تنسيق مثلا : 5.4444 ، 5.44 , 5.2 ابو عارف Round-RowndUp-RowndDown.rar3 points
-
السلام عليكم الاستاذ الفاضل / ابو سليمان شكرا جزيلا على مرور حضرتك المحفز .. جزاك الله خيرا اخى الكريم جرب المرفق فلترة.rar3 points
-
استعمل هذا الكود Sub DeleteAllPics() Dim Pic As Object For Each Pic In ActiveSheet.Pictures Pic.Delete Next Pic End Sub3 points
-
3 points
-
اخى الفاضل / ياسر فتحى اولا اعتذر لحضرتك عن التاخر بالرد لكن لم ادخل الموقع من يومين شاكر لحضرتك مجهودك الطيب واسال الله تعالى ان يكون بميزان حسناتكم وان يكون علم نافع بخصوص الملاحظات لن ازيد عن ما قاله الاخ ياسر العربى ارجوا من حضرتك تداركها تقبل منى وافر الاحترام والتقدير3 points
-
Sub CollectDataFromMultipleWorkbooks() Dim OpenFiles Dim crntfile As Workbook Set crntfile = Application.ActiveWorkbook Dim X As Integer Dim SH As Worksheet Dim Arr, Temp, I As Long, J As Long On Error GoTo ErrHandler Application.ScreenUpdating = False OpenFiles = Application.GetOpenFilename(FileFilter:="Microsoft Excel Files (*.csv;*.xlsx;.xlsm),*.csv;*.xlsx;*.xlsm", MultiSelect:=True, Title:="Select Excel File To Merge!") If TypeName(OpenFiles) = "Boolean" Then MsgBox "You Need To Select At Least One File" GoTo ExitHandler End If X = 1 While X <= UBound(OpenFiles) Workbooks.Open Filename:=OpenFiles(X) Sheets().Move After:=crntfile.Sheets(crntfile.Sheets.Count) X = X + 1 Wend Sheets("Master").Activate For Each SH In ThisWorkbook.Sheets With SH If .Name <> "Master" Then Arr = .Range("A1").CurrentRegion.Value For I = 1 To UBound(Arr) Temp = Split(Arr(I, 1), ";") For J = 1 To UBound(Temp) .Cells(I, J) = Temp(J) Next J Next I .Range("A1").CurrentRegion.Columns.EntireColumn.AutoFit End If End With Next SH ExitHandler: Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub أخي الحبيب مختار بارك الله فيك على الكود الرائع الذي قدمته لنا على طبق من ذهب أخي الكريم صاحب الموضوع ..يرجى تغيير اسم الظهور للغة العربية (راجع التوجيهات في الموضوعات المثبتة في المنتدى) جرب الملف التالي بعد إضافة بسيطة لكود الأخ المتميز مختار ليقوم بفصل العمود الواحد لعدة أعمدة تقبل تحياتي Collect Data From Multiple CSV Workbooks Mokhtar V1.rar2 points
-
راجع كود "TextBox7_Change" لايوجد اي تعيين للعمود 9 في الليست بوكس لذا قم بإدراج السطر التالي ليأخذ عنوان خلية نتيجة البحث ويدرجها في العمود 9 لليست بوكس ListBox9.List(V, 9) = q.Address الصقه قبل السطر V = V +1 ثم الغي تحديد نوع القيم في كود "ListBox9_Click" مثال ComboBox3.Text حطيته يستقبل نص .Range(DADA).Value ويساوي قيمة ؟ Private Sub ListBox9_Click() Sheets("sheet2").Select Dim DADA As String Dim MySh As Worksheet 'On Error GoTo 1 DADA = ListBox9.List(ListBox9.ListIndex, 9) Set MySh = Sheets("sheet2") With MySh .Application.Range(DADA).Activate ComboBox3.Text = .Range(DADA).Value ComboBox2.Text = .Range(DADA).Offset(0, 1).Value TextBox4.Text = .Range(DADA).Offset(0, 2).Value TextBox5.Text = .Range(DADA).Offset(0, 3).Value TextBox6.Text = .Range(DADA).Offset(0, 4).Value TextBox7.Text = .Range(DADA).Offset(0, 5).Value ComboBox1.Text = .Range(DADA).Offset(0, 6).Value End With End Sub لذا ليس ضروري تحديد قيمة اتركه بدون وفعل سطر الخروج من الكود في حالة حدوث خطاء 'On Error GoTo 1 وهذا الكود حدث ListBox9_Click بعد تعديل الاخطاء المذكوره اعلاه Private Sub ListBox9_Click() Sheets("sheet2").Select Dim DADA As String Dim MySh As Worksheet On Error GoTo 1 DADA = ListBox9.List(ListBox9.ListIndex, 9) Set MySh = Sheets("sheet2") With MySh .Application.Range(DADA).Activate ComboBox3 = .Range(DADA) ComboBox2 = .Range(DADA).Offset(0, 1) TextBox4 = .Range(DADA).Offset(0, 2) TextBox5 = .Range(DADA).Offset(0, 3) TextBox6 = .Range(DADA).Offset(0, 4) TextBox7 = .Range(DADA).Offset(0, 5) ComboBox1 = .Range(DADA).Offset(0, 6) End With 1 End Sub2 points
-
السلام عليكم ورحمة الله وبركاته لقد تناولت فى موضوعى السابق " إزالة أو إبقاء آثار التنسيق الشرطى " على الرابط التالى http://www.officena.net/ib/topic/64950-%D8%A5%D8%B2%D8%A7%D9%84%D8%A9-%D8%A3%D9%88-%D8%A5%D8%A8%D9%82%D8%A7%D8%A1-%D8%A2%D8%AB%D8%A7%D8%B1-%D8%A7%D9%84%D8%AA%D9%86%D8%B3%D9%8A%D9%82-%D8%A7%D9%84%D8%B4%D8%B1%D8%B7%D9%89/ كيفية ازالة التنسيق الشرطى و تبعاته من تنسيقات ... أو الابقاء على تلك التبعات والتنسيقات و تحويلها من تنسيقات شرطية الى تنسيقات عادية و اليوم بإذن الله تعالى أقدم لكم كودا بسيطا لكن يمكن أن تكون آثاره و نتائجه من وجهة نظرى المتواضعة جميلة و مبهرة و الرأى لكم فى النهاية الكود : Sub creatingFormats() On Error Resume Next For Each cell In Range("data") Range("formats").Cells(cell.Value).Copy cell.PasteSpecial Paste:=xlPasteFormats Next cell On Error GoTo 0 Application.CutCopyMode = False End Sub الكود يقوم بعمل تنسيقات عادية فى نطاق محدد هو data طبقا لتنسيقات يمكنك تعييرها فى خلايا نطاق آخر هو formats يمكن تطويع هذا الكود فى حال الرغبة فى عمل تنسيقات عادية متعددة داخل نطاق . تحياتى لكم و الى اللقاء بإذن الله تعالى مع كل جديد ومفيد كن حذرا ... أبو ضحكة جنان قاعد لك فى الملف أخوكم مختار حسين محمود الصعيدى تنسيقات بلا حدود.rar تنسيقات بلا حدود.rar2 points
-
السلام عليكم ورحمة الله وبركاته أخى العزيز ناصر المصرى بارك الله فيك ... أشكرك أخى الكريم على هذا الكلام الكبير الذى أسعدنى كثيرا ..و مشكور أيضا على مرورك الكريم أخى و حبيبى و أستاذى الكبير ياسر خليل يعلم الله عز وجل أننى أعتز بأنك أحد أهم الذين تعلمت - ولا زلت أتعلم - منهم ... تقبل الله منا و منكم صالح الاعمال أخى و حبيبى الغالى ياسر فتحى بارك الله فيك ... أشكرك أخى الغالى على هذا التشجيع الكبير و المستمر تقبل الله منا و منكم صالح الاعمال أخى و حبيبى العزيز عبدالغزيز بارك الله فيك ... أشكرك أخى الغالى على كلامك الطيب و مرورك الكريم ... تقبل الله منا و منكم صالح الاعمال2 points
-
السلام عليكم و رحمة الله و بركاته و تحية خاصة للاستاذ جعفر الأخ حسين : اضافة سطر بسيط في الكود السابق ستنحل المشكة ان شاء الله DoCmd.OpenReport "medicine", acViewPreview, , , acHidden DoCmd.SelectObject acReport, "medicine" DoCmd.PrintOut , , , , Me.t3 DoCmd.Close acReport, "medicine" بالتوفيق2 points
-
السلام عليكم ورحمة الله وبركاته جزاكم الله خيراً..وكما يقال :(إيدك معي ) وإن شاء الله سيكون متجدد ..بمشاركاتكم الطيبة. إن صار لي مجال اليوم سأعرض طريقة الفرز حسب الصفوف - فرز أفقي - بالتفصيل إن شاء الله تعالى فكر بحاجة تانية يا عربي ..والسلام عليكم.2 points
-
الله يبارك فيك ياعم الحاج والله ياراجل حاجات مكناش بنبص ليها خالص وعجبتني الفكرة ايه رأيك كل يوم تطبيق اختصار او اتنين2 points
-
تتسم دائما بالموضوعات القيمة بارك الله فيك وفى انتظار كل ماهو جديد من شخصية تتسم بالهدوء والعطاء وافر تقديرى واحترامى2 points
-
السلام عليكم Private Sub ListBox1_Click() ''********************* '' الذهاب الى الورقة المسماه ورقة1 Sheets("ورقة1").Select '' متغير لحفظ قيمة نصيه Dim DADA As String ''MySh متغير لورقة في المصنف للتعبير عن الورقة في الكود بمسمى Dim MySh As Worksheet 'On Error GoTo 1 '' اخذ القيمة من العمود الـ 9 في الليست بوكس والتي هيا عنوان الخليه من السطر المحدد في الليست بوكس DADA = ListBox1.List(ListBox1.ListIndex, 9) ''كتعبير عن الورقة المسماه "ورقة1" MySh تعين المتغير Set MySh = Sheets("ورقة1") ''With ادرج في اطار Myshلتعدداستخدام متغير '' للتعبير عن المتغير بأكثر من سطر دون ذكر المتغير بكل سطر '' . مع التعبير بعلامة With MySh ''للذهاب للخليه المعنيه في البحث Range في تعبير DADA ادراج متغير '' Range.address حفظ فيه عنوان الخليه DADA اعتباراً ان متغير .Application.Range(DADA).Activate ''ComboBox3 وحقظه في DADA اخذ قيمة الخليه من متغير ComboBox3.Text = .Range(DADA).Value ''ComboBox2 مع ازاحه بقدر عمود وحقظه في DADA اخذ قيمة الخليه من متغير ''B1 مع ازاحة عمود ستصبح الخليه المعنيه A1 اي اذا فرضنا الخليه هيا ComboBox2.Text = .Range(DADA).Offset(0, 1).Value ''TextBox4 مع ازاحه بقدر عمودين وحقظه في DADA اخذ قيمة الخليه من متغير TextBox4.Text = .Range(DADA).Offset(0, 2).Value ''TextBox5 مع ازاحه بقدر 3 اعمده وحقظه في DADA اخذ قيمة الخليه من متغير TextBox5.Text = .Range(DADA).Offset(0, 3).Value ''TextBox6 مع ازاحه بقدر 4 اعمده وحقظه في DADA اخذ قيمة الخليه من متغير TextBox6.Text = .Range(DADA).Offset(0, 4).Value ''TextBox7 مع ازاحه بقدر 5 اعمده وحقظه في DADA اخذ قيمة الخليه من متغير TextBox7.Text = .Range(DADA).Offset(0, 5).Value ''ComboBox1 مع ازاحه بقدر 6 اعمده وحقظه في DADA اخذ قيمة الخليه من متغير ComboBox1.Text = .Range(DADA).Offset(0, 6).Value '' Myshالخروج من اطار متغير End With ''********************* End Sub2 points
-
الأعضاء الأعزاء أسعد الله أوقاتكم بكل خير فيما يلي الدرس الأول من دورة "إكسيل 2013 المستوى المتقدم" بعنوان: التنسيق الشرطي المتقدم (المعتمد على المعادلات) سيتم نشر باقي الدروس تباعاً في هذا الموضوع بالإضافة الى نشر كل درس في موضوع مستقل خاص به لسهولة الوصول الى كافة الدروس... فانتظرونا ***ملاحظات*****... ملاحظة 1/ المتطلب السابق لهذه الدورة: معرفة جيدة باستخدام برنامج اكسيل ويمكن لمن أحب الرجوع لدورتنا السابقة "مهارات استخدام برنامج اكسيل 2013 " والتي نشرح فيها أساسيات ومبادئ برنامج الاكسيل. سوف تجدون رابطها في الرابط التالي: ملاحظة 2/ ملف التمارين الخاص بهذا الدرس موجود في الرابط التالي: http://www.4shared.com/file/NNsDhqPQce/1-_conditional_formatting_form.html ملاحظة 3/ لا تنسوا الاشتراك في قناتنا على اليوتيوب حتى يصلكم كل ما هو جديد أولا بأول ملاحظة 4/ لايك و شير x الخير حتى تعم الفائدة دمتم بخير أخوكم م/نضال الشامي Google+ Twitter1 point
-
خواطر إكسيلية أساتذتي الكرام إخوتي الأحبة السلام عليكم ورحمة الله وبركاته: بدا لي أن أكتب موضوعاً لا يقف حكراً على أحد – بل بإمكان كلٍّ منا أن يجود بما يخطر له من مواضيع الإكسيل التي يريد أن يفيد بها - وهنا أنطلق من كلمة إكسل التي تعني البراعة أو كما يحلو لنا أن نسميها في بلدي المكلوم "برنامج الجداول الإلكترونية" : ولذلك فإنني سأنطلق من خاطرة أولى تتحدث عن بعض اختصارات برنامج الإكسيل التي نصادفها بشكل يومي كما يلي: اختصارات لوحة المفاتيح في الإكسيل: إظهار(عرض) الصيغ في الخلايا بدلاً من نتائجها المحتسبة CTRL + ~ سابقة أثر(الخلايا التي أثرت في قيمة الخلية الحالية CTRL + [ تاريخ اليوم CTRL+ ; اختيار(تحديد كل) الجدول الحالي CTRL+ * الوقت الحالي CTRL+SHIFT+ ; نسخ من الخلية المجاورة بالأعلى CTRL+ ' هذا ما استطعت عرضه في عجالة من أمري وسيتبع إن شاء الله تعالى بمواضيع أخرى والسلام عليكم خواطر إكسيلية.rar1 point
-
بارك الله فيك استاذ جعفر منكم تعلمنا ومازلنا نتعلم انتم استاذتنا ومعلمينا واقل شئ نشكركم فهذا حقكم علينا نحن الطلاب غفر الله لك ولوالديك وأسال الله ان يجعل كل ماتقدمونه صدقة جارية وفي ميزان حسناتكم تحياتي1 point
-
موضوع رائع ومتميز .. ولكن أخي ياسر يبدو أنني أفضل الشرح بشكل يدوي .. قم بشرح الخطوات مكتوبة لتعم الفائدة .. تقبل تحياتي1 point
-
يلا ادي فكراية كدا علي الماشي لوحة مفاتيح سهلة جدا تعمدت اني اعملها سهلة ومعقدهاش بالاكواد عشان الموضوع يبقي موضوع السهل الممتنع ادي كود لوحة المفاتيح Range("K1") = Range("K1") & Selection شفت عبيط ازاي ABc.rar1 point
-
اخى الفاضل خالد الرشيدى ... هذا هو المطلوب بالضبط ..شكرا لك .. وزاذك الله علما1 point
-
1 point
-
1 point
-
السلام عليكم كسر حماية هذا الملف صعبة جدا ان لم اقل مستحيلة ساحاول مجددا واخبرك بالنتيجة1 point
-
من الصعب ان يتم فك حماية ملفات محمية بكلمة مرور اخي الغالي سليم مشكور لارفاق هذا الحل الذي هو بالاساس عبارة عن كود ماكرو يتم وضعه داخل ملف بالفعل هو يدعم الماكرو ولكن نحن الان امام ملف xlsx محمي بكلمة مرور للملف نفسه ولا يمكن فتحه لوضع اي كود به ناهيك عن ان الملف لا يدعم الماكرو من الاساس ولكم كل الشكر والتقدير وان شاء الله نجد طريقة لكسر مثل تلك الحماية1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته...جزاكم الله خيراً أخي وأستاذي الحبيب " الصقر" على التشجيع مروركم يشرفني ويشرف مشاركتي أنتم جميعاً ... إنما هو غيض من فيض بحوركم الزاخرة...حاولت الإطلالة على شواطئكم فاستقيت منها شذرات واقتبست من أنواركم...حتى أضيء ليلي الداجي. ...أما المنتظر فهو من البحور الزاخرة لا من السواقي الصغيرة.. وإن كنا لا نستهين بصغائر الأمور لأن الجبال الراسية من الحصى. والسلام عليكم.1 point
-
استاذى الحبيب / ابويوسف اعتذر عن التاخير بالمشاركة ولكن والله لم ارى الموضوع الا الان جزاكم الله خيرا على هذه الابداع وهذه الشراره التى اطلقتها اسال الله تعالى ان يزيدك من علمه وفضله منتظرين الكثير والكثير من ابداعاتك وطلع الكنوز يا ابويوسف تقبل تحياتى1 point
-
السلام عليكم ورحمة الله وبركاته أستاذى القدير / حسام عيسى لقد إستأذنت حضرتك فى مشاركة لى فى موضوع حضرتك الذى بعنوان سلسلة علمنى كيف اصطاد ( الفورم ) Forms بتجميع كافة الدروس حتى تاريخة وتحويها إلى PDF حتى يستفاد منها الجميع وها قد تم تجميعاعلى الرابط التالى http://www.mediafire.com/download/m64wkvz21ymd695/حسام+عيسى.rar نظرا لحجمهم وعدم القدرة على رفعهم بالمنتدى تقبلوا خالص تحياتى وتقديرى1 point
-
1 point
-
اعتقد ان الموضوع مكرر وهنا واعتقد ان الحل للمشكلة تم باستخدام الدالة فورمات وتم تاكيده من قبل الخبير ابو عارف ! وهذا وجدناه في محاولات الاخ الشمال ! اما اجابة محددة لسبب المشكلة : هذه الدالة تعتمد على خوارزمية الحل بها عشوائيا عكس الاكسل رياضيا ! ولي مرجع في ذلك لعلي اتذكر كلمات البحث لايجاده ! وهو في احد صفحات موقع ميكروسوفت ! فهي تقرب لاقرب عدد زوجي ! وموضوع مبارك بعودة اخينا محمد ايمن سائلاً ومحاولاً للاجابة ! تحياتي1 point
-
أسعد الله أوقاتكم بكل خير فيما يلي الدرس الثامن عشر من دورة "إكسيل 2013 المستوى المتقدم" بعنوان الرسومات البيانية المتقدمة -الجزء الثاني المخططات الدائرية ومن نوع دائرة من دائري ملاحظة/ ينصح بشدة متابعة الدرس الخاص بالرسومات البيانية من دورة (مهارات اكسيل 2013) على الرابط التالي قبل متابعة هذا الدرس حيث أننا نفترض بالمشاهد الكريم معرفة مسبقة بأساسيات الرسم البياني في اكسيل أساسيات الرسومات البيانية في إكسيل 2013 أتمنى لكم مشاهدة ممتعة ومفيدة يمكنكم تحميل ملفات التمارين الخاصة بهذه الدورة من خلال الرابط التالي: http://www.4shared.com/rar/QvwJQLddce/_-__.html لمتابعة الموضوع الرئيسي للدورة يمكنكم فتح الرابط التالي حيث جميع الدروس موجودة: دورة اكسيل 2013 المستوى المتقدم دمتم بخير1 point
-
بارك الله فيك أستاذي القدير " ياسر العربي " على التّنبيه و التّنويه .. و لو أنّي لا أعتقد إطلاقًا أنّ النّص المتحرك غير ظاهر .. أنا الذي نظر الأعمى إلى نصوصي .. و أسمعت حركة بروصاراتي منْ به صمَمُ هذا البيت هديّة للأخ .. أخونا فائق إعجاباتي و احتراماتي سيدي الكريم " ياسر العربي "1 point
-
أخى وحبيبى الغالى / مختار أشكرك على مرورك الكريم ودعائك الطيب شرفتنى بمرورك تقبل خالص تحياتى وتقديرى لشخصكم الكريم1 point
-
1 point
-
1 point
-
السلام عليكم اخى الحبيب / زيزو العجوز .. جزاك الله خيراً اخى الكريم يمكنك استخدام المعادلة التالية.. ضعها فى الخلية B5 ثم قم بالسحب..بدون اعمدة مساعدة ولكن بالنسبه للشرط الثانى.. اين تكتب كلمة مرتجع =SUMPRODUCT(RawData!$H$6:$H$1000*(RawData!$I$6:$I$1000=$A$2)*(RawData!$C$6:$C$1000=B$4)*(MONTH(RawData!$A$6:$A$1000)=MONTH($A5)))1 point
-
بعض الإختصارات المفتاح. الوظيفة. أو الأمر.Tab تنشيط شريط القوائم بالتعلم على قائمة FileAlt+F لفتح قائمة FileAlt+E لفتح قائمة EditAlt+V لفتح قائمة ViewAlt+I لفتح قائمة InsertAlt+O لفتح قائمة FormatAlt+T لفتح قائمة ToolsAlt+D لفتح قائمة DataAlt+H لفتح قائمة Window- +Alt لفتح قائمة التحكم في النافذة الخاصة بالمصنف Alt+spacebar لفتح قائمة التحكم في نافذة البرنامجAlt+F4 لإغلاق البرنامجAlt+F11 لإظهار النافذة الخاصة بأوامر لغة الفيجوال بيسكAlt+page Down للانتقال صفحة إلى اليمينAlt+Page Up للانتقال صفحة إلى اليسارالسهم لا سفل+Alt لعرض قائمة ببيانات خلايا العمود الموجودة فيه الخلية المحددة لاختيار أيامنها للنسخPage Down للانتقال صفحة إلى أسفلPage Up للانتقال صفحة الى أعلىمفاتيح الأسهم للانتقال خلية واحدة حسب اتجاه السهمCtrl+0 لإخفاء العمود الخالي أو الأعمدة المظللةCtrl+1 لفتح مستطيل الحوار Format CellsCtrl+6 لإخفاء وإظهار الكائناتCtrl+7 لإخفاء وإظهار شريط الأدوات القياسيةCtrl+9 لإخفاء الصف الحالي أو الصفوف المظللةCtrl+F3 لعرض مستطيل الحوار Define NameCtrl+F4 لإغلاق النافذة النشطCtrl+F5 لإستعادة حجم النافذة للحجم الطبيعىCtrl+F6 لاستدعاء النافذة التاليةCtrl+F7 لتحريك النافذة (أمر Move الموجود بقائمة التحكم في النافذة)Ctrl+F8 لتغيير حجم النافذة (أمر Size الموجود بقائمة التحكم في النافذة)Ctrl+F9 لتصغير النافذة للحد الأدنىCtrl+F10 لتكبير النافذة إلى الحد الأقصىCtrl+F11 لإضافة ورقة الماكروCtrl+A لتظليل ورقة العمل بأكملهاCtrl+B لجعل خط الكتابة ثقيل (Bold)أو إعادته للوضع العاديCtrl+D للنسخ في الخلية نسخة مماثلة للخلية التي فوقهاCtrl+F لفتح مستطيل خيارات FindCtrl+H لفتح مستطيل خيارات ReplaceCtrl+I لجعل خط الكتابة مائلا أو إزالة الإمالةCtrl+N لفتح كتاب عمل جديدCtrl+O لاستدعاء كتاب عمل تم تخزينه من قبلCtrl+P لفتح نافذة أمر الطباعةCtrl+R لنسخ الخلية نسخة مماثلة للخلية التي على يسارهاCtrl+S للحفظCtrl+U لجعل خط الكتابة مسطراCtrl+V للصقCtrl+X للقصCtrl+Z للتراجع عن أخر أمر أو عمليةCtrl+Home للانتقال إلى الخلية الأولى فى ورقة العملCtrl+End للإنتقال إلى أخر خلية في الورقةالأسهم+Ctrl للانتقال إلى أخر الورقة في اتجاه السهمCtrl+Esc لفتح قائمة البداية Start; +Ctrl لإدخال التاريخ الحالي في الخلية;+Ctrl+Shift لإدخال الوقت الحالي في الخليةCtrl+Page Down للانتقال إلى الورقة التالية في كتاب العملCtrl+Page Up للانتقال إلى الورقة السابقة في كتاب العمل&+Ctrl+Shift لتسطير الخلايا المظللة- +Ctrl+Shift لإزالة تسطير الخلايا المظللة#+Ctrl+Shift لتحويل التاريخ إلى الطريقة التالية(يوم/شهر/سنة)$+Ctrl+Shift لتنسيق الأرقام بوضع علامة العملة%+Ctrl+Shift لتنسيق الأرقام بوضع علامة النسبة المئوية)+Ctrl+Shift لإظهار الصفوف المختفية(+Ctrl+Shift لإظهار الأعمدة المختفيةCtrl+Shift+End لزيادة التظليل إلى حواف ورقة العملأو Ctrl+Shift+Homeمفاتيح الأسهم+Ctrl+Shift لزيادة التظليل حتى حافة ورقة العمل حسب اتجاه السهم= +Ctrl+Shift لعرض مستطيل حوار InsertCtrl+Shift+F3 عرض مستطيل حوار Create NamesCtrl+Spacebar لتظليل العمود الحالي بالكاملDelete لمسح النطاق المظللEsc لإلغاء عملية F1 لاستدعاء مجموعة الخيارات الخاصة بالتعليمات المساعدةF2 لتعديل بيانات الخلية الحاليةF3 لاستدعاء أسماء الخلايا أثناء كتابة المعادلاتF4 لتكرار أخر عمليةF5 لتنفيذ أمر Go toF6 للانتقال إلى القسم الأخر من ورقة العمل في حالة تقسيمهاF7 للتدقيق الإملائيF9 لإتمام العمليات الحسابية في كافة أوراق العملF10 تنشيط شريط القوائمF11 لإنشاء رسم بياني خاص بالبيانات المظللةF12 للحفظHome للانتقال إلى بداية الصفShift Backspace لتقليل التظليل وقصره على الخلية الحالية فقطShift Enter للانتقال خلية إلى أعلىShift Tab للانتقال خلية جهة اليسارTab للانتقال خلية جهة اليمين1 point
-
المفاتيح الوظيفية المفتاح الوصف F1 عرض جزء المهام تعليمات Microsoft Office Excel . يستخدم CTRL+F1 لعرض الشريط أو إخفائه، وهو مكوّن في واجهة مستخدم Microsoft Office Fluent. ينشىء ALT+F1 مخطط للبيانات الموجودة في النطاق الحالي. يدرج ALT+SHIFT+F1 ورقة عمل جديدة. F2 تحرير الخلية النشطة ووضع نقطة الإدراج في نهاية محتويات الخلية. ونقل نقطة الإدراج إلى "شريط الصيغة" في حالة إيقاف تشغيل التحرير في إحدى الخلايا. يضيف SHIFT+F2 تعليق إلى خلية أو يحرره. يعرض CTRL+F2 إطار المعاينة قبل الطباعة. F3 عرض مربع الحوار اسم اللصق. يعرض SHIFT+F3 مربع الحوار إدراج دالة. F4 تكرار الأمر أو الإجراء الأخير إذا كان ممكناً. عند تحديد مرجع خلية أو نطاق في صيغة، يؤدي الضغط على F4 إلى التنقل عبر المجموعات المختلفة من المراجع المطلقة والنسبية. يغلق CTRL+F4 إطار المصنف المحدد. F5 عرض مربع الحوار الانتقال إلى. يستعيد CTRL+F5 حجم إطار المصنف المحدد. F6 يستخدم للتبديل بين ورقة العمل والشريط وجزء المهام وعناصر تحكم التكبير والتصغير. ففي ورقة العمل التي تم تقسيمها (القائمة عرض، الأمر إدارة هذا الإطار وتجميد الأجزاء وتقسيم الإطار)، يتضمن F6 الأجزاء المقسمة عند التبديل بين الأجزاء وناحية الشريط. يستخدم SHIFT+F6 للتبديل بين ورقة العمل وعناصر تحكم التكبير والتصغير وجزء المهام والشريط. يستخدم CTRL+F6 للتبديل إلى إطار المصنف التالي عند فتح أكثر من إطار مصنف. F7 عرض مربع الحوار تدقيق إملائي لإجراء تدقيق إملائي في ورقة العمل النشطة أو النطاق المحدد. ينفذ CTRL+F7 الأمر نقل ضمن إطار المصنف عندما يكون غير مكبر. يمكن استخدام مفاتيح الأسهم لنقل الإطار وعند الانتهاء، اضغط ENTER أو ESC لإلغاء الأمر. F8 تشغيل وضع التوسيع أو إيقاف تشغيله. في وضع التوسيع، يظهر تحديد موسع في سطر المعلومات وتوسع مفاتيح الأسهم التحديد. تمكنك SHIFT+F8 من إضافة خلية أو نطاق غير متجاور إلى تحديد من الخلايا باستخدام مفاتيح الأسهم. ينفذ CTRL+F8 الأمر حجم (الموجود في القائمة تحكم الخاصة بإطار المصنف) عندما يكون أي مصنف غير مكبر. تعرض ALT+F8 مربع الحوار ماكرو لإنشاء ماكرو أو تشغيله أو تحريره أو حذفه. F9 حساب كافة أوراق العمل الموجودة في كافة المصنفات المفتوحة. تحسب SHIFT+F9 ورقة العمل النشطة. تحسب CTRL+ALT+F9 كافة أوراق العمل الموجودة في كافة المصنفات المفتوحة، بغض النظر عما إذا كان تم تغييرها منذ آخر عملية حساب. يعيد CTRL+ALT+SHIFT+F9 فحص الصيغ المعتمدة ثم يحسب كافة الخلايا الموجودة في كافة المصنفات المفتوحة، بما في ذلك الخلايا التي لم يتم تحديدها لحاجتها للحساب. يستخدم CTRL+F9 لتصغير إطار المصنف إلى رمز. F10 تشغيل تلميحات المفاتيح أو إيقاف تشغيلها. يعرض SHIFT+F10 القائمة المختصرة للعنصر المحدد. يعرض ALT+SHIFT+F10 القائمة أو الرسالة للعلامة الذكية. إذا كان هناك أكثر من علامة ذكية، يستخدم للتبديل إلى العلامة الذكية التالية ويعرض القائمة أو الرسالة. يكبر CTRL+F10 إطار المصنف المحدد أو يقوم باستعادته. F11 إنشاء مخطط للبيانات الموجودة في النطاق الحالي. يدرج SHIFT+F11 ورقة عمل جديدة. يفتح ALT+F11 محرر Microsoft Visual Basic الذي يمكن إنشاء ماكرو به باستخدام Visual Basic for Applications (VBA) . F12 عرض مربع الحوار حفظ باسم.1 point
-
موضوع جميل وفكرة اجمل تفضل بعض الاختصارات مفاتيح الاختصار التي تستخدم المفتاح CTRL المفتاح الوصف CTRL+PGUP للتبديل بين علامات تبويب ورقة العمل، من اليمين إلى اليسار. CTRL+PGDN للتبديل بين علامات تبويب ورقة العمل، من اليسار إلى اليمين. CTRL+SHIFT+( إظهار أية صفوف مخفية داخل التحديد. CTRL+SHIFT+) إظهار أية أعمدة مخفية داخل التحديد. CTRL+SHIFT+& تطبيق حدود خارجية للخلايا المحددة. CTRL+SHIFT_ إزالة الحدود الخارجية من الخلايا المحددة. CTRL+SHIFT+~ تطبيق تنسيق الأرقام "عام". CTRL+SHIFT+$ تطبيق التنسيق "عملة" بمنزلين عشريتين (تظهر الأرقام السالبة في أقواس). CTRL+SHIFT+% تطبيق التنسيق "نسبة مئوية" دون منازل عشرية. CTRL+SHIFT+^ تطبيق تنسيق رقم "أسي" بمنزلين عشريين. CTRL+SHIFT+# تطبيق التنسيق "تاريخ" باليوم والشهر والسنة. CTRL+SHIFT+@ تطبيق التنسيق "وقت" بالساعة والدقيقة و"ص" أو"م". CTRL+SHIFT+! تطبيق التنسيق "رقم" بمنزلين عشريين وفواصل آلاف وعلامة الناقص (-) للقيم السالبة. CTRL+SHIFT+* تحديد المنطقة الحالية الموجودة حول الخلية النشطة (تحاط منطقة البيانات بصفوف وأعمدة فارغة). في PivotTable، يحدد تقرير PivotTable بأكمله. CTRL+SHIFT+: إدخال الوقت الحالي. CTRL+SHIFT+" نسخ القيمة من الخلية الموجودة أعلى الخلية النشطة إلى الخلية أو إلى "شريط الصيغة". CTRL+SHIFT+Plus (+) عرض مربع الحوار إدراج لإدراج خلايا فارغة. CTRL+Minus (-) عرض مربع الحوار حذف لحذف الخلايا المحددة. CTRL+; إدخال التاريخ الحالي. CTRL+` التبديل بين عرض قيم الخلايا وعرض الصيغ في ورقة العمل. CTRL+' نسخ صيغة من الخلية الموجودة أعلى الخلية النشطة إلى الخلية أو إلى "شريط الصيغة". CTRL+1 عرض مربع الحوار تنسيق خلايا. CTRL+2 تطبيق تنسيق غامق أو إزالته. CTRL+3 تطبيق تنسيق مائل أو إزالته. CTRL+4 تطبيق تسطير أو إزالته. CTRL+5 تطبيق تنسيق يتوسطه خط أو إزالته. CTRL+6 التبديل بين إخفاء الكائنات وعرض الكائنات وعرض العناصر النائبة للكائنات. CTRL+8 عرض رموز التخطيط التفصيلي أو إخفاؤها. CTRL+9 إخفاء الصفوف المحددة. CTRL+0 إخفاء الأعمدة المحددة. CTRL+A تحديد ورقة العمل بأكملها. إذا احتوت ورقة العمل على بيانات، تحدد CTRL+A المنطقة الحالية. ويؤدي ضغط CTRL+A للمرة الثانية إلى تحديد المنطقة الحالية وصفوف التلخيص. أما ضغط CTRL+A للمرة الثالثة يؤدي إلى تحديد ورقة العمل بأكملها. يتم عرض مربع الحوار وسيطات الدالة، عندما تكون نقطة الإدراج إلى يمين اسم الدالة في صيغة. يؤدي ضغط CTRL+SHIFT+A إلى إدراج أسماء الوسيطات والأقواس، عندما تكون نقطة الأدراج إلى يمين اسم الدالة في صيغة. CTRL+B تطبيق تنسيق غامق أو إزالته. CTRL+C نسخ الخلايا المحددة. يؤدي الضغط على CTRL+C متبوعاً بـ CTRL+C إلى إظهار الحافظة. CTRL+D استخدام الأمر تعبئة لأسفل لنسخ محتويات وتنسيق أعلى خلية في نطاق محدد إلى الخلايا الموجودة بأسفل. CTRL+F عرض مربع الحوار بحث واستبدال، مع تحديد علامة التبويب بحث. تعرض SHIFT+F5 أيضاً علامة التبويب هذه، بينما تكرر SHIFT+F4 إجراء بحث الأخير. يفتح CTRL+SHIFT+F مربع الحوار تنسيق الخلايا مع تحديد علامة التبويب خط. CTRL+G عرض مربع الحوار الانتقال إلى. تعرض F5 أيضاً مربع الحوار هذا. CTRL+H عرض مربع الحوار بحث واستبدال مع تحديد علامة التبويب استبدال. CTRL+I تطبيق تنسيق مائل أو إزالته. CTRL+K عرض مربع الحوار إدراج ارتباط تشعبي للارتباطات التشعبية الجديدة أو مربع حوار تحرير ارتباط تشعبيللارتباطات التشعبية المحددة الموجودة. CTRL+N إنشاء مصنف فارغ جديد. CTRL+O عرض مربع الحوار فتح لفتح ملف أو العثور عليه. يحدد CTRL+SHIFT+O كافة الخلايا التي تحتوي على تعليق. CTRL+P عرض مربع الحوار طباعة. يفتح CTRL+SHIFT+P مربع الحوار تنسيق الخلايا مع تحديد علامة التبويب خط. CTRL+R استخدام الأمر تعبئة لليمين لنسخ محتويات وتنسيق الخلية الموجودة أقصى اليسار في النطاق المحدد في الخلايا ناحية اليمين. CTRL+S حفظ الملف النشط باسم الملف الحالي وموقعه وتنسيقه. CTRL+T عرض مربع الحوار إنشاء جدول. CTRL+U تطبيق تسطير أو إزالته. يستخدم CTRL+SHIFT+U للتبديل بين توسيع شريط الصيغة أو طيه. CTRL+V إدراج محتويات "الحافظة" في نقطة الإدراج واستبدال أي تحديد. يتوفر فقط بعد قص كائن أو نص أو محتويات خلايا أو نسخها. تقوم CTRL+ALT+V بعرض مربع الحوار لصق خاص. ويكون متاحًا بعد قص أو نسخ كائن أو نص أو محتويات خلية على ورقة العمل أو في برنامج آخر. CTRL+W إغلاق إطار المصنف المحدد. CTRL+X قص الخلايا المحددة. CTRL+Y تكرار الأمر أو الإجراء الأخير إذا كان ممكناً. CTRL+Z استخدام الأمر تراجع لعكس الأمر الأخير أو لحذف الإدخال الأخير الذي كتبته. يستخدم CTRL+SHIFT+Z الأمر تراجع أو إعادة لعكس التصحيح التلقائي الأخير أو استعادته عند عرض "العلامات الذكية للتصحيح التلقائي".1 point
-
أخي الحبيب م/ياسر السلام عليكم ورحمة الله وبركاته جزاكم الله خيراً على ماقدمتم فكرة رائعة ...1 point
-
ما شاء الله ا جمتع اجتماع المحبة بين الاخوه ياسر و الاخ حسام خلصت الى ابداع متكامل بارك الله فيكم جميعا1 point
-
السّلام عليكم و رحمة الله و بركاته مجهود رائع من أستاذيْن أكثر من رائعيْن بارك الله فيك أستاذنا القدير " حسام عيسى " على الموسوعة العلميّة القيّمة و الثّمينة و النّادرة جزاك االله خيرًا و زادك من علمه و فضله بارك الله فيك أستاذنا الغالي " ياسر فتحي البنّا " على العمل المتقن .. و الاجتهاد الجبّار .. الذي قمت به .. من أجل إفادتنا و تسهيل أمورنا جزاك الله خيرًا و جعل كل حرف ممّا كتبتَه بألف حسنة .. هذا إحسان منكَ و إنّ الله لا يضيع أجرَ المحسنين فائق إحتراماتي1 point
-
اخي ياسر السلام عليكم ورحمه الله وبركاته يسعدني ان اكون اول من يحمل الملف مجهود ليس بالهين جزاك الله خيرا انت واخي صقر علي مجهوداتكم1 point
-
والآن الى الكنز المخزون في صفحة كود الاكسس ، والذي يحتوي على جميع اوامر الاكسس ، و VBA ، و..... افتح صفحة الكود: . إما تضغط على الايقونه الموضحة بالدائرة الحمراء في الصورة اعلاه ، او تضغط على الزر F2 في لوحة المقاتيح ، وستظهر لك هذه الشاشة: . في الشاشة التاليه: 1. اختر اي الاوامر تريد ، VBA او اكسس او ... ، فسترى انواع الاوامر المتوفرة لها في النافذة 2 ، انا اخترت VBA ، 2. ثم اختار نوع الامر الذي تريده ، انا مثلا اردت جميع اوامر التاريخ والوقت ، فسترى جميع اوامر التاريخ والوقت في النافذة 3 ، 3. اختار الامر الذي تريده وانقر عليه ، انا مثلا اخترت الامر DateAdd ، فسترى في الاسفل (4) طريقة كتابة الامر : . وتستطيع كتابة اي امر تريد في خانة البحث (Recordset مثلا) ، وستحصل على جميع الاوامر التابعة له وإخواننا الصعايدة على راسنا جعفر1 point
-
شكرا أخي الاستاذ رمهان على هذا الشرح والان الى الجانب العملي لا تستطيع ان تنادي هذه الوحدات بالطرق التقليدية ، وكل لغة (مثل VB, VBA, C++, ...) لها طريقتها الخاصة في مناداة هذه الوحدات ، وبالنسبة الى اكسس ، فالرابط التالي يعطينا امثلة في كيفية استخدامها: http://access.mvps.org/access/index.html وملك الوحدات النمطية وبالذات للرسومات في الاكسس: http://lebans.com/ جعفر1 point
-
اهلا بك ابو عبدالله عايزك تفهم ان موضوعك موضوع مفتوح نوعا ما ! او للاجابة يحتاج وقت وشرح ولابد من التطرق للاساسيات علشان نكمل ! وبرضه يا اشرح شي بشكل علمي لانه سيكون مرجع لكل من يمر هنا ! لذلك مثل هذه الاشياء خذها من مصادرها الصحيحة والموثوقة افضل مثل : كتب - موقع ميكروسوفت ! انصحك ان تاخذ كتاب في الاساسيات وبتسلسل المواضيع بدون القفز من فصل لاخر ! الشي الذي ممكن اضيفه هنا هو : عايزك تتخيل ان هذا البريمج (الاكسس) به قاعدة بيانات مصغرة - اداة تصميم وتطوير - بيئة لكتابة اكواد ! كلها هذا ونحن نعرف ان كل منها موجود كمنتج مستقل من شركات اخرى ! بينما هذه كلها موجودة في ملف واحد ! وملف ايه ؟ ملف بيانات ! بل كل وحدة عبارة عن كائن داخل هذا الملف ! بمعنى انتي الوحدة النمطية اللي نكتب فيك الاكواد ماخذه شكل مصغر من عمل ادوات التطوير المستقلة مثل الترجمة وتتبع الاخطاء وغيرها وتحويل الكود الى لغة الكمبيوتر ! وهية مع هذا كله مازالت كائن في ملف الاكسس ! فمش عارف هل ننظر للموضوع استخفاف بعقولنا ام انه ابداع في هذا المنتج ؟!!!!! وهنا انا حجيبك على استفساراتك ولكن اتمنى ان لاتكون حلقة مفتوحة باستفسار عن جواب لاستفسار سابق وهكذا ! وصدقني ابداية مع كتاب وبتسلسل منطقي افضل بكثير من المواضيع التي تكتب بالانترنت وذلك لاسباب عدة منها انت لاتعرف مستوى كاتب الموضوع او صحة مايكتب عكس الموجود بالكتب والمعتمدة ! ** كلمة private تحدد مدى حياة المتغيرscope ! فبها يكون حي فقط في المكان الذي ولد به اي عرف به ! فمثلا ولد في وحدة نمطية عامة فانه يعرف وحي في تلك الوحدة فقط ! ولدة في وحدة فئة نموذج فانه حي ويعرف هنا فقط ! بمعنى لو ناديته منكا اخر ستجده ميت ولا يستجيب ! عكس public ** byval و byref تستخدم لتحديد نوع او اسلوب تمرير المتغيرات للاجراءت والدوال ! بالعربي : بالقيمة او المرجع ! فاذا مررت قيمة متغير من نوع قيمة فانه للرغبة او عدم الاستطاعة في تغيير قيمة المتغير الاساسية عكس بالمرجع التي يمكن تغيير قيمة المتغير من خلال الاجراء او الدالة ! كما ان الموضوع يطول حول مسالة تعريف المتغيرات نفسها بانها من نوع قيمة ام مرجع ! فهل ممكن امرر قيمة متغير معرف انه مرجع لدالة تستقبل بالقيمة ؟ !! ** رابط لل api : https://msdn.microsoft.com/en-us/library/windows/desktop/ff818516(v=vs.85).aspx http://allapi.mentalis.org/apilist/apilist.php طبعا تاكد من توافق الدالة مع اصدار الويندوز! هذا متمنيا ان حصل لو جزء من ما تريد ! كما انبه على ان الشرح لا بد ان ياتي من استاذ فهو علم بحد ذاته فليس المقصود بالاستاذ بقدر مايملك من معلومة ولكن بقدر رضا تلاميذه في ايصال المعلومة ! تحياتي1 point