اذهب الي المحتوي
أوفيسنا

نجوم المشاركات

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      3

    • Posts

      12,212


  2. osama ababneh

    osama ababneh

    المشرفين السابقين


    • نقاط

      2

    • Posts

      729


  3. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      2

    • Posts

      6,818


  4. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      2

    • Posts

      8,723


Popular Content

Showing content with the highest reputation on 09 نوف, 2016 in all areas

  1. بسم الله الرحمن الرحيم احبتي الكرام السلام عليكم ورحمة الله وبركاته وبعد : وجدت لكم دالة تأخذ التاريخ والوقت الدولي من الانترنت ، مع شروحات للاكواد وافية كثير من الاخوة يحتاجون هذه الدالة خاصة الذين يعتمدون على جهاز واحد ، وذلك من اجل سد ثغرات احتمال التلاعب بوقت وتاريخ الجهاز من الشروط وجود خدمة الانترنت ، واعتقد في اليوم الحاضر اصبح من الضروريات التي لا يتصور الاستغناء عنها هذه الدالة جميلة جدا تجلب التاريخ والوقت الدولي مع امكانية مراعاة فارق التوقيت حول العالم الدالة : InternetTime()' التاريخ والوقت في جرينتش InternetTime(3)' في مكة المكرمة InternetTime(2)' في مصر امكانية عمل التنسيقات عليه بالضبط تماما كما نتعامل مع الدالة()Date أو ()NOW فهذا التنسيق يعطينا الوقت في مكة Format(InternetTime(3);"hh:mm:ss AM/PM") وكما تلاحظون ان الارقام التي بين الاقواس تعني فارق الزمن وهذه هي الوحدات النمطية : Function InternetTime(Optional GMTDifference As Integer) As Date '----------------------------------------------------------------------------------- 'This function returns the Greenwich Mean Time retrieved from an internet server. 'You can use the optional argument GMTDifference in order to add (or subtract) 'an hour from the GMT time. For Example if you call the function as: '=InternetTIme(2) it will return the (local) hour GMT + 2. Note that the 'GMTDifference variable is an integer number. 'Written by: Christos Samaras 'Date: 25/09/2013 'Last Updated: 20/11/2013 'e-mail: xristos.samaras@gmail.com 'site: http://www.myengineeringworld.net 'Declaring the necessary variables. Dim Request As Object Dim ServerURL As String Dim Results As String Dim NetDate As String Dim NetTime As Date Dim LocalDate As Date Dim LocalTime As Date 'Check if the time difference is within the accepted range. If GMTDifference < -12 Or GMTDifference > 14 Then Exit Function End If 'The server address. ServerURL = "http://www.timeanddate.com/worldclock/fullscreen.html?n=2" 'Build the XMLHTTP object and check if was created successfully. On Error Resume Next Set Request = CreateObject("Microsoft.XMLHTTP") If Err.Number <> 0 Then Exit Function End If On Error GoTo 0 'Create the request. Request.Open "GET", ServerURL, False, "", "" 'Send the request to the internet server. Request.Send 'Based on the status node result, proceed accordingly. If Request.readyState = 4 Then 'If the request succeed, the following line will return 'something like this: Mon, 30 Sep 2013 18:33:23 GMT. Results = Request.getResponseHeader("date") 'Use the Mid function to get something like: 30 Sep 2013 18:33:23. Results = Mid(Results, 6, Len(Results) - 9) 'Use the Left and Right function to distinguish the date and time. NetDate = Left(Results, Len(Results) - 9) '30 Sep 2013 NetTime = Right(Results, 8) '18:33:23 'Convert the date into a valid Excel date 30 Sep 2013 -> 30/9/2013. 'Required for countries that have some non-Latin characters at their alphabet (Greece, Russia, Serbia etc.). LocalDate = ConvertDate(NetDate) 'Add the hour difference to the retrieved GMT time. LocalTime = NetTime + GMTDifference / 24 'Return the local date and time. InternetTime = LocalDate + LocalTime End If 'Release the XMLHTTP object. Set Request = Nothing End Function Function ConvertDate(strDate As String) As Date '------------------------------------------------------------------------- 'This function converts the input date into a valid Excel date. 'For example the 30 Sep 2013 becomes 30/9/2013. 'Required for countries that have non-Latin characters at their alphabet. 'Written by: Christos Samaras 'Date: 25/09/2013 'e-mail: xristos.samaras@gmail.com 'site: http://www.myengineeringworld.net '------------------------------------------------------------------------- 'Declaring the necessary variables. Dim MyMonth As Integer 'Check the month and convert it to number. Select Case UCase(Mid(strDate, 4, 3)) Case "JAN": MyMonth = 1 Case "FEB": MyMonth = 2 Case "MAR": MyMonth = 3 Case "APR": MyMonth = 4 Case "MAY": MyMonth = 5 Case "JUN": MyMonth = 6 Case "JUL": MyMonth = 7 Case "AUG": MyMonth = 8 Case "SEP": MyMonth = 9 Case "OCT": MyMonth = 10 Case "NOV": MyMonth = 11 Case "DEC": MyMonth = 12 End Select 'Rebuild the date. ConvertDate = DateValue(Right(strDate, 4) & "/" & MyMonth & "/" & Left(strDate, 2)) End Function وتطبيق المقال بهذا المثال : db2.rar
    1 point
  2. استدراك وتنويه : هنا موضوع يتحدث عن الفكرة سبقنا الاستاذ محمد عصام مشكورا وارفق فيه مثالا جيدا
    1 point
  3. بالضبط اخي الكريم وعن تجربة شخصية هذه الطريقة تعمل على 2007 و 2016
    1 point
  4. سبب هذة المشكلة ان الكمبيوتر الثاني يستخدم نسخة اوفيس اصدار 64 بت وعليك استخدام PtrSafe قبل كلمة Function لحل المشكلة وعلية يصبح الكود المعدل كما يلي Private Declare PtrSafe Function apiShowWindow Lib "USER32" _ مع تحياتي
    1 point
  5. يمكنك التعديل باستعلام تحديث ولكن انتبه لا بد من وضع المعايير المناسبة لما تريد تحديثه ، لذا من الضروري اخذ نسخة احتياطية بعيدا هذا السطر يحدث حقل السعر price في جميع حقول الجدول tbl1 بزيادة نسبة 15% UPDATE tbl1 SET tbl1.price = [tbl1].[price]+[tbl1].[price]*15/100
    1 point
  6. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة كود لاخفاء المعادلات تم ارفاق كود الحل من الفاضل _ رحمه الله/ الحسامي _ عبدالله المجرب _ mahmoudfoxmam و لا تنسونا من صالح الدعاء تحياتى كود اخفاء المعادلات_HOSSAMI).rar كود اخفاء المعادلات (ABDALLAH).zip اظهار و اخفاء المعادلات (MAHMOUD).rar
    1 point
  7. السلام عليكم تقديرا لمجهودات اخوناالعزيز الاستاذ / طلعت محمد حسن وتقديرا لتعبة وابداعاتة المستمرة حبيت ان نضع بين ايديكم هذا البرنامج الرائع المتقن الخاص بالرواتب والذى يستفيد منة كل من يعمل بشؤون الموظفين . ونسألكم الدعاء بظهر الغيب لاخينا الفاضل طلعت محمد حسن على تعبة وانجازة هذا العمل الجيد جدا ونجعلة مرجع لكل من يريد برنامج للرواتب برنامج للرواتب.rar
    1 point
  8. طلعت محمد حسن اخى الفاضل ماشاء الله عليك محمد ممتاز جزاك الله خيرا تحياتى
    1 point
  9. القلب يمرض كما يمرض البدن، وشفاؤه في التوبة والحمية، ويصدأ كما يصدأ الحديد، وجلاؤه بالذكر، ويعرى كما يعرى الجسم، وزينته التقوى، ويجوع ويظمأ كما يجوع البدن، وطعامه وشرابه المعرفة، والتوكل، والمحبة، والإنابة. فلا تعلق قلبك بدنيا زائلة ولا بأشخاص فانية وإذا استغنى الناس بالدنيا فاستغن أنت بالله، وإذا فرحوا بالدنيا فافرح أنت بالله، وإذا أنِسُوا بأحبابهم فاجعل أنسك بالله.
    1 point
  10. ملأى السنابل تنحني بتواضع ....... والفارغات رؤوسهن شوامخ
    1 point
  11. الأخت الفاضلة رشا يوسف لما لا تستخدمي دالة Index فهي أكثر مرونة من غيرها إليك المعادلة التالية ضعي المعادلة في الخلية F4 =IFERROR(INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0)),"") شرح المعادلة ************* الجزء الأول الدالة IFERROR وتستخدم الدالة في حالة حدوث خطأ في النواتج ولها عدد 2 بارامتر : الأول هو القيمة value والثاني value_if_error أي القيمة التي توضع في حالة حدوث خطأ .. البارامتر الأول هنا هو الجزء الأول (الخاص بالبحث) INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0)) والبارامتر الثاني هو الجزء "" أي أنه عند البحث وعدم وجود نتائج للبحث فإنه يحدث خطأ #N/A ولتجنب الخطأ توضع القيمة فراغ ، عن طريق أقواس التنصيص مرتين متتاليتين الجزء الثاني هو الجزء الخاص بالبحث INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0)) والدالة Index من الدوال البحثية لها 3 بارامترات .. ------------------------------------------------ ** البارامتر الأول النطاق اللي المفروض عايزين النتائج منه ، أو مصفوفة القيم المراد البحث داخلها ولو وقفنا داخل المعادلة وحددنا الجزء ده $C$12:$C$16 وضغطنا من لوحة المفاتيح F9 هنلاقي النتائج بهذا الشكل {12;15;18;21;24} ودي مصفوفة القيم المراد البحث داخلها ** البارامتر الثاني هو رقم الصف داخل مصفوفة القيم ، مش رقم الصف في ورقة العمل .. طيب إزاي هنعرف رقم الناتج أو الصف المراد البحث عنه داخل المصفوفة هنا بنستخدم الدالة Match ودي دالة بحث بردو بتجيب رقم الصف MATCH(B4,$B$12:$B$16,0) دا البارامتر الثاني وهنا بتتم عملية البحث عن قيمة البحث الموجودة في الخلية B4 وبيتم البحث عن قيمة الخلية B4 في النطاق $B$12:$B$16 ودا بردو مصفوفة النطاق ..يعني لو حددنا السطر ده وضغطنا F9 من لوحة المفاتيح هتلاقي الناتج بهذا الشكل {"معلم";"خبير";"مساعد";"مدرس";"اخصائى"} فاللي بيحصل إنه بيبحث عن القيمة الموجودة في الخلية B4 داخل المصفوفة دي .. القيمة الموجودة كلمة "معلم" ودي أول كلمة في المصفوفة يعني رقم 1 إذاً رقم الصف هو واحد (وأؤكد ليس المقصود رقم الصف في ورقة العمل .. المقصود رقم نتيجة البحث داخل المصفوفة ) طيب رقم 0 دا ايه فايدته ... فايدته إننا بنقول لعملية البحث إنها تكون متطابقة تماماً .. تطابق عملية البحث للقيمة المراد البحث عنها >> إحنا دلوقتي عندنا نطاقين أو مصفوفتين للقيم (الأولى المراد استخراج النتيجة منها) و (الثانية المراد البحث بداخلها) الإكسيل بيقوم الأول بالبحث قبل ما يظهر النتيجة (دي الخطوات المنطقية للعمل) .. بيقوم بالبحث عن القيمة الموجودة في الخلية B4 داخل المصفوفة الخاصة بيها .. طلع الناتج 1 لأنها أول نتائج البحث خلاص وصل الإكسيل لرقم ناتج البحث داخل المصفوفة ..ياخد الرقم دي ويشوف النتيجة رقم1 الموجودة في المصفوفة الأول ..هيلاقي إن رقم 1 في المصفوفة الأولى هو رقم 12 ** البارامتر الثالث اختياري ودا هنا ملوش استخدام لأن المصفوفة مكونة من بعد واحد فممكن نكتب رقم 1 أو نتركه من غيره ما نكتبه لأن رقم 1 هو الافتراضي =INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0),1) >>>>> عشان نفهم أبعاد المصفوفة ذات البعدين ------------------------------------------------- ضع المعادلة التالية في أي خلية =INDEX($B$12:$C$16,MATCH(B4,$B$12:$B$16,0)) المصفوفة الأولى هي $B$12:$C$16 نخلي بالنا هنا المصفوفة بتاخد القيم من عمودين ..يبقا المصفوفة ثنائية الأبعاد نحدد الجزء اللي فات ونضغط F9 من لوحة المفاتيح هنلاقي النتائج بهذا الشكل {"معلم",12;"خبير",15;"مساعد",18;"مدرس",21;"اخصائى",24} لو ركزنا هنعرف شكل المصفوفة .. بتاخد قيم الصف من العمودين مع بعض يعني مثلاً : معلم و 12 في صف واحد وداخل المصفوفة مع بعض بيفصل بينهم فاصلة عادية بعد كدا الصف اللي بعديه هتلاقي خبير 15 وبردو بيفصل بينهم فاصلة عادية ... أما الفاصل بين قيم المصفوفة أقصد البعد الثاني بيتم الفصل بفاصلة منقوطة بمعنى آخر : ********** معلم 12 أول صف في المصفوفة خبير 15 ثاني صف في المصفوفة مساعد 18 تالت صف في المصفوفة وهكذا .. (بيفصل بين الصفوف فاصلة منقوطة) داخل الصف الواحد عمودين لأن المصفوفة من بعدين : عمود 1وعمود 2 (بيفصل بين الأعمدة داخل المصفوفة فاصلة عادية) ناخد مثال بسيط عشان نفهم العملية إزاي بتتم : لو عايزين رقم الصف 4 والعمود 1 هنشوف المصفوفة .. رقم البصف 4 هنلاقي مدرس 14 ، ورقم العمود المطلوب هو العمود 1 إذاً الناتج كلمة مدرس يا ريت تكون النقطة دي وضحت ************************************************************************** نجرب المعادلة دي ونشوف اللي فهمناه =INDEX($B$12:$C$16,MATCH(B4,$B$12:$B$16,0),1) ع السريع هيتم البحث داخل المصفوفة ذات البعدين (طالما إنها ذات بعدين إذاً سيتم الاستعانة بالبارامتر الثاني والثالث للدالة Index) عشان نعرف رقم الصف المطلوب ورقم العمود المطلوب هنا رقم الصف هنجيبه من خلال الدالة Match هنلاقي رقم الصف هو 1 وأخيراً البارامتر التالت ودا كتبناه 1 يعني العمود الأول إذاً الناتج النهائي هو كلمة "معلم" لو غيرنا رقم العمود من 1 إلى 2 هيتغير الناتج إلى 12 لو غيرنا رقم العمود إلى 3 هيديني خطأ لأن المصفوفة ذات بعدين مش 3 .. الخطأ #REF! أرجو أن أكون وفقت في توصيل المعلومة
    1 point
  12. اخي بدون كود يمكنك عمل ذلك وهذه الطريقة ببساطة كما في الصورة
    1 point
×
×
  • اضف...

Important Information