بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 12/16/14 in مشاركات
-
السلام عليكم حلو الموضوع هذا كود يعطيك عدد الخلايا في لاي اصدار Sub Test() Dim wSh As Worksheet: Set wSh = ActiveSheet Dim lRrw As Long: lRrw = wSh.Rows.Count Dim lClm As Long: lClm = wSh.Columns.Count Dim dNRng As Double: dNRng = Val(lRrw) * Val(lClm) MsgBox "عدد الخلايا هو " & dNRng End Sub3 points
-
السلام عليكم جزاك الله خير اخي المجتهد ابن مصر هذا اختصار بسيط للكود ائراءا للموضوع Sub cmdRename_EN_Click() Dim i As Integer On Error Resume Next For i = 1 To Sheets.Count ThisWorkbook.VBProject.VBComponents(Sheets(i).Name).Name = "sheets" & i Sheets(i).Name = "sheets" & i Next End Sub Sub cmdRename_AR_Click() Dim i As Integer On Error Resume Next For i = 1 To Sheets.Count ThisWorkbook.VBProject.VBComponents(Sheets(i).Name).Name = "ورقة" & i Sheets(i).Name = "ورقة" & i Next End Sub تحياتي2 points
-
2 points
-
بارك الله فيكم اخواني جميعاً اخي علي جرب وضع التعبير التالي في مصدر مربع النص n =Val(Left((1*[f]/360),5)) ارجو ان يكون هو المطلوب بالتوفيق للجميع2 points
-
السلام عليكم اخواني : الظاهر المشتهر في معظم منتديات الاكسس بالنسبة لهذا الموضوع أن الاستعلامات الجدولية لا تقبل المعايير وابحث ان شئت لترى النتائج . حيث ان بعض الحلول تقترح عمل تحايل لقبول ذلك وذلك بإنشاء جداول مؤقته يصاحبها استعلام انشاء لهذه الجداول واستعلام حذف . وحلول أخرى ترى ان يستند الاستعلام الجدولي الى استعلام تحديد توضع فيه المعايير بدلا من الجدول والصحيح أن الحل أقرب من ذلك وقد نجد تلميحات في بعض المشاركات ولكنها لم تعط الموضوع حقه من الشرح والايضاح . وسبب كون الاستعلامات الجدولية لا تقبل المعايير هو أن هذه المعايير غير معرفة لمحرك قاعدة البيانات فعند وضع معيار مثل القوسين [] ثم تشغيل الاستعلام تظهر الرسالة التالية : (محرك قاعدة البيانات microsoft.jet لايتعرف على[] كاسم حقل اوتعبير صالح) اذا الطريقة لجعل الاستعلام يعمل ويقبل المعيار هو ان نقوم بتعريف المعيار ويتم ذلك بخطوتين كالتالي: افتح الاستعلام الجدولي في عرض التصميم اكتب المعيار الذي ترغب ثم قم بتحديده ومن ثم انسخه من شريط الادوات افتح التبويب : استعلام ثم اختر : معلمات سيظهر مربع حوار المعلمات ويشتمل على عمودين : معلمة ، نوع البيانات في الحقل : معلمة الصق ما نسخته وفي الحقل : نوع البيانات اختر نوع بيانات الحقل (الذي هو مثبت في الجدول) انقر موافق كرر العملية لكل معيار شغل الاستعلام ستجد أنه استجاب لما وضعته من معايير معلومة صغيرة ارجو ان يكون فيها نفع كبير الصورة تتحدث :1 point
-
إخوتي الأعزاء هناك أفكار وكودات تمر علينا ونستخدمها ، قد تكون مهمة وقد تكون صغيرة الشأن (نظن أحيانا) ، ولكنها تلزمنا في لحظة ما ، بسيطة ، معقدة، تلزم،لا تلزم وعلى جميع الأحوال .... ، يلزمها دفتر ملاحظات صغير في جيب القميص أو أجندة نستلها من المكتب لندون بها ، وهذا وذاك يجمعهما فكرة الكشكول. وهذا كشكول ... ندون به ما يمر بالخاطر ... فكرة راودتي من رد لأخي ورفيق دربي أبا خليل ونبدأ بعون الله ورعايته ... وباسمه نصول ونجول ودمتم ..................... أرجو من اخوتي المساهمة بالتعبير عن إستفادتهم من الموضوع ومشاركاته وأجزائه المتلاحقة بإذن الله . وذلك بالضغط على زر التقدير في أسفل يسار المشاركة التي يكون قد استفاد منها أو أعجبته أو إستخدم ما تحوى وشكرا للجميع تقديركم وتشجيعكم لي للمتابعة ....1 point
-
السلام عليكم ورحمة الله وبركاته كنت بصدد عمل برنامج " دليل هاتف " فصادفتني بعض المشاكل باستخدام القوائم فأردت عمل شئ من التغيير في استعمال القوائم حتى هداني الله الى فكرة بأستخدام الاكواد والحمد لله انجزتها ولكنها تبقى في بدايتها وامكانية تطويرها واردة واحببت ان اشارككم بها لعل اجد من ارائكم بعض الامور التي قد تفيد بهذا الشأن هنا ملف يحتوي على صفحة من البرنامج مع احتوائه على القائمة المذكورة اخوكم عماد الحسامي1 point
-
برنامج اجازات يقوم باضافة الموظفين واضافة اجازات لهم وتعديل بيانتهم وخذفهم وتعديل الاجازات وحذفها ارجو ان يكون مفيد وشكرا لمنتدنا الغالى1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته إخواني الكرام .. إليكم هدية متواضعة أقدمها بين أيديكم ، علها تنال رضاكم. الهدية بناء على طلب لأحد الأخوة ، فأحببت أن يستفيد بها الجميع ، لأنها في مشاركة داخل موضوع تندثر ولا يستفيد منها الكثيرون .. هذا رابط موضوع الطلب : كود تحويل الكلمات من عربي إلى إنجليزي إليكم الهدية بالمرفقات Translator.rar1 point
-
السلام عليكم ورحمة الله وبركاته إخواني الأحباب أقدم لكم اليوم موضوع ليس بموضوع .. لا فائدة منه ، وفيه فائدة من ناحية أخرى .. أعشق التناقض كما ترون (لأن التناقض يظهر المعنى ويوضحه ويبرزه) الموضوع ليس موضوع أي أنه لا يمكن أن يتمحور في نقطة واحدة ، إنما هو Open أي موضوع مفتوح للجميع ، وللجميع أن يشارك ويتفاعل ، ويطرح ألغاز يقوم الجميع بحلها. الموضوع فيه فائدة ، وهو الاستفادة من إمكانيات البرنامج عن طريق إظهار الحيل والتي تسمى باللغة الإنجليزية Tricks ، ومن ثم ففيه فائدة .. ببساطة ممكن نقول على الموضوع إنه هيكون : معلومة في شكل ترفيهي (معلومة TakeAway .. زي الوجبات التيك أواي) ، يعني خد المعلومة واجري ... هبدأ بأول لغز .. ولما نشوف مين أول عضو مجتهد (نقول الأخ الغالي سليم حاصبيا ؛ عشان ذكر إنه بيحب الألغاز) هيحاول يحل اللغز .. ويحل اللغز ويحط لغز تاني .. وهكذا .. اللغز الأول ::: ما هو عدد خلايا ورقة العمل في أوفيس 2007 أو 2010 أو 2013 ؟ (لا يسمح بالإجابات المجردة ..أي أن الإجابة تكون مصحوبة بكيفية الحل .. أي خطوات الحل)1 point
-
أستاذي القدير /عبد الله باقشير بارك الله فيك على مرورك العطر وإثرائك للموضوع بهذا كود رائع جدا جزاك الله خيرا تقبل ودي وإحترامي1 point
-
دائما البساطة عنوانك .. استاذي الفاضل أ.عبد الله باقشير انا كنت هعملها كده على فكرة والله بس ترددت يمكن محتاج الثلاث اوراق دى فقط وليس كامل اوراق العمل تحياتى وتقديري معلمى القدير1 point
-
السلام عليكم 1> تعتمد هذه الفكرة على كلمة المرور المتغيرة عند فتح الملف سيظهر لك مربع حوار في أعلاه عدد مكون من خمسة أرقام (وهذا العدد متغير وليس ثابت) مثلا 10547 قم بضرب أول رقمين في آخر رقمين والناتج هي كلمة المرور الصحيحة في مثالنا ستكون كلمة المرور هي 10×47=470 كلمة المرور هي 470 انتيه ! لم نستعمل الرقم 5 في الحساب ولكن وضع للتمويه على المستخدم فقط 2> قمت بإخفاء كل الشيتات التي فيها الحسابات حتى لو تم تعطيل الماكرو ستكون شيتات الحساب كلها مخفية ويظهر شيت آخر فارغ 3> عند تغيير اسم الملف أو تغيير مكانه في الكمبيوتر فلن يعمل البرنامج وسيطلب كلمة المرور من المستخدم 4> لنفترض أنني عملت على هذا البرنامج وأغلفته ثم قام صديق لي في العمل بنسخ هذا البرنامج في فلاشه فلن يستطيع تشغيله على جهازه إلا إذا أعطيته أنا كلمة المرور يجب على صديقي أن يفتح البرنامج من على جهازه وفي نفس اللحظة يتصل بي لأعطيه كلمة المرور لأنه لو أقفل مربع الحوار (الذي سيظهر لإدخال كلمة المرور) بدون إدخال الكلمة أو أدخلها بالخطأ فستتغير كلمة المرور في المرة القادمة عندما يفتح البرنامج مع كل ما تقدم من الشرح إلا أن العمل قد لا يخلو من الخطأ أو الخلل فأرجو المعذرة جرب الملف تفضل أبوعيد.rar1 point
-
فهمت يااستاذنا انت عاوز حل ازاى ولكن بعد اجابات اساتذة ال VBA والاكسيل اليك اجابة بالمعادلات خد هذه من العبد لله . وطبقها . ستاتى بالنتيجة ان شاء الله =ROWS(A:A)*COLUMNS(1:1) New ورقة عمل Microsoft Excel.rar1 point
-
اخى الفاضل الجموعي جرب الملف المرفق لربما به طلبك تحياتي Sheet Reneme.rar1 point
-
بسم الله ما شاء الله ..الموضوع شكله هيطلع الإبداع اللي عند الناس كلها... الأخ الحبيب ابن مصر المبدع دائماً بارك الله فيك الأخ شوقي ربيع يشرفني ويسعدني مرورك العطر على الموضوع .. بس أفضل إجابة هتكون الأقصر حلاً (لا نريد أن يخرج الموضوع عن نطاق الترفيه ..بس كود في منتهى الروعة وكنا أكيد هنستفيد من خبرات حضرتك) نقطة مهمة بالنسبة لإخوانا المتابعين لحلقات افتح الباب Dim dNRng As Double استخدم الأخ شوقي المتغير Long في الإعلان عن المتغير الخاص بعد الأعمدة ، والمتغير الخاص بعد الصفوف ..أما المتغير dNRng فأعلن عنه من النوع Double حيث أن عدد الخلايا في ورقة العمل يتعدى حدود النوع Long .. جميل جداً إخواني ، وما زلت في انتظار حلول أخرى1 point
-
السلام عليكم لا استطيع الا أن اتدخّل حتى لا يزعل مني حبيبي ياسر و يغيّر رقم جلوسي في صفه الى جانب الكسول عبد الرضى مع اني أقوم بكل الواجبات التي يطلبها. لعبة اكسلية جديدة حول نفس الموضوع تبديل ترتيب الصفوف و الأعمدة عكس صف أو عامود في جدول.rar1 point
-
بعد اذن اخي ياسر ضفت الكود التالي ليناسب طلب السائل If WorksheetFunction.IsNumber(Target.Value) Then Target.Offset(, 1).Value = Date Else Target.Offset(, 1).Value = "" End If1 point
-
أخي الحبيب جرب الملف التالي في النطاقA2:A20 عند إدخال بيان في هذا النطاق أو الضغط المزودج على أي خلية بها يتم إدراج التاريخ الحالي ..فقط في حالة الإدخال الجديد أو الضغط المزدوج .أما إذا تركت أي خلية في النطاق كما هي فلن يتغير التاريخ ... Insert Date Automatically.rar1 point
-
اخى الحبيب اسلام الشيمى جرب وضع قيم مكان عمود (الوحده) واختبر المعادله عن طريق f9 ستجد انها تعطى نتيجة البحث ام لو جربت وضع نص فلن تعطى لك شىء السبب ان sumproduct تتعامل مع ضرب نطاق رقمية وارجاع مجموعها وتتعامل مع النطاقات غير الرقميه على انها اصفار ولكن يمكنك تجريبها بهذا الشكل وستعطى معك نتيجة ان شاء الله والله اعلم تقبل منى تحياتى {=INDEX($D$27:$D$47;SUMPRODUCT(($C$27:$C$47=H29)*($B$27:$B$47=G29);ROW($D$27:$D$47)-26))} شيت اوفيسنا.rar1 point
-
استاذى الحبيب ياسر خليل اشكرك على كلماتك الطيبه ودعاؤك وبعدين هذا من بعض ماعندكم ربنا يتقبل منا ومنكم صالح الاعمال1 point
-
تحليل النظم له اساسيات و مبادىء علمية باختصار تبسيط مفصل وواضح للنظام كيف سيبدأ ؟ ماهي النواحي التي سيعالجها ؟ ماهي البيانات المطلوب ادخالها ؟ ماهي العمليات المطلوب انجازها ؟ كل هذا يتطلب شرحا مفصلا لاسيما و أنك تعمل على برنامج مبسط لذلك سيكون من السهل شرح أدوات ذلك النظام1 point
-
بالإضافة لما سبق يمكنك جعل الحل أوتوماتيكي مهما تغير مقاس الكروت أو الورقة باستخدام السولفر أنظر الملف المرفق - به الشرح تقطيع الكروت.rar1 point
-
1 point
-
أستاذي الحبيب الاخ الفاضل كان طلبه في الموضوع ده http://www.officena.net/ib/index.php?showtopic=57500#entry365506 وانا عملته وكان ناقص المعادلات الاخيرة وبصراحة في ظل الانشغالات نسيت الموضوع اصلا ولم اتذكره الا لما حملت ملفك الرائع تقبل تحياتى وتقديري1 point
-
اخى الحبيب ابن مصر جزاكم الله خيرا على اضافتكم انا فعلا مخدتش بالى انه كان عاوز تنسيق شرطى للمفاتيح . بس مش عارف هو طلبه فى نفس الموضوع تقبل تحيات اخيك1 point
-
اخى الفاضل أ.محمد الريفي عمل أكثر من رائع، جزاك الله كل خير وحتى يكتمل الملف بالفعل فالعضو الفاضل قد طلب في موضوع اخر اضافة المفاتيح الاخرى للملف .. تم اضافة المفاتيح على نفس معادلتك وبهذا اعتقد ان العضو الكريم قد اكتمل طلبه تماما مرفق الملف بعد الإضافة الأخيرة خالص تقديري واحترامى أستاذنا الفاضل نموذج كامل-بعد التعديل.rar1 point
-
السلام عليكم اخى الكريم املىء بيانات فى صفحات الشهور وجرب وابلغنى وعموما قمت بعمل ماتريده ارجو ان يكون المطلوب تقبل تحياتى نموذج متكامل.rar1 point
-
جزاكم الله خيرا الجزاك فمن لم يشكر الناس لا يشكر الله ، و لاحرمني الله من الاستفادة منك ، سلمك الله من كل مكروه وسوء ، أخي الحبيب .1 point
-
عد الى تصميم الجدول و انظر كم مفتاح رئيسي لديك ؟ لعلك لم تحفظ التعديلات1 point
-
بارك الله فيك يا ابن مصر الغالي الحمد لله إنك تركت شيء ممكن نضيفه بعدك إنت مقطع علينا في المنتدى (دايما سباق .. ) تفضل أخي الحبيب ملف الكبير أوي مضاف إليه شوية توابل Go To Sheet IbnEgypt YK.rar1 point
-
اخى الفاضل تفضل المف المرفق لربما به طلبك، اى صفحة جديدة تضيفها .. أضف اليها الزر واضغط كليك يمين واختار تعيين ماكرو .. GOTOS تحياتي GO TO PAGE.rar1 point
-
الأخ الحبيب عادل الكود يعمل بشكل سليم إذا كنت تقصد آخر 3 أسماء ، فهذه الأسماء مكررة ، والقائمة تقوم بحذف المكرر (صح النوم) راجع الأسماء مرة أخرى جيداً وتأكد بنفسك (ولو الغلطة عندي يبقى هقول لنفسي (صح النو) أصلي لسه قايم من النوم .. تقبل تحياتي1 point
-
الحلقة الحادية عشرة ***************** السلام عليكم ورحمة الله وبركاته إخواني الكرام في الصرح العملاق أوفيسنا ، أقدم لكم اليوم موضوع في غاية الأهمية ، ألا وهو التعامل مع السلاسل النصية Strings والدوال الخاصة بالتعامل مع النصوص. اتعرفنا في حلقات سابقة على المتغير String ، ودا بنستخدمه لتخزين النصوص .. أول شيء بنعلن عن اسم المتغير ونحدد نوعه كـ String بالشكل ده : Dim strEmail As String وقلنا إن الأفضل دايماً لما نسمي متغير يكون معبر ، ففي السطر اللي فات أنا نويت والنية لله إني أخزن نص ، والنص ده عبارة عن إيميل ، فسميت المتغير strEmail أول 3 حروف من كلمة String وبعدين كلمة معبرة عن النص Email ، وحددت نوعه إنه نص String. طيب تاني سطر ببدأ أضع قيمة للمتغير اللي أعلنت عنه ، ودا بيكون بطريقة معينة ، إننا نحط اسم المتغير على اليسار ، وبأكد على اليسار وبعديه علامة يساوي ، وبعد علامة يساوي أفتح أقواس تنصيص وأكتب النص اللي عايز أخزنه وأقفل أقواس التنصيص (كل اللي بقوله يا حماده كلام قديم مفيش جديد ..دا في الإنجليزي بيسموه Warm-Up يعني تهيئة للحلقة) strEmail = "yakh777@yahoo.com" طيب هل دايماً لازم نحط نص في قيمة المتغير النصي ولا فيه طريقة تانية ؟ فيه طريقة تانية ..إن يكون النص في خلية معينة وليكن A1 ، ولما نيجي نضع قيمة للمتغير نشير لقيمة الخلية A1 زي كدا : strEmail = Range("A1").Value حط الايميل في الخلية A1 ، وجرب بنفسك .. جرب مرة تكتب النص ، وعن طريق الدالة Msgbox شوف النتيجة ، ومرة تانية جرب السطر الأخير وشوف النتيجة (النتيجة واحدة .. كل السبل تؤدي إلى حلقات افتح الباب) ... خلصنا المراجعة يا مدحت .. نشوف ايه اللي هنقدمه في حلقة النهاردة .. أنا صراحة مش مرتب في أفكاري .. ممكن تقول إني عشوائي جداً ، بس الحمد لله ، بتوفيق الله عزوجل بيخرج الموضوع منظم ومتسألش إزاي ..! أنا همسك دالة دالة من دوال التعامل مع النصوص وهشرحها بالتفصيل ، والله المستعان *-------------------------------------------------* الدالة Len (دالة بسيطة وسهلة وكلنا عارفينها ، وبنستخدمها في ورقة العمل : طبعاً إنتو لما بتقروا الحلقات بيكون فيه ملف إكسيل مفتوح (مش كدا ولا مطنشين) ، عشان نطبق أول بأول .. في الخلية A1 إحنا كتبنا نص ، عايزين نعرف طول النص ده ، فبنستخدم الدالة Len ، مثلاً في الخلية B1 اكتب المعادلة بهذا الشكل : =LEN(A1) واحد هيقولي إنت مش بتشرح VBA إنت بتخدعنا ، الشغل دا إحنا عارفينه !! أنا عارف إنكم عارفينه ، بس عايزين نربط بين الشغل في ورقة العمل والشغل في محرر الأكواد ، عشان تكون الصورة واضحة .. نروح للمحرر .. ونكمل الكود اللي كتبنا منه أول سطرين .. Dim strEmail As String Dim X As Integer strEmail = Range("A1").Value X = Len(strEmail) MsgBox strEmail & " : " & X أظن الكود واضح جداً ، إحنا الحمد لله وصلنا لمرحلة متقدمة نقدر من خلالها نفهم أسطر الكود .. هشرح الجديد بس عشان الناس متحسش بالملل : الجديد يا أستاذ عبد المجيد ، الدالة Len ، ودي وظيفتها إننا بنقدر من خلالها معرفة عدد أحرف النص ، والأحرف مش مقصود بيها الحروف العربية والإنجليزية فقط ، ولكن الرموز أيضاً بيتم حسابها زي علامة @ والنقطة .. لما ننفذ الكود هتطلع رسالة فيها النص الموجود في الخلية A1 وبعدين عدد أحرف النص .. وفصلت بينهم بـ : (Shift + ك) الدالة أسندناها للمتغير X وخلينا نوعه Integer لأن عدد أحرف النص عدد صحيح (ولا يمكن يكون فيه حرف بنشوفه ربع حرف زي . طبعاً لا ... ، الحرف يمثل عدد واحد صحيح) بعد كتابة الدالة وضعنا فتحنا قوس ووضعنا المتغير النصي اللي سميناه strEmail وقفلنا القوس ( ) ، ننفذ الكود هنلاقي النتيجة إن عدد الأحرف 17 (اتأكد بنفسك لو وقتك يسمح) *-------------------------------------------------* ننتقل لدالة تانية : الدالة InStr (شكلها صعبة .. لو عرفت اختصارها هتكون سهلة بإذن الله ..الحرفين In يعني (في) أو (داخل) .. والحروف Str اختصار String .. بمعنى تاني : الدالة دالة بحث عن نص داخل نص (فزورة .. وكلام معقد مش عايزين) .. بالمثال نفهم الكلام المعقد ..(نص فرعي أي جزء من النص داخل سلسلة نصية طويلة) ..بردو الكلام صعب نفترض إننا في الإيميل اللي كتبناه عايزين نعرف علامة @ موقعها فين في النص ، في الحالة دي هنستخدم الدالة InStr عشان نقدر نحدد موقعها (مش هنحتاج لـ GPRS خاصية البحث عن طريق الأقمار الصناعية) .. ناخد مثال عشان منتوهش !! Dim strEmail As String Dim X As Integer strEmail = "yakh777@yahoo.com" X = InStr(strEmail, "@") MsgBox X نفس المثال اللي فات تقريباً .. نركز على الجديد ، ونقول دا شكل الدالة ، تقريباً زي الدالة اللي فاتت بس نركز إن فيه بارامتر تاني ، البارامتر التاني هو عبارة عن النص المراد البحث عنه (يعني ممكن نقول إن النص عبارة عن كومة قش ، والنص الفرعي المراد البحث عنه عبارة عن إبرة ، فنشرح الدالة ببساطة إن الدالة بتقوم بعملية البحث عن إبرة في كومة قش .. !!) الناتج يا جماعة يا متابعين الحلقات بيكون عبارة عن عدد صحيح Integer ، لو جربنا الكود هنلاقي الناتج 8 ، أي أن موقع الإبرة في كومة القش رقم 8 (عد من الشمال يا حاج كمال) ممكن نكتب النص الأصلي مباشرةً بدل من إسناده لمتغير زي كدا : Dim X As Integer X = InStr("yakh777@yahoo.com", "@") MsgBox X بس أنا أفضل دايماً الإعلان عن المتغير ، وإسناد قيمة له ، لسبب إننا لما بنكتب كود ، مش هنشتغل على النص مرة واحدة .. الشغل هيكون أكتر من مرة .. فبالتالي أفضل المثال السابق. وجه الاستفادة من الدالة دي إنك تتأكد من وجود نص معين في النص الأصلي من عدم وجوده ، يعني لو مش موجود هتكون النتيجة ايه ؟ فكروا شوية قبل ما أقول الإجاية : أكيد صفر ، لأن النص الفرعي (الإبرة) مش موجودة ، بالتالي تكون النتيجة صفر..نجرب المثال التالي : Dim strEmail As String Dim X As Integer strEmail = "yakh777@yahoo.com" X = InStr(strEmail, "@") If X = 0 Then MsgBox "الإيميل غير صحيح ؛ لأنه لا يحتوي على العلامة اللي متعودين عليها" Else MsgBox "الإيميل صحيح يا فصيح ؛ لأنه يحتوي على العلامة اللي زهقنا من شكلها" End If نجرب ننفذ الكود مرة ، ونشوف النتيجة ، هنلاقي إن الرسالة التانية هي اللي هتظهر ، لأن قيمة X = 8 ، يعني أكبر من الصفر (ودا دليل على وجود الإبرة في كومة القش) أما لو شيلنا علامة @ وجربنا الكود مرة تانية ، فهتظهر لنا الرسالة الأولى ، لأن قيمة X=0 ، (ودا دليل على عدم وجود النص الفرعي في السلسلة النصية) بكدا يكون انتهى الكلام عن الدالة InStr ... لا لسه متستعجلش .. الدالة فيها بارامترات اختيارية واحد بيكون في الأول وواحد في الآخر ، الشكل العام لها كدا : InStr(start, Text_To_Search, Find, comapre إحنا أخدنا البارامتر التاني اللي هو كومة القش (النص المراد البحث فيه) ، والبارامتر التالت اللي هو الإبرة (النص المراد البحث عنه) .. بالنسبة للبارامتر الأول دا نقطة البداية ، ولما مش بنكتبها بيكون الافتراضي فيها 1 أي بداية عملية البحث والتنقيب عن الإبرة في كومة القش تبدأ من أول حرف بالنص.. البارامتر الأخير بردو اختياري ودا نادر الاستخدام .. ودا له 4 قيم : (vbUseCompareOption) , (vbBinaryCompare) , (vbTextCompare) , (vbDatabaseCompare) ناخد مثال بسيط عشان نفهم جزء واحد من الخيارات للبارامتر الرابع : Dim X As Integer X = InStr("This is my heart", "t") MsgBox X ننفذ الكود نلاقي إن الناتج 16 ، ودا موقع حرف t في النص ، نخلي بالنا إن فيه حرف الـ T في أول النص الأصلي ، طيب نفترض إننا عايزين نعرف موقع أول حرف T سواء كان Capital أي حرف كبير أو Small أي حرف صغير .. في الحالة دي هنستخدم البارامتر الرابع ، وهنستخدم الخيار vbTextCompare (وفي حالة استخدامه بيتم تجاهل حالة الأحرف) Dim X As Integer X = InStr("This is my heart", "t", vbTextCompare) MsgBox X ننفذ الكود نتصدم برسالة خطأ .. الغلطة فين ؟ هي مش غلطة ، إنما قاعدة ، إنك لو هتستخدم البارامتر الرابع اللي هو أصلاً اختياري يبقا إجباري عليك تستخدم البارامتر الأول اللي هو اختياري -- أما لو استخدمت البارامتر الأول اللي هو اختياري ، فممكن عادي تستغنى عن البارامتر الرابع اللي هو اختياري (هدوخكم ورايا .. اقرا من الأول عشان تفهمها ) .. يعني الشكل الصحيح يكون كدا : Dim X As Integer X = InStr(1, "This is my heart", "t", vbTextCompare) MsgBox X الناتج هنا هيكون مختلف ، هيكون رقم 1 ، ودا موقع حرف الـ T في أول النص (هنا تم التغاضي عن حالة الأحرف .. يعني كأننا بنقوله ملكش دعوة الحرف كبير أو صغير .. ابحث عنه) كفاية كدا على الدالة دي (خدت أكتر من وقتها) .. *-------------------------------------------------* ننتقل لدالة ثالثة اسمها StrReverse ودي من اسمها نعرف وظيفتها .. Reverse معناها عكس (مضاد : لا مش مضاد .. بقول عكس) يعني بص لها من الآخر .. يعني مثلا كلمة (أوفيسنا) لما بنصلها من الآخر تبقا (انسيفوأ) كدا أكيد وصلتكم ناخد مثال عملي : Dim strOfficena As String Dim strResult As String strOfficena = "أوفيسنا" strResult = StrReverse(strOfficena) MsgBox strResult نجرب الكود ونشوف النتيجة .. كفاية عليها كدا ، مش مستاهلة نتكلم عنها كتير .. *-------------------------------------------------* هختم الحلقة بالدالة الرابعة (نظراً لأن رقم 4 بيغيظ ناس .. وأنا بصراحة من النوع الغياظ المستفز) .. الدالة التوأم (دالتين هشرحهم مع بعض ) .. بس قبل ما نشرحهم نروح لورقة العمل ونكتب مثلاً yasser في الخلية B3 ، وفي الخلية المجاورة اكتب المعادلة : =UPPER(B3) والخلية B4 اكتب كلمة YASSER كلها حروف كبيرة ، وفي الخلية المجاورة اكتب المعادلة : =LOWER(B4) أظن الأمور واضحة بالنسبة لكم ، نرجع للمحرر ونشوف شكل الدالتين دول في المحرر : الدالة LCase أول حرف منها L اختصار Lower يعني زيها زي الدالة Lower في ورقة العمل ، والتانية UCase وحرف U اختصار لكامة Upper يعني زيها زي الدالة Upper بس خلاص .. مش محتاجة شرح .. ممكن ندعم الكلام بمثال فقط : Dim strName As String strEmail = "yasserkhalil" MsgBox UCase(strEmail) نجرب نفس المثال ، بس نخلي النص كله حروف كبيرة ، ونستخدم الدالة التانية LCase زي كدا : Dim strName As String strEmail = "YASSERKHALIL" MsgBox LCase(strEmail) نأتي إلى الواجب اللي الناس بطلت تعمله : اكتب كود ، وأعلن عن متغير نصي ، على أن يكون النص المراد تخزينه فيه العلامة @ ، وفي رسالة أظهر النص المخزن في سطر ، وعدد الأحرف للنص في سطر ، موقع العلامة @ في سطر ، وقم بعكس النص في سطر ، وقم بتحويل حروف النص إلى أحرف كبيرة في سطر ، وتحويل حروف النص إلى أحرف صغيرة في نص .. وكفاية كدا عشان متتعبوش ، أنا يهمني راحتكم. كان معكم أخوكم أبو البراء من منتدى أوفيسنا إلى لقاء متجدد بإذن الله .. دمتم في رعاية الله (خدوا بقا شوية ورد لأحسن أخونا ابن مصر شكله ناوي يخلص على الورد اللي في المنتدى :fff: :fff: .. كفاية 4 وردات) والسلام عليكم ورحمة الله وبركاته1 point
-
بعد إدراج الجدول والنقر داخله - أوفيس 2007 وحتى 2013 - يظهر تبويب جديد يسمى أدوات الجدول كما في الصورة هناك أداتان واحدة لرسم خط داخل أي خلية عموديا أو قطريا أو أفقيا والأداة الثانية لحذف أي خط كما يمكنك كذلك دمج عدة خلايا لتكوين خلية واحدة كبيرة عن طريق دمج الخلايا الموجودة في تبويب تخطيط - تحت أداوات الجدول - وذلك بتحديد الخلايا التي تريد دمجها ثم نقر زر دمج الخلايا1 point
-
المقصد نستخدم مثلا ثثث ليتم استبداله بالكلمة المطلوبة مثلا " السلام عليكم ورحمة الله وبركاته ولا نستخدم كلمة أو حروف مستخدمة لأنه سيتم استبدالها في كل مرة نكتبها.1 point
-
هل يمكن إفافة زر بحث للزهاب إلى العميل بسرعة عن طريق الحرف هشام كمال1 point
-
أخي واستاذي الكريم ابو محمد كلام رائع ويارب اكون على قدر الثقة جزاك الله خيرا على المرور والثناء الطيب1 point
-
جزاك الله خيرا اخي حامل المسك فقد نبهتني الى نقاط مهمة لم يتم ذكرها في الموضوع ونقطة اخرى لم يتم تعريفها بدقة فقد ذكرت آنفا أن الطريقة لجعل الاستعلام يعمل ويقبل المعيار هو ان نقوم بتعريف المعيار والحقيقة اننا لا نقوم بتعريف المعيار نفسه بل نقوم بتعريف الحقل الذي يشتمل على المعيار لذا فإن حقل المعلمة لا نكتب فيه الا ما يدلنا على الحقل فقط ، فلا نكتب فيه المعادلات ولا الدالات مثل like ; Between ; And ; or أو غيرها وشيء آخر وهو كل مربع نص أو خلية نريد تعريفها لا بد أن تكون في حقل خاص لوحدها في عمود المعلمة وفي المثال المعدل المرفق تطبيق لما ذكرت والله أعلم s2 .rar1 point
-
فى الحالة العادية اذا فتح مستخدمان نفس الملف آنيا فان الثاني سيكون حالة تعامله مع الملف هي القرائة فقط اي لا يمكنهما التعديل فيه سويا اما اذا تم فتح الملف اولا بالطريقة التي ذكرها الاخ HS998 فانه سيتمكن المستخدم الاخر من التعديل فيه آنيا و عند الحفظ سيتم التنبيه بحفظ التعديلات للمستخدم الاخر ام لا بحسب ما ستختار من الخيارات المتقدمة كما سيلي لتعديل خيارات الحفظ و الاحتفاظ بتاريخ التغييرات انظر علامة التبويب الثانية المسماة متقدم ADVANCED من شاشة TOOLS SHARE WORKBOOK1 point
-
Tips http://www.exceltip.com/exceltips.html Forum المنتدي http://www.excelforum.com/1 point