نجوم المشاركات
Popular Content
Showing content with the highest reputation on 12 نوف, 2015 in all areas
-
3 points
-
السلام عليكم ورحمة الله وبركاته اتقدم بخالص الشكر والتقدير والعرفان لإدارة المنتدى على هذه الثقة الغالية التى منحونى اياها تقبلوا خالص تحياتى وتقديرى2 points
-
السلام عليكم بتوفيق رب العالمين توصلت الى شكل المعادلة التى من خلالها تستطيع ربط دالة MAX او دالة MIN مع دالة LOOKUP وذلك حتى نتمكن من الحصول على اكبر او اصغر قيمة بالرجوع الى البحث عن قيمة محددة داخل جدول بدون اطاله ... المرفق وافى الشرح اتمنى ان يكون مفيدا ان شاء الله فى انتظار الملاحظات شكرا max+lookup.rar2 points
-
أخي الكريم بالنسبة لطلبك بدون الإطلاع على المرفق .. قم بوضع سطر قبل تنفيذ الكود بفك الحماية Activesheet.Unprotect 123 وفي نهاية الكود ضع سطر لتفعيل الحماية مرة أخرى Activesheet.Protect 123 أرجو أن يفي بالغرض2 points
-
جرب التعديل التالي حيث أضفت سطر يعطل الحساب التلقائي إلى حين انتهاء عمل الكود ثم بعد انتهاء الكود يتم تفعيل الحساب التلقائي مرة أخرى .. جرب وأعلمني بالنتيجة Sub ConvertTextToNumber() Dim R As Range On Error Resume Next Application.ScreenUpdating = False Application.Calculation = xlManual For Each R In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(R) Then R.Value = Val(R.Value) Next R Application.Calculation = xlAutomatic Application.ScreenUpdating = True MsgBox "Done!", 64 End Sub تقبل تحياتي2 points
-
ألف مبروك أخى الغالي ياسر على هذه الترقية التي تستحقها عن جدارة و الى المزيد من العطاء2 points
-
انت قلت اضف هذا السطر Application.Calculate بعد السطر Sheets(ComboBox1.Value).Delete ليكون كود ال CommandButton1_Click كالتالي بعد الاضافه Private Sub CommandButton1_Click() Dim C As Range Dim Fir Application.DisplayAlerts = False If Sheets.Count > 1 And ComboBox1.Value <> "" Then On Error Resume Next With ActiveSheet.Columns(2) Set C = .Find(ComboBox1, LookIn:=xlValues) If Not C Is Nothing Then Fir = C.Address Do C.EntireRow.Delete Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> Fir End If End With Sheets(ComboBox1.Value).Delete Application.Calculate End If Application.DisplayAlerts = True UserForm_Initialize End Sub2 points
-
2 points
-
استاذ مختار حسين ... فكرت ادخال دالة ال Hyperlink في الخلايا الموجودة مباشرة تحت الشكل (Shape) ... طبعا هذه الخلايا ينبغي أن تكون خالية و غير مستعملة ...بدأت في كتابة الكود و يبدو جيدا لو توصلت الى نتيجة محترمة سأتشر الكود هنا2 points
-
السّلام عليكم و رحمة الله و بركاته ألف ألف مبروك الترقية أخي المحترم و أستاذي الفاضل " ياسر فتحي البنّا " التّرقيّة المستحقّة الشّرف أتى إليك و لم تذهب له .. لأنّك بأخلاقك و علمك الذي لمسناه في شخصك الكريم طيلة معيشتنا ببيت "أوفيسنا" تبيّن لي أنّك أشرف من " الشّرف" تهانينا القلبيّة مرّة أخرى و عقبالْ الأحسن و الأفضل في جميع مجالات حياتك فائق إحتراماتي أخوك / عبد العزيز البسكري2 points
-
2 points
-
2 points
-
1 point
-
1 point
-
1 point
-
سيدي الكريم غير حدث زر الطباعة الى: Private Sub أمر9_Click() 'the print cannot take place directly with the Filter, 'so we have to open the Report in Preview mode, but hidden so the user doesn't feel DoCmd.OpenReport "مساعد كشف الارصده", acViewPreview, , Me.تابع4.Form.Filter, acHidden 'unfortunately, the sorting Order in the Report needs a bit of time to organize PauseTime = 1 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop 'now print the Report DoCmd.PrintOut DoCmd.Close acReport, "مساعد كشف الارصده" End Sub جعفر1 point
-
الحمد لله الذي بنعمته تتم الصالحات وجزيت خيراً بمثل ما دعوت أخي المراغي .. وإن شاء الله ستجد المساعدة من إخوانك بالمنتدى دائماً تقبل تحياتي1 point
-
1 point
-
السلام عليكم الملف data.amr هو قاعدة بياناتك الملف data.ldb هو صورة منه حاول كالتالي : 1- احفظ بعيدا نسخة من data.amr 2- غير الامتداد amr الى mdb ثم حاول فتح الملف وموافاتنا بالنتيجة1 point
-
أصلي عندي الحاسة السابعة ..فقريت أفكارك وكتبتها قبلك .. بس متقلقش سايبلك موضوعات كتيرة في المنتدى تشتغل فيها براحتك لأني مش خبير فيها (موضوعات الفورم تحديداً) تقبل وافر تقديري واحترامي1 point
-
الله يصلح حالك ويهديك الى الجنة استاذ ياسر الكود الجديد ما شاء الله يعمل بكفاءة وسرعة فجزاك الله خيرا دمت بكل خير1 point
-
1 point
-
الله ينور أخى الحبيب / ياسر العربى شعلة النشاط بالمنتدى جزاك الله خير1 point
-
جزاك الله خيرا رائع أستاذ / سليم رائع جدا جدا ومتميز ربنا يبارك فى حضرتك1 point
-
سلمت يمينك أ خى الحبيب / ياسر موضوع مميز وأكثر من رائع بارك الله فيك وزادك من علمه1 point
-
1 point
-
والله فكرة جيدة أستاذ جعفر لكن ماذا لو تم تحريك الـــ Shape الى مكان جديد من قبل المستخدم بعيدا عن الخلية ؟! أنا عندى فكرة مشابهه لفكرة الملف المرفق فى مشاركتى السابقة لكن أفضل شويه وهى : عمل Group بين Shape و lable ( لذلك تحريك الـــ Shape يتبعه الـــ lable ) الــ lable يكون شفاف أو عديم اللون وتحت الـــ Shape مباشرة أما الــ Shape له لون واسم وهو الذى يظهر أمام المستخدم ونضع فى حدث الشيت الكود التالى Option Explicit Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) MsgBox "الزهرة اذا قطفتها فهى لك واذا تركتها فهى لك ولغيرك" End Sub جرب المرفق ده و قل لى رأيك Macro When Your Mouse is over a shape .rar Macro When Your Mouse is over a shape .rar1 point
-
1 point
-
والآن الى الكنز المخزون في صفحة كود الاكسس ، والذي يحتوي على جميع اوامر الاكسس ، و VBA ، و..... افتح صفحة الكود: . إما تضغط على الايقونه الموضحة بالدائرة الحمراء في الصورة اعلاه ، او تضغط على الزر F2 في لوحة المقاتيح ، وستظهر لك هذه الشاشة: . في الشاشة التاليه: 1. اختر اي الاوامر تريد ، VBA او اكسس او ... ، فسترى انواع الاوامر المتوفرة لها في النافذة 2 ، انا اخترت VBA ، 2. ثم اختار نوع الامر الذي تريده ، انا مثلا اردت جميع اوامر التاريخ والوقت ، فسترى جميع اوامر التاريخ والوقت في النافذة 3 ، 3. اختار الامر الذي تريده وانقر عليه ، انا مثلا اخترت الامر DateAdd ، فسترى في الاسفل (4) طريقة كتابة الامر : . وتستطيع كتابة اي امر تريد في خانة البحث (Recordset مثلا) ، وستحصل على جميع الاوامر التابعة له وإخواننا الصعايدة على راسنا جعفر1 point
-
السلام عليكم - حياكم الله كنت مستحي أن أطلب ان يكون البحث عن الاسم عند كتابة الاحرف الاولى ولكن انت الفنان والمبدع اختصرت عليه - جزيت خيرا - اشكرك - بارك الله في عمرك ووقتك وحفظك الله وزادتك فضل وعلم1 point
-
تفضل اخي الغالي برنامج ديوان محافظة.rar برنامج ديوان محافظة.rar1 point
-
اخى الحبيب المتميز دائما / زيزو العجوز الله يبارك فى حضرتك وفقنا وإياكم إلى ما فيه الخير الأستاذ الفاضل والقدير الأب الفاضل / محمد جسن المحمد مش عارف أشكر حضرتك إزاى ربنا يبارك فى حضرتك وشكر على هذه الصورة الرائعة وتشجيعك لى تقبل خالص تحياتى وتقديرى لشخصكم الكريم أخى الأستاذ والمعلم القدير / حسام عيسى شعلة النشاط فى هذا الصرح العلمى الكبير والذى تعلمت منه الكثير والكثير شكرا لمرور حضرتك الكريم والذى يسعدنى ويشرفنى دائما الله يبارك فى حضرتك تقبل خالص تحياتى وتقديرى1 point
-
الف مبروك اخي الغالي ياسر ودائما من تقدم لتقدم وفقك الله وزادك من علمه1 point
-
أخي الغالي الحبيب ياسر فتحي لا تعلم مقدار سعادتي بهذه الترقية المستحقة عن جدارة وإن شاء الله إلى مزيد من التفوق والابداع تقبل وافر تقديري واحترامي1 point
-
الف مبروك اخي الغالي ياسر ودائما من تقدم لتقدم وفقك الله وزادك من علمه1 point
-
ألف مبروك صديقي الغالي ياسر على هذه الترقية التي تستحقها عن جدارة و الى المزيد من العطاء1 point
-
جرب حبيبي وبلغني تفضل اخي عشان متقولشي سيبتك تعوم لوحدك بس مش عارف فيه اخطاء بتظهر من كود الساعة دي حاول تحلها المشكلة في الحدث تايمر وضع صورة للموظف في الفورمة بدلالة رقم الكود.rar1 point
-
بارك الله فيك أستاذ مختار حسين هل فكرت في تطبيق هذه الفكرة على الأشكال (Shapes)أو الأزرار (Forms Buttons) عوض الخلايا بحيث عند تحريك الماوس فوق الشكل او الزر تظهر رسالة معينة1 point
-
الله يجزيكم كل الخير علي دعائكم هذا ويارب ينفعنا واياكم ويرزقنا علما نافعا اما بقي للجماعه اللي طلباتهم كتيررررر اتفضلو الملف فيه الصور بالبيانات في شيت الاكسيل واللي عاوزها بردو صورة وبيانات في الفورم اتفضلواا اللي عاوز يطلب حاجه يطلب ميخفشي عادي احنا تحت امركم image & userform.rar1 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
-
هو فيه اختلاف ولكن يتطلب الخلفية في فهم برمجة الكائنات oop اختصار object oriented programming علشان نتكلم علميا ويمكن اكون مقصر لعدم التخصصية البحتة خاصة وان هذا الموضوع شبح طلاب الحاسب الالي ! ولكن برضه بالبلدي: الوحدة النمطية العامة هي مكان لدوال والمتغيرات العامة لكل البرنامج ! ماتضعه هنا يكون معروف على مستوى البرنامج ! ممكن متغير ياخذ قيمته من اي نموذج ! او طبعا عرفنا انها مكان لمناداة ال api ! وفي نفس الوقت هي المكان التي ابرمج بلغة ال access basic ! اما وحدة الفئة : هي مكان انشئ من خلاله الكائنات ! نحن نعرف ان لكل كائن خصائص وطرق او اوامر ! هنا نستطيع ان اعرف كائنات جديدة لها خصائصها وطرقها ! لاحظ انه لكل نموذج وتقرير عند انشائه له وحدة فئة خاصة وهي صفحة كود الاحداث ! وهذه تكون وارثة جميع الخصائص والطرق من النموذج او التقرير ! هذا والحديث يطول ويحتاج وقت او تسلسل في المواضيع علشان ينفهم ! ولكن اتمنى ان افدتك ولو بالمفاتيح ! تحياتي1 point
-
api اختصار application programming interface بالعربي برمجة واجهة التطبيقات وبالبلدي: هي دوال تحاكي الويندوز ! مثلا هناك اوامر يحتاجها المبرمج وهذا الامر اصلا واحد من مكتبات الويندوز على شكل دالة ! وكل مكتبة في الويندوز بها دوالها مغلفة ! فاروح انادي الدالة هذه بشرط ذكر اسم مكتبتها ! بمعنى هذه الدالة يستخدمها الويندوز وانت كمان تستخدمها خاصة اذا بتحاكي شي خارج برنامجك والذي لن يستطيع برنامجك يفهم اللغة للتخاطب ! فمثلا اغلاق ويندوز ! اروح انادي الدالة الخاصة بهذا مع ذكر مكتبة وجودها بها ! فانت ذهبت تخاطب برامج اخرى بهذه الدالة لقصور برنامجك في التخاطب ! وقال لك الاكسس اذا عايز تنادي حاجة زي كدا لابد تحطها لي في وحدة نمطية ! بمعنى لو عايز اضيف سجل في جدول مش معقوله انادي دالة api لانهم الويندوز مش حيفهم انت عايز ايه ! فقال لك ياعمي انا شغلت لك الاكسس واموركم الداخلية خلصوها مع بعض ! والاكسس حيزعل ويقول انت رايح للويندوز في امر زي كدا ! انا لدي دوالي وكائناتي اللي تعمل الحاجة دي ! اما لو فيه حاجة ما اقدرش عليها روح لمكتبات الويندوز وخذ اللي انت عايزه وهاتها لي في وحدة نمطية عامة ! ممكن يخطر في بالك عايز افتح الاكسل من الاكسس ! لو فكرت قليلا اكيد هناك دالة api بتعمل كذا لانه الويندوز بيعملها وهو فتح وتشغيل الاكسل ! بس هنا الاكسس برضه بيعمل الحاجة بس عايز منك ان تضيف مرجع في المراجع او تبحث وتتعلم ويمكن فيه دالة في الاكسس بتعمل كذا ! باختصار api دوال كثيرة جدا بحجم مكتبات الويندوز عليك معرفة اسمها ومكتبتها ونوع متغيراتها الممررة لها ومكان وجودها لكي تستطيع استخدامها ! لاحظ انه لو شغلت الاكسس على غير ويندوز مش حيفهم عليها ! بل لاحظ كيف انه عند تغير اصدارات الويندوز عليك مراجعة شكل الدالة الجديد ! بمعنى ابتعد عنها الا للضرورة !1 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
-
بسم الله الرحمن الرحيم ممكن لوسمحتوا طاب كود او معادلة (ربط )خلية فيها بيانات مثلا a1 من شيت 1 الى a1 شيت2 وسؤال اخر عند ارسال ملف اكسيل الى شخص عبر الايميل يكون عندي الخيار حق تأمين الماكرو والوحدات النمطية مفعل __كيف ارسلها لة وتفعل في جهازه بدون مايقوم هو بتفعيل تامين الماكرو او الوحدات النمطية؟ - ممكن شرح عمل combobox في الفورم بحيث يكون في عمود الشيت بيانات تظهر في الكومبوبكس داخل الفورم ..؟ شكرا لكم جزيلا شكرا لكم1 point
-
اخي المبرمج الان يتعين عليك ان تنشئ قاعدة بيانات تحتوي على ثلاثة جداول الاول = جدول الاصناف ويكون رقم الصنف مفتاح اساسي ويحتوي على ما تريد من بيانات تخص الصنف الثاني = جدول الموردين ويكون رقم المورد هو المفتاح الاساسي ويحتوي على بيانات الموردين الثالث= جدول العملاء ويكون رقم العميل هو المفتاح الاساسي ويحتوي على بيانات العملاء الرابع =جدول العمليات (وهنا مربط الفرس) ويحتوي على 1 - رقم العملية (مفتاح اساسي) 2 - رقم الصنف ( مرتبط برقم الصنف من جدول الاصناف) 3 - رقم المورد ( مرتبط برقم المورد من جدول الموردين) 4 - رقم العميل (نفس السابق) 4 - التاريخ 5 - الكمية المشتراة 6 - القيمة (سعر الوحدة) 7 - الكمية المباعة 8- القيمة (سعر بيع الوحدة) الان لدينا قاعدة بيانات مرتبطة ومتماسكة ونبدا بتصميم الاستعلامات حسب الطلب ثم النماذج والتقارير1 point
-
أعتقد أن الكود التالي أكثر كفاءة: Private Sub Worksheet_Change(ByVal Target As Range) TR = Target.Row TC = Target.Column If TR > 2 And (TC = 3 Or TC = 4) And Cells(TR, 5) < 1 Then MsgBox "!مبلغ صافي الراتب أقل من أو يساوي صفر", vbExclamation, "تنبيه" End If End Sub شاهد المرفق، _________________________________________.rar1 point
-
بسم الله الرحمن الرحيم ارفقت كتاب عن VBA و باللغه العربيه للورد و الاكسيل بسيط و مفيد جدا , و لكن بصراحه لا اذكر من اين حملته اتمنى ان يكون مناسبا السلام عليكم WrdExl.rar1 point
-
بسم الله الرحمن الرحيم تم تعديل رابط المشاركه رقم 8 كتاب Excel VBA هنــــــا السلام عليكم1 point
-
استخدام ماكرو الماكرو هو عبارة عن سلسلة من أوامر Excel التي تستخدمها بشكل متسلسل ومتكرر حيث يمكنك استخدام الماكرو لتجميعها في أمر واحد، مما يسهل المهام الروتينية اليومية. ويمكنك إضافة زر ماكرو لشريط الأدوات بحيث يصبح استعمال الماكرو كاستعمال أي أمر من أوامر Excel. او بمعنى آخر الماكرو هو مجموعة من الأوامر يمكنك حفظها لكي يتم تنفيذها دفعةً واحدة في أي وقت تريد دون الحاجه الى تنفيذ كل تلك الأوامر في كل مرة تريدها... ويتم ذلك بإحدى طريقتين: الأولى .. اما بالضغط على مفتاح معين من لوحة المفاتيح الثانية .. عمل كليك فوق اداه معينه من سطور الأدوات هناك العديد من الماكروات التي تم اعدادها بشكل جاهر من قبل مايكروسوفت الشركة المصنعه للاكسيل..... على سبيل المثال عنما تريد ان تقوم بحفظ العمل فيمكنك عمل ذلك بالضغط على Ctrl + S بدل من الذهاب الى قائمة File --- Save فبالضغط على هذين المفتاحين Ctrl + S فيتم استدعاء الماكرو المختص بالحفظ .. وعلى سبيل مثال آخر لاضافة ملاحظات بخليه معينه يمكنك عمل ذلك بشكل سريع عن طريق الضغط على Shift + F2 بدل من الذهاب الى قائمة Insert --- Comment وهنا ايضاً بالضغط على هذهين المفتاحين Shift + F2 فإنه يتم استدعاء الماكرو الخاص بإضافة التعليق بالخليه .... وهناك ايضاً العديد من الماكروات التي تم اعدادها بشكل جاهز من قبل مايكروسوفت ومعروفه لدينا باسم (مفاتيح الاختزال) ----------------------------------------------- تسجيل ماكرو سنقوم بتسجيل ماكرو لفتح ملف "حسابات البنوك" المخزن في المجلد Chapter 13، وذلك لاختصار الوصول إلى هذا الملف إذا كنت تستخدمه بشكل متكرر. خطوات تسجيل ماكرو إختر الأمر "ماكرو" من قائمة "أدوات" ومن ثم اختر الأمر "تسجيل ماكرو جديد". في مربع حوار "تسجيل الماكرو" غير الاسم الافتراضي ماكرو 1 باسم فتح_حسابات_بنوك، لتتذكر الهدف من هذا الماكرو لاحقاً. تأكد من عدم ترك فراغات في خانة اسم الماكرو باستخدام (_) بين كلمات جملة الاسم. يمكنك تخصيص اختصار لتشغيل الماكرو إذا أردت استخدم خانة "مفتاح اختصار". حدد من القائمة المنسدلة مكان تخزين الماكرو وهو مصنف الماكرو الشخصي. إضغط على المفتاح "موافق". سيوفر لك Excel أزرار إيقاف تسجيل ماكرو والتي ستستخدمها عند الانتهاء من تسجيل أوامر ماكرو فتح ملف حسابات البنوك. لاحظ على شريط المعلومات حالة "تسجيل" وهنا فإن أي أمر ستقوم به سيسجل من قبل الماكرو. قم بفتح الملف حسابات البنوك كما كنت تفعل سابقاً. اضغط على زر إيقاف التسجيل. عند الخروج من Excel تأكد من حفظ التغييرات للماكرو لتكون متوفرة عند تشغيل Excel في المرة القادمة. تنفيذ الماكرو عند تشغيل Excel سنستخدم الماكرو "فتح_حسابات_بنوك" لفتح الملف السابق. خطوات تنفيذ ماكرو اختر الأمر "ماكرو" من قائمة "أدوات" ومن ثم اختر الأمر "وحدات ماكرو". في مربع حوار "وحدات ماكرو" حدد اسم الماكرو "فتح_حسابات_بنوك". اضغط على مفتاح تشغيل. سيقوم الماكرو بفتح الملف مختصرا الخطوات الروتينية المعتادة.1 point