بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 11/12/15 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
-
سيدي الكريم غير حدث زر الطباعة الى: 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
-
والله فكرة جيدة أستاذ جعفر لكن ماذا لو تم تحريك الـــ 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
-
والآن الى الكنز المخزون في صفحة كود الاكسس ، والذي يحتوي على جميع اوامر الاكسس ، و VBA ، و..... افتح صفحة الكود: . إما تضغط على الايقونه الموضحة بالدائرة الحمراء في الصورة اعلاه ، او تضغط على الزر F2 في لوحة المقاتيح ، وستظهر لك هذه الشاشة: . في الشاشة التاليه: 1. اختر اي الاوامر تريد ، VBA او اكسس او ... ، فسترى انواع الاوامر المتوفرة لها في النافذة 2 ، انا اخترت VBA ، 2. ثم اختار نوع الامر الذي تريده ، انا مثلا اردت جميع اوامر التاريخ والوقت ، فسترى جميع اوامر التاريخ والوقت في النافذة 3 ، 3. اختار الامر الذي تريده وانقر عليه ، انا مثلا اخترت الامر DateAdd ، فسترى في الاسفل (4) طريقة كتابة الامر : . وتستطيع كتابة اي امر تريد في خانة البحث (Recordset مثلا) ، وستحصل على جميع الاوامر التابعة له وإخواننا الصعايدة على راسنا جعفر1 point
-
السلام عليكم - حياكم الله كنت مستحي أن أطلب ان يكون البحث عن الاسم عند كتابة الاحرف الاولى ولكن انت الفنان والمبدع اختصرت عليه - جزيت خيرا - اشكرك - بارك الله في عمرك ووقتك وحفظك الله وزادتك فضل وعلم1 point
-
تفضل اخي الغالي برنامج ديوان محافظة.rar برنامج ديوان محافظة.rar1 point
-
اخى الحبيب المتميز دائما / زيزو العجوز الله يبارك فى حضرتك وفقنا وإياكم إلى ما فيه الخير الأستاذ الفاضل والقدير الأب الفاضل / محمد جسن المحمد مش عارف أشكر حضرتك إزاى ربنا يبارك فى حضرتك وشكر على هذه الصورة الرائعة وتشجيعك لى تقبل خالص تحياتى وتقديرى لشخصكم الكريم أخى الأستاذ والمعلم القدير / حسام عيسى شعلة النشاط فى هذا الصرح العلمى الكبير والذى تعلمت منه الكثير والكثير شكرا لمرور حضرتك الكريم والذى يسعدنى ويشرفنى دائما الله يبارك فى حضرتك تقبل خالص تحياتى وتقديرى1 point
-
الف مبروك اخي الغالي ياسر ودائما من تقدم لتقدم وفقك الله وزادك من علمه1 point
-
تفضل Public Sub A_Add() Dim Sh As Worksheet, Sht As Worksheet Dim R As Range Set Sht = Sheets("Sheet2") Set Sh = Sheets("Sheet1") i = 1 Lr = Sh.Cells(Rows.Count, 1).End(xlUp).Row For Each R In Sh.Range("A1:J" & Lr).Rows A = Join(Application.Index(R.Value, 0), ",") A = Formt(A, Split(A, ",")(4)): A = Formt(A, Split(A, ",")(5)) B = Replace(A, "ES", "MR") B = Mid(B, 1, InStr(1, B, Split(B, ",")(3)) - 1) & Adm("0.00,", 3) & Split(B, ",")(7) & "." & String(2, "0") & Adm(",0.00", 2) A = A & String(3, "0") ii = Sht.Cells(Rows.Count, 1).End(xlUp).Row + 1 Sht.Cells(ii, 1) = Choose(1, A, B) Sht.Cells(ii + 1, 1) = Choose(2, A, B) i = i + 1: ii = ii + 1 Next End Sub Private Function Formt(R, Nm) Formt = Replace(R, Nm, Format(Nm, "yyyy-mm-dd")) End Function Private Function Adm(Strn$, Ln&) Adm = Application.Rept(Strn, Ln) End Function1 point
-
1 point
-
الخلايا المدمجة مشكلة بحد ذاتها بالنسبة لكود ال Vba لعدم الوقوع في هذا الغخ ينصح عدم استعمال الخلايا المدمجة (استبدالها من خلال Center Across Selection)1 point
-
1 point
-
الف مبروك اخي الغالي ياسر ودائما من تقدم لتقدم وفقك الله وزادك من علمه1 point
-
يسعدنى ان اكون اول المهنئيين لحضرتك بتلك الترقيه المستحقة فحضرتك صاحب همة ونشاط ملحوظ مزيد من التقدم والرقى ان شاء الله1 point
-
السلام عليكم اخى الكريم جرب المرفق وابدى ملاحظاتك لا تنسى :- CTRL+SHIFT+ENTER Book1 khaled_4.rar1 point
-
جرب الكود التالي Public Sub A_Add() Dim Sh As Worksheet, Sht As Worksheet Set Sht = Sheets("Sheet2") Set Sh = Sheets("Sheet1") i = 1 Lr = Sh.Cells(Rows.Count, 1).End(xlUp).Row For Each R In Sh.Range("A1:J" & Lr).Rows A = Join(Application.Index(R.Value, 0), ",") B = Replace(A, "ES", "MR") B = Mid(B, 1, InStr(1, B, Split(B, ",")(3)) - 1) & Adm("0.00,", 3) & Split(B, ",")(7) & "." & String(2, "0") & Adm(",0.00", 2) A = A & String(3, "0") ii = Sht.Cells(Rows.Count, 1).End(xlUp).Row + 1 Sht.Cells(ii, 1) = Choose(1, A, B) Sht.Cells(ii + 1, 1) = Choose(2, A, B) i = i + 1: ii = ii + 1 Next End Sub Private Function Adm(Strn$, Ln&) Adm = Application.Rept(Strn, Ln) End Function1 point
-
جرب حبيبي وبلغني تفضل اخي عشان متقولشي سيبتك تعوم لوحدك بس مش عارف فيه اخطاء بتظهر من كود الساعة دي حاول تحلها المشكلة في الحدث تايمر وضع صورة للموظف في الفورمة بدلالة رقم الكود.rar1 point
-
انت كدا جيت في ملعبي تفضل الموضوع دا لو عرفت تطبقه كان بها معرفتش هحاول اظبطه ليك وارفقه http://www.officena.net/ib/topic/64269-لمسة-جمالية-لبرنامجك-ايا-كان-هو-عرض-صور-بطريقة-جميلة/1 point
-
بارك الله فيك أستاذ مختار حسين هل فكرت في تطبيق هذه الفكرة على الأشكال (Shapes)أو الأزرار (Forms Buttons) عوض الخلايا بحيث عند تحريك الماوس فوق الشكل او الزر تظهر رسالة معينة1 point
-
الله يجزيكم كل الخير علي دعائكم هذا ويارب ينفعنا واياكم ويرزقنا علما نافعا اما بقي للجماعه اللي طلباتهم كتيررررر اتفضلو الملف فيه الصور بالبيانات في شيت الاكسيل واللي عاوزها بردو صورة وبيانات في الفورم اتفضلواا اللي عاوز يطلب حاجه يطلب ميخفشي عادي احنا تحت امركم image & userform.rar1 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
-
بسم الله الرحمن الرحيم السلام عليكم و رحمة الله و بركاته لقد ترددت كثيراً قبل كتابة هذا الموضوع, مع علمي بأهميته حيث أن الرغبة في تعلم برمجة الفيجيوال بيسك الخاصة بتطبيقات مايكروسوفت VBA موجود بقوة لدى أعضاء المنتدى. وسأذكر بعض النقاط المهمة التي تنمي الرغبة في التعلم : 1. وجود إخوان لنا في هذا المنتدى لديهم إبداعات هائله و جميلة تأسر القلوب من روعتها و من هؤلاء الأخوة علي السحيب و ابو تامر و هادي سالم و خبور خير و غيرهم الكثير . 2. و رغم أن الجميع يتركون الأكواد بدون حماية و ذلك بهدف أن يستفيد منها كل متعلم و من لديه رغم بالتعلم, و لا يسعني إلا أن أقول جزاهم الله خيراً على ذلك. 3. قيام بعض المشرفين بشرح بعض الأمور و أخص بالذكر هنا الأستاذ الرائع هادي سالم و قيامه بالشرح من الصفر في تسجيل الماكرو في هذه المشاركة : http://www.officena.net/ib/index.php?showtopic=12203 و قيامه بإكمال موضوعه للمتوسطين من خلال هذه المشاركة http://www.officena.net/ib/index.php?showtopic=17922 و التي شاركها بها الأستاذ خالد نور في محاولة رائعة منهما لإيصال الأفكار للأعضاء بأبسط الطرق . 4. عدم وجود شرح كامل للأكواد المستخدمة في كثير من المشاركات و التي يصعب على من يرغب في تعلم VBA فهمها لوحده و التي ارغب من خلال هذه المشاركة فهم معظمها . فهدفي من هذا الموضوع كما سأذكر في المشاركة رقم 2 أن أقوم بوضع ملف و هو بالطبع من أعمال أساتذتنا في هذا المنتدى و سأذكر النقاط التي لم تتضح لي لم أفهمها في الكود و التي أرغب في فهمها و التي ستكون بسيطة بالنسبة للكثير و سأحاول أن يكون سؤالي بشكل واضح و سننتظر الشرح من الأخوة في فهم الأمور موضوع النقاش . فحسب تصوري إن طريقة التعلم من خلال سؤال و جواب هي من أفضل و أسرع طرق في التعلم و في إيصال الفكرة للأعضاء . و الله ولي التوفيق1 point
-
إخواني الأعزاء وأحبابي افتقدتكم كثيراً نظراً لإنشغالي بأعمال نهاية السنة المالية التي تفرضها طبيعة عملي ، لذا أرجو أن تسامحوني ، وحتى أعود إليكم بتركيز أكبر أهديكم هذا الكود الذي يقوم بتمييز الخلايا المؤمنة ( LOCKED CELLS) في ورقة عمل حتى لو كانت الورقة محمية بكلمة سر ، بشرط ألا تشمل الحماية التنسيق حيث أن الكود يقوم بتلوين تلك الخلايا بلون اخترته تستطيعوا بالطبع تغييره من الكود بتغيير رقمه ويعمل الكود بزر مزدوج لتلوين وإلغاء تلوين الخلايا المحمية ، وطبعاً وكالعادة يمكن توسيع الاستفادة من الكود بنسخه ولصقه كماكرو بملف الماكرو الشخصي وتعيين زر لتشغيله بشريط الأدوات والطريقة سبق شرحها ويعرفها الجميع . أتمنى لكم النفع والفائدة والتوفيق . ملحوظة : الورقة في الملف المرفق المطبق عليها الفكرة محمية بكلمة سر هي : 123 أخوكم أبو عبدالله _________________________________________.rar1 point
-
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