اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      13

    • Posts

      9,814


  2. lionheart

    lionheart

    الخبراء


    • نقاط

      7

    • Posts

      664


  3. Amr Ashraf

    Amr Ashraf

    الخبراء


    • نقاط

      6

    • Posts

      946


  4. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      5

    • Posts

      6,818


Popular Content

Showing content with the highest reputation on 29 ينا, 2022 in all areas

  1. السلام عليكم 🙂 وما في كائنات مخفية 🙂 والنتيجة النهائية ، لاحظوا الحقل الاخير على اليمين Change_Delete_Insert ، فهو يخبرنا اذا قمنا بعملة تعديل او حذف او اضافة : . جعفر Access Tables Magic.accdb.zip
    5 points
  2. السلام عليكم .. الاخوة الافاضل الموضوع اليوم بسيط وسريع ويتحدث عن طريقة عمل قوائم مختصرة منبثقة من الازرار مثل الصورة التالية : الفكرة كلها ان عندى نموذج به الكثير من الازرار فبحثت عن طرق لاختصار الاوامر كلها فى زر او اثنين وبالتالى وصلت الى الفكرة التالية. اول خطوة عمل موديول جديد به الكود التالى : Sub MyMenu2() Dim Mnu As CommandBar, Itm As CommandBarControl Set Mnu = CommandBars.Add("", MsoBarPopUp, , True) Set Itm = Mnu.Controls.Add: Itm.Caption = "Export To PDF": Itm.OnAction = "amr3" Set Itm = Mnu.Controls.Add: Itm.Caption = "Export To Excel": Itm.OnAction = "amr4" Mnu.ShowPopup End Sub القائمة السابقة فيها امرين 2 فقط ويمكن زيادتها كما تريد بتكرار السطور وتغيير الاسماء , بالنسبة لAmr1 فى نهاية الجملة هو الامر المطلوب تنفيذه وسيتضح الموضوع من المثال المرفق . الخطوة الثانية : فى النموذج المطلوب تنفيذ الفكرة عليه , خلف زر الامر يتم وضع كود استدعاء للكود السابق كالتالى : Private Sub Command0_Click() MyMenu2 End Sub والنتيجة عند الضغط على الزر تنبثق القائمة كما فى الصورة السابقة . ملاحظات : قمت باضافة خيار آخر لاظهار القائمة وهو عن طريق الضغط على زر الفأرة الايسر مع زر الشفت فى نفس الوقت وستظهر القائمة ايضاً . يمكن تطبيق الطريقة فى التقارير والنماذج مع الاحتفاظ بالقائمة المختصرة الافتراضية الخاصة بزر الفأرة الأيمن وبالتالى سيصبح عند قائمتين مختصرتين اذا اردت الابقاء على الافتراضية . يجب تفعيل المكتبات الموجودة بالصورة حتى لا تواجه مشاكل . اترككم مع المثال لمزيد من التوضيح .. دمتم بخير Amr Magic Button.accdb
    4 points
  3. السلام عليكم 🙂 مايكروسوفت عملت اضافة لجداول الاكسس 2010 (وتم ابقاء هذه الميزة للنسخ التالية) ، عملت الاحداث التالية لكل حقل (حقول النص والتاريخ والرقم (ويشمل الرقم التلقائي و العملة) فقط) وهذه الاحداث (هناك تسمى Trigger) كانت ميزة في جداول SQL Server : للسجلات : حدث بعد ادخال السجل ، حدث بعد حذف السجل ، حدث قبل حذف السجل ، للحقول : حدث بعد تحديث الحقل ، حدث قبل تحديث الحقل ويمكن عمل هذه الاحداث والجدول في وضع التصميم: . او الجدول في وضع . لغة كتابة الاحداث ليست VBA وانما الماكرو المضمن ، والذي يمكنه ان ينادي دالة في وحدة نمطية هكذا (هنا ننادي الدالة fMsgbox) : . هناك طريقتين لكتابة الماكرو المضمن ، ونتيجة الكتابة النهائية هي كما نراها في الصورة التالية : - الطريقة اليدوية (وعيبها انها بطيئة ، وخصوصا اذا عندك حقول كثيرة في الجدول ، وعندك جداول كثيرة ، وعندك برامج كثيرة) 1. اذا لم يستطع الماكرو المضمن تنفيذ احد الاوامر ، فإنه يعمل جدول للاخطاء التي صادفها ، اسمه USysApplicationLog ، وتراه هنا: . او ولأنه جدول نظام ، فيكون مخفي ، الى ان تطلب من الاكسس ان يُظهر جميع جداول النظام ، فترى الجدول . لذا ومن واقع تجربة ، انصح بكتابة هذا السطر الاول (لتلافي اي اخطاء ، مما يؤدي لتوقف عمل الماكرو) ، 2. نكتب السطر كما هو ، بعد تغيير اسم الحقل الفريد/المميز في بياناته والمفرس بلا تكرار (انصح بأن يكون عندك حقل فريد ومميز في بياناته ، وانا دائما استعمل في برامجي حقل الترقيم التلقائي ، والذي نستفيد منه هنا استفادة قصوى ، فهو الدليل على محتويات السجل) ، 3. نظيف سجل جديد في الجدول الأخر ، 4. نبدأ بتعبئة الحقول بالامر SetField ، ثم اسم الحقل ، ثم قيمة الحقل ، ونستمر لعدد الحقول التي نريد اضافة بياناتها للجدول الآخر ، . - طريقة برمجية عن طريق عمل ملف XML نضع فيه الاوامر اعلاه ، ثم نستورده لقاعدة البيانات ، والملف عبارة عن ملف نصي ولكن بصيغة XML ، يجمع فيه جميع الاحداث (مرفق نسخة من الملف لقاعدة البيانات التي تم ارفاقها في مشاركتي الاولى) واليكم الجزء للحدث الذي في الصورة الاعلى . وثم نستخدم الكود التالي لإستيراد هذا الملف: من نفس برنامج الاكسس application.LoadFromText acTableDataMacro, "Table_Name", "D:\xml_File.xml" من برنامج اكسس خارجي 'Insert/Load this DataMacro in the Table Events Dim accApp As Object Set accApp = CreateObject("Access.Application") accApp.OpenCurrentDatabase Me.str_DB_Name 'D:\temp\myDB.accdb accApp.LoadFromText acTableDataMacro, Me.lst_Tables, xml_File accApp.CloseCurrentDatabase accApp.Quit Set accApp = Nothing . والطريقة التي عرفت بها الكود اعلاه ، هي: اعمل كود في احد هذه الاحداث او في جميعها ، وليكن بضعة اسطر حتى لا نضيع في الاكواد ، واحفظ الجدول ، ثم استخدم هذا الكود لتصدير DataMacro الذي عملناه لهذا الجدول ، هكذا : application.SaveAsText acTableDataMacro, "Table_Name", "D:\xml_File.xml" . نصائح: اختار الحقول المهمة ، ولا تستعمل جميع الحقول ، الجدول tbl_x_AuditTrail سيزداد حجمه بسرعة ، ولكن كثرة الجداول وكثرة عدد المستخدمين لا يُبطئ العمل ، في الجدول tbl_x_AuditTrail هناك حقل ChangeBy وهو اسم المستخدم عند دخوله الكمبيوتر ، وحقل ChangedOn وهو اسم الكمبيوتر الذي تم التعديل منه ، هاتان الدالتان تكونان في برنامج الواجهة ، طبعا يمكن استبدالها باسم المستخد حسب الصلاحيات ، وIP الكمبيوتر اذا كان لإسم الكمبيوتر اهمية ، الجدول tbl_x_AuditTrail لا تسمح لأحد ان يراه ، لأنه يمكن حذف وتغيير بياناه ، فيصبح عديم الفائدة ، وبما ان برنامجنا كان ذو بيانات حساسة ، فكنا نراقب من يتصفح البيانات كذلك ، بمناداة دالة عند حدث "الحالي" للنموذج ، ونستعمل "Browse" في حقل عن Change_Delete_Insert . جعفر tbl_info_DataMacro.xml.zip
    3 points
  4. وعليكم السلام.. الافضل ان تعمل استعلام .. وتعمل حقل لحساب المعادلة : [الكمية]+([كمية مجاني]*[الشد]) وتضع معيار تحت نوع الحركة "شراء" وان كان ولابد من عمل حقل محسوب في الجدول انظر للمرفق Tca.accdb
    3 points
  5. وبهذا يا اصدقائى نكون قد تأكدنا وتيقنا من البخور العمانى وعمايله
    2 points
  6. السلام عليكم تفضل استاذي العزيز حقل محسوب IIf([نوع الحركة]="شراء";[الكمية]+([كمية مجاني]*[الشد]);0) test1.accdb
    2 points
  7. Put the following line before the line of Next Next Should be If [E13] = 0 Then Exit For ActiveWindow.SelectedSheets.PrintOut Copies:=1 Next
    2 points
  8. Private Sub CommandButton1_Click() ActiveCell.FormulaR1C1 = "10" TextBox1.Text = ActiveCell.FormulaR1C1 ExcelSpeak TextBox1.Text ActiveCell.Offset(1, 0).Select End Sub Function ExcelSpeak(sIn As String) As Boolean Application.Speech.Speak sIn, 0, 0, 0 ExcelSpeak = True End Function
    2 points
  9. وفي حال كان النموذج الفرعي غير مرتبط بالنموذج الرئيسي يمكن استحدام الكود التالي DoCmd.GoToControl "اسم النودج الفرعي" DoCmd.GoToRecord , "", acNewRec
    1 point
  10. يستاهل ونص (بس الظاهر انت اعطيته 10x ، يعني اكثر مني) 🙂 الحمدلله ، الجميع في النتدى للمساعدة 🙂 جعفر
    1 point
  11. هممم طلبت منك ذاك لان موضوعك الثاني كان مخالف وتم اغلاقه ، فرايت ان اسهل طريقة لك هو الرجوع هنا 🙂 معلش ، اسمح لي على اللخبطة اللي عملتها لك 🙂 جعفر
    1 point
  12. احسنت استاذ احمد.. اردت كتابتها لكن ظهرت لي بهذا الشكل ..فقلت الافضل ان ارفع الملف رغم ضعف النت 😄
    1 point
  13. السلام عليكم ورحمة الله وبركاته اعتدنا نحن الاعضاء المبتدئين والجديد ان تكون مشاركاتنا في الغالب استعانة وطلب مساعدة ، ولكن حاليا انا العبد الفقير لله طلبي هو من الله عز وجل ان يجزي كل القائمين على هذا المنتدى ويبارك لهم في دينهم ودنياهم لما يقدموا وبيذلوا من جهد لمساعدة الآخرين. بوركت جهودكمز جزاكم الله كل الخير كل باسمه مع حفظ الالقاب
    1 point
  14. السلام عليكم اخي أبوعيد ... شكرا لك ... تم المطلوب استكمالا لموضوع اخي alliiia ... حدد TextBox ... ثم اذهب لشريط الصيغة واكتب k5= حتى يتم الربط بين البيانات الموجودة في الخلية ومربع النص
    1 point
  15. احسنت جزاك الله خير .. تم عمل المطلوب بنجاح بعد عمل قص للكود من الاعلى والصاقة قبل فقرة Next حيث أنني في المرة الاولى تركته وقمت بعمل نسخة منه فقط الف مليون شكر لك اخي الكريم دمت في رعاية الله وحفظه
    1 point
  16. جميل جزاكم الله خيرا. اكثر من رائع
    1 point
  17. استاذي العزيز المشكلة عندك بالنماذج لاتقرا السجلات كان النماذج غير مرتبطة بالجداول ايفونة البحث تعمل بصورة طبيعية الحل : من بيانات - ادخال البيانات - قم بتغيير نعم الى لا (قم بتعديل كل النماذج بنفس الطريقة) تفضل الملف بعد التعديل اتمنى يكون المطلوب تحياتي بيانات الموظفين.rar
    1 point
  18. يمكنك ادخالهم جميعا فى مجلد واحد وسيتم عمل نسخة للجميع هذه الطريقة الاسهل .. الطريقة الاطول برمجية بالتعديل على كود النسخ و النموذج .
    1 point
  19. أتوقع أن السر في الماكرو After Update و After Insert و After delet المصاحبة للجداول والله أعلم 😅✋🏻
    1 point
  20. السلام عليكم ما هذا ؟ فعلا سحر حاولت افهم على عجالة ولكني فشلت .. قلت يكفيني احظى بأول رد ما علاقة الجدولين ببعضهما .. اين يتم الربط؟ لأني اضفت جدول جديد ولكن جدول تسجيل الحركات لم يسجل له
    1 point
  21. السؤال هو ، الشركات المحترفة كيف تتعامل الرقم السري ، اذا كان موجود في برنامج التنصيب ؟ جعفر
    1 point
  22. السلام عليكم ورحمة الله اخى الكريم اين المكان الذى تريد وضع الصورة فيه حيث ان الشهادة مليئة بالبيانات و لا تتيح مكان للصورة
    1 point
  23. فهذا الرقم السري الذي أظهرته هو موجود داخل الاسكربت - هل فكرت فى تحويل الاسكريبت الى Exe؟ وهل جربت تعمل Encode للاسكريبت بkey؟ اظن هيا الخطوة الناقصة لأن لو الاسكريبت محمى استحالة حد يقدر يكسر باسوورد الاكسس الا عن طريق bruteforce وهى لا تنفع الا فى حالة الباسوردات البسيطة وتحتاج الى جهاز ذو امكانيات جبارة لتقليل الوقت المستخدم فى التخمين.. نحاول تحسين الموضوع باقصى قدر ممكن
    1 point
  24. تفضل ، الاكسس يعمل كل شيء وبدون تدخل الوورد 🙂 هذا النموذج ، يمكنك ادخال البيانات ، والطباعة او معاينة التقرير . وهذا التقرير تراه بزر "معاينة التقرير" ويمكنك طباعته ، او تطبعه مباشرة من زر "طباعة التقرير" ، من النموذج . جعفر 1461.accdb.zip
    1 point
  25. خطأ في صيغة ملف الوورد استبدل الكود بالتالي في ازرار فتح الملف الثاني و سيعمل بدون مشكلات Dim X As Object On Error Resume Next Set X = CreateObject("Word.Application") X.Documents.Open CurrentProject.Path & "\althane.doc" X.Visible = True X.Activate X.ActiveDocument.Bookmarks("Idd1").Select X.Selection.InsertAfter Me.Idd.Value
    1 point
  26. Sub Test() Const nRows As Integer = 25, iRow As Integer = 15 Dim wb As Workbook, ws As Worksheet, sh As Worksheet, i As Integer Application.ScreenUpdating = False Set ws = ActiveSheet Set wb = Workbooks.Add(xlWBATWorksheet) For i = 1 To 10 ws.Range("A" & iRow).Value = (i - 1) * nRows + 1 If ws.Range("B" & iRow).Value = Empty Then Exit For ws.Copy After:=wb.Sheets(wb.Worksheets.Count) Set sh = ActiveSheet sh.Name = i With ws.Range("A" & iRow & ":BF39") .Copy sh.Range("A" & iRow).PasteSpecial xlPasteValues sh.Columns("BG:BH").Delete Application.Goto sh.Range("A1"), True End With Next i Application.DisplayAlerts = False With ActiveWorkbook .Worksheets(1).Delete .SaveAs ThisWorkbook.Path & "\Output", 51 .Close False End With Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "Done", 64 End Sub
    1 point
  27. 1 point
  28. بسم الله الرحمن الرحيم، السلام عليكم ورحمة الله وبركاته، أسعد الله أوقاتكم من جديد موعدنا اليوم مع معلومة مفيدة جدا ومتقدمة جدا، ومهمة جدا في نفس الوقت، ألا وهي شرح عرض جميع الملفات والمجلدات في مسار list all files and folders in path في vba فتابعونا. شرح عرض جميع الملفات والمجلدات في مسار list all files and folders in path في vba طلب مني أحد الأصدقاء الإجابة عن استفسار بخصوص البحث عن مجموعة من الملفات في مسار معين ثم نسخ هذه الملفات إلى مجلد جديد. فقررت عمل شرح عرض جميع الملفات والمجلدات في مسار list all files and folders in path في vba باستخدام دالة معرفة UDF وإجراء يمكن استعماله في كل تطبيقات أوفيس تابعونا للإجابة عن هذا السؤال وأكثر تابعونا في هذا الفيديو ونتعرف أيضا على: إنشاء إنشاء إجراء sub في إكسل إجراء لعرض جميع الملفات الموجودة في مسار معين وكذلك عرض جميع المجلدات الفرعية داخل المسار عرض ملفات معينة بامتداد معين في مسار معرفة حجم مجلد بالبايت والميجايت استخدام صندوق حواري لتحديد مجلد folder picker تجاوز الخطأ إذا لم يقم المستخدم بتحديد مجلد برمجة دالة بوسائط اختيارية يمكن عدم كتابتها مع إعطائها قيمة افتراضية الكتابة في الخلية المجاورة لنطاق باستعمال الدالة offset البحث عن مجموعة من الملفات مكتوبة في نطاق من الخلايا استدعاء إجراء من داخل إجراء آخر أو من داخل نفسه والكثير من المهارات الأساسية في فيجوال بيسك للتطبيقات وفي معادلات إكسل لا أريد أن أطيل عليكم تابعوا معي هذا الفيديو شرح عرض جميع الملفات والمجلدات في مسار list all files and folders in path في vba الشرح يعمل في إكسل 2016 و 2013 و 2010 و 2007 رابط الملف المستعمل في الشرح اضغط هنا للوصول للملف للمزيد زوروا ميكروسوفت إكسل Microsoft excel ولا ينقصني سوى دعاؤكم لي ولأهلي وأحبابي -وأنتم منهم- بخيري الدنيا والآخرة. ومشاركة الموضوع مع من يهمه الأمر لو بخل بها غيرك ما وصلت إليك ولا تنس تقييم المنشور list all files and folders in path.rar
    1 point
  29. السلام عليكم هل تعلم أخي الكريم أنك إذا اعتدت على كتابة أرقام عشرية محددة في صف أو عمود خلايا فإنه يمكنك تفعيل ميزة إدراج أرقام عشرية آلياً ثم تختار عدد الأرقام العشرية في كل خلية ولن تعود بحاجة إلى كتابة الفاصلة من لوحة المفاتيح بل سيحدد مايكروسوفت إكسيل العدد المطلوب للرقم العشري من كل رقم تكتبه ولذلك فإن أردت كتابة رقم صحيح مثلاً فعليك كتابة أصفار بعدد الأرقام المطلوبة بعد الفاصلة العشرية الطريقة: ملف >>> خيارات إكسيل >>> خيارات متقدمة >>> وضع علامة صح في خانة تحقق إدراج أرقام عشرية آلياً >>> ثم تحدد عدد هذه الأرقام بعد الفاصلة ولن تحتاج لكتابة الفاصلة حتى إزالة علامة الصح من خانة التحقق المذكورة أعلاه. والسلام عليكم
    1 point
  30. السلام عليكم ورحمة الله تفضل new-2 (1) (2).xlsm
    1 point
  31. السلام عليكم ورحمة الله معذرة لانى فهمت الموضوع خطأا ان العمل على خلية واحدة و لاتى وجدت الامر مختلف وصعب فقررت ان ارسل لك الملف ذاته بعد ان تم عمل اللازم تم اضافة عمود مساعد بورقة البدلاء لتسهيل عمل المعادلة اليك الملف شيت تحضير -111 (2).xlsm
    1 point
  32. تفضل يا سيدي: النموذج يظهر لك جميع البيانات ، ولكن يجب ان تكون متصل بالانترنت . كود حدث "عند النقر" على الزر في النموذج : Private Sub cmd_IP_Country_Click() Dim city_IP As String Dim public_IP As String Me.my_PC_MAC = GetMyMACAddress Me.my_Local_IP = GetMyLocalIP Me.my_country_IP = IPcountry(city_IP, public_IP) Me.my_country_IP = DLookup("[Country_A]", "tbl_Countries_Currency_Codes", "Country_Code_E2='" & Me.my_country_IP & "'") Me.my_Public_IP = public_IP Me.my_city_IP = city_IP End Sub . والوحدات النمطية التي تقوم بالعمل: Option Compare Database Option Explicit '---------------------------------------------------------------------------- 'This module contains 3 functions for determing the public IP, the local IP 'and the MAC address of the computer that runs those functions. ' 'Written By: Christos Samaras 'Date: 22/11/2014 'E-mail: xristos.samaras@gmail.com 'Site: http://www.myengineeringworld.net '---------------------------------------------------------------------------- Function GetMyPublicIP() As String Dim HttpRequest As Object On Error Resume Next 'Create the XMLHttpRequest object. Set HttpRequest = CreateObject("MSXML2.XMLHTTP") 'Check if the object was created. If Err.Number <> 0 Then 'Return error message. GetMyPublicIP = "Could not create the XMLHttpRequest object!" 'Release the object and exit. Set HttpRequest = Nothing Exit Function End If On Error GoTo 0 'Create the request - no special parameters required. HttpRequest.Open "GET", "http://myip.dnsomatic.com", False 'Send the request to the site. HttpRequest.send 'Return the result of the request (the IP string). GetMyPublicIP = HttpRequest.responseText End Function Function GetMyLocalIP() As String 'Declaring the necessary variables. Dim strComputer As String Dim objWMIService As Object Dim colItems As Object Dim objItem As Object Dim myIPAddress As String 'Set the computer. strComputer = "." 'The root\cimv2 namespace is used to access the Win32_NetworkAdapterConfiguration class. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 'A select query is used to get a collection of IP addresses from the network adapters that have the property IPEnabled equal to true. Set colItems = objWMIService.ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 'Loop through all the objects of the collection and return the first non-empty IP. For Each objItem In colItems If Not IsNull(objItem.IPAddress) Then myIPAddress = Trim(objItem.IPAddress(0)) Exit For Next 'Return the IP string. GetMyLocalIP = myIPAddress End Function Function GetMyMACAddress() As String 'Declaring the necessary variables. Dim strComputer As String Dim objWMIService As Object Dim colItems As Object Dim objItem As Object Dim myMACAddress As String 'Set the computer. strComputer = "." 'The root\cimv2 namespace is used to access the Win32_NetworkAdapterConfiguration class. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 'A select query is used to get a collection of network adapters that have the property IPEnabled equal to true. Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 'Loop through all the collection of adapters and return the MAC address of the first adapter that has a non-empty IP. For Each objItem In colItems If Not IsNull(objItem.IPAddress) Then myMACAddress = objItem.MACAddress Exit For Next 'Return the IP string. GetMyMACAddress = myMACAddress End Function Function IPcountry(IPcity As String, IPPublic As String) As String ' 'from: https://www.mrexcel.com/board/threads/need-to-get-location-based-on-ip-address-in-vba.1115981/ 'edited by jjafferr 20-01-22 'we don't send any values when calling the Function, but return 3 values ' Dim http As Object Dim xmlDoc As MSXML2.DOMDocument60 Dim strURL As String ' requires reference to Microsoft XML 6.0 IPPublic = GetMyPublicIP strURL = "https://ipapi.co/" & IPPublic & "/xml/" Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", strURL, False http.send Set xmlDoc = New MSXML2.DOMDocument60 xmlDoc.LoadXML http.responseText 'Debug.Print http.responseText IPcity = xmlDoc.SelectSingleNode("//root/city").Text IPcountry = xmlDoc.SelectSingleNode("//root/country").Text End Function . والدالة الاخيرة هي التي يتم مناداتها من النموذج ، اضفت شيء فيه لإرجاع البيانات للنموذج ، فعند مناداة الدالة ، لا نرسل لها اي قيمة ، وانما هي تُرجع 3 قيم للنموذج ، فالطريقة لطيفة للنظر فيها 🙂 اسم الدولة التي تُرجعه الدالة هو اختصار اسم الدولة ، فأرفقت احد جداول من احد برامجي فيه بقية بيانات الدوله ، وبقية الدول (الجدول عمره حوالي 8 سنوات ، فقد تكون هناك دول جديدة نشأة من وقتها ، فعليه ، يجب عليك تحديث الجدول 🙂) جعفر 1452.IP Country.accdb.zip
    1 point
  33. السلام عليكم ورحمة الله تعالى وبركاته الجواب يعرف من العنوان واترككم مع التجربة ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ SmartSort.accdb
    1 point
  34. عندى تكست بوكس فيه التاريخ فى يوزر فورم بس التاريخ ليظهر مقلوب كده ١/١٠/٢٠٢١ ما الحل ولكم جزيل الشكر
    1 point
  35. السلام عليكم ورحمة الله وبركاته يمكنك الاستفاده من هذا الموضوع وايضا هذا الموضوع وهذا الموضوع به عده طرق لاستخدام التاريخ في التكست بوكس
    1 point
  36. الدالة row تجلب رقم الصف النشط وطرح 2 ليكون الناتج صفر ثم 1 ثم 2 في كل صف ثم الضرب في 8 ليتجاوز 8 صفوف في كل مرة بالتوفيق
    1 point
  37. Private Sub TextBox1_Change() Dim dFrom As Date, dTo As Date, lr As Long With ActiveSheet lr = .Range("B" & Rows.Count).End(xlUp).Row If TextBox1.Text <> "" Then .AutoFilterMode = False dFrom = .Range("F1").Value2 dTo = .Range("G1").Value2 With .Range("B2:Q" & lr) .AutoFilter Field:=1, Criteria1:="=" & TextBox1.Text & "*", Operator:=xlOr .AutoFilter 8, ">=" & CLng(dFrom), xlAnd, "<=" & CLng(dTo) End With Else .AutoFilterMode = False End If End With End Sub
    1 point
  38. Sub Test() Dim a a = GetDates(Range("D1").Value2, Range("F1").Value2) Range("D3").Resize(UBound(a)).Value = Application.Transpose(a) End Sub Function GetDates(ByVal startDate As Date, ByVal endDate As Date) Dim v() As Date, cnt As Long ReDim v(1 To CLng(endDate) - CLng(startDate) + 1) For cnt = LBound(v) To UBound(v) v(cnt) = CDate(startDate) startDate = CDate(CDbl(startDate) + 1) Next cnt GetDates = v If IsArray(v) Then Erase v cnt = Empty End Function or Sub Test() Dim sDate As Date, eDate As Date, r As Long sDate = Range("D1").Value2 eDate = Range("F1").Value2 Range("D3:D" & Rows.Count).ClearContents Do Until sDate > eDate r = r + 1 Range("D" & r + 2).Value = sDate sDate = sDate + 1 Loop End Sub
    1 point
  39. اعرض الملف بدائل دالة textjoin الموجودة في إكسل 2016 لجميع إصدارات اكسل mastextjoin بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته موعدنا اليوم مع معلومة مفيدة جدا وخفيفة جدا ومهمة جدا في نفس الوقت وهي تصميم بدائل دالة TEXTJOIN الموجودة في اكسل 2016 وما بعده لجميع إصدارات إكسل لأنها دالة معرفة UDF . لمن يريد استخدام مزايا إكسل 2016 في جميع إصدارات إكسل بداية من 2003 و 2007 و 2010 و 2016 و 2019 دالة احترافية لدمج النصوص مع وضع فاصل بين قيم الخلايا وتجاهل الخلايا الفارغة mastextjoin بدائل textjoin الموجودة في إكسل 2016 وما بعده اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا #a1mas #ostazmas #textjoin لماذا نستعمل دالة textjoin ؟ نبدأ أولا بمعرفة أن هذه الدالة توجد في أوفيس 2016 وما بعده ( أوفيس 365) وهي دالة لدمج النصوص مع تجاهل الخلايا الفارغة وعدم تكرار الفاصل في حالة إذا كانت الخلية فارغة. ولها 4 وسيطات: والصورة العامة لها هي: TEXTJOIN(delimiter, ignore_empty, text1, [text2], …) delemiter محدِد (مطلوبة) عبارة عن سلسلة نصية، إما أن تكون فارغة أو تكون حرفاً واحداً أو أكثر محاطاً بعلامات الاقتباس المزدوجة أو مرجعاً إلى سلسلة نصية صالحة. إذا تم إدخال رقم، فسيُعامل كنص. ignore_empty (مطلوبة) إذا كانت TRUE، فسيتم تجاهل الخلايا الفارغة. text1 (مطلوبة) هي العنصر النصي المطلوب دمجه. عبارة عن سلسلة نصية أو صفيف من السلاسل مثل نطاق من الخلايا. [text2, ...] (اختيارية) هي العناصر النصية الإضافية المطلوب دمجها. قد يكون هناك حد أقصى يبلغ 252 من الوسيطات النصية للعناصر النصية بما في ذلك text1. يمكن أن يكون كل عنصر منها عبارة عن سلسلة أو صفيف من السلاسل مثل نطاق من الخلايا. وإليكم هذا الفيديو لشرح الدالة وتوضيح كيفية استخدامها في إكسل 2016 وما البدائل لدالة textjoin في إكسل 2013 و 2010 و 2007 و 2003 وهي دالة mastextjoin ولا ينقصني سوى دعاؤكم لي ولأهلي وأحبابي -وأنتم منهم- بخيري الدنيا والآخرة. ومشاركة الموضوع مع من يهمه الأمر لو بخل بها غيرك ما وصلت إليك صاحب الملف أ / محمد صالح تمت الاضافه 26 ينا, 2018 الاقسام قسم الإكسيل  
    1 point
  40. بالطبع دالة ممتاز وموضوع مهم ومطلوب كعادتك استاذى الكريم جعله الله فى ميزان حسناتك
    1 point
  41. السلام عليك اساتذنا الكرام انا علي حد علمي عملت برنامج بسيط اقدر ادير بيه النظام في الجيم بس انا عندي طلب انا عاوز اعمل فيه حاجه تعملي حصر بالاشتراكات اللي منتهيه و اللي لسه شغاله و يبقي موجود بجانب المشترك اكتيف او لا انا عامل في البرنامج ادخال البيانات و التعديل و البحث و ادخال البيانات عاوز يحسب الفلوس تلقائي و اعمل تقارير بحيث اعرف اجدد الاشتاركات شهرياا ياريت يبقي في شرح او حاجه مشابه اللي انا طلبه بالتعديل مثل هذا الموضوع الملف في المرفقات الاسم 0 و كلمه السر 0 Hatim GYM.xlsm
    1 point
  42. يمكن اضافة هذه المعادلة =IF(MONTH(DATE(YEAR(A1),2,29))=2,"Kabissa","non") حيث A1 هو اي تاريخ
    1 point
  43. أخي الكريم عبد الله فاروق قمت بعمل ملف ووضعت بعض السنوات ووضعت الثلاثة معادلات ...معادلة أبو يوسف ومعادلتك واخترت معادلة من الأربعة عشر معادلة مع عدم الاعتماد على النطاق المسمى النتائج متشابهة إلا أنه هناك خلل في معادلة أبو يوسف ومعادلتك فيما يخص عام 1900 فقط .. وأعتقد أن المعادلة الأخيرة هي الصحيحة حيث من المعروف أن السنة الكبيسة تأتي كل 4 سنوات أرجو أن يكون الملف مفيد حمل الملف من هنا (رابط دعائي واحد)
    1 point
  44. السّلام عليكم و رحمة الله و بركاته كمساهمة منّي في إثراء المواضيع المميّزة الرّائعة و الثّمينة من طرفك أستاذي القدير " محمد حسن المحمّد " و من طرف جميع الأساتذة الأفاضل المساهمين بهذا الموضوع فعاليّةً أو تشجيعًا طيّبًا جزاكم الله خيرًا و زادكم من علمه و فضله .. بهذا الملف المرفق في المشاركة أدناه .. قمت بكتابة اسم في الخليّة A1 .. ثم أشّرت بالماوس في بداية العمل على هذه الخليّة ذهبت الآن إلى التّبويب المشار إليه بالصّورة واختيار ما يشير إليه السّهم كذلك .. أرجو المعذرة سادتي الكرام لا أعرف التّرجمة الافتراضيّة الحقيقيّة لما يشير له السّهمان .. فقلت بنفسي الصّورة أكثر تعبيرًا من الكلمات : قمت بالتّأشير على الخانة المشار إليها بالسّهم ثم اتّبعتُ .. الآتي : قمت الاآن بالتّأشير على المربّع المشار إليه بالسّهم ..ثم أكملتُ الآتي : قمت باختيار الخلية التي ستكون بداية العمل .. مثلاً D1.. ثم الضغط على ..إنهاء .. و النّتيجة ..تجزئة الخلية A1 على عدة خلايا ..مثلما تشير له الصّورة فائق أحتراماتي تجزئة الكلمة .rar
    1 point
  45. السلام عليكم ورحمة الله تعالى وبركاته استاذى الجليل ومعلمى القدير >>> جزاكم الله خير الجزاء اولا اعتذر عن تغيبى عن المنتدى وتأخرى فى الرد لشدة مرضى. ثانيا حاولت تلك الطريقة وكنت اعرفها مسبقا ولكن دون جدوى ثالثا الحمد لله رب العالمين الذى تتم بنعمته الصالحات فلله الحمد كما ينبغى لجلال وجهه ولعظيم سلطانه بتفضله سبحانه وتعالى على بالحصول على نتيجة ممتازة لحل هذه المشكلة العويصة فلقد قمت بإزاله برنامج الاوفيس نهائيا واعادة تصطيبه من جديد دون جدوى ولكن هدانى الله بالتفكير فى انه بسبب ازالة الاوفيس واعادة تصطيبه يدل عدم حل تلك المشكله على انها لم تكون مشكلة فى برنامج الاوفيس حيث لو انها كذلك كانت انتهت وتم تلافيها لذلك توقعت ان المشكلة تكمن فى ملفات تسجيل نسخة الاوفيس والتى تتعلق بنظام التشغيل اى فى الريجسترى registry وعلى هذا الاساس بدأت رحلة البحث الطويلة والمضنية على الانترنت ووفقنى الله لوجود الحل فى احد المنتديات الاجنبية وهذا من امانة النقل بعد إذن استاذى الجليل ومعلمى القدير اعرض حل المشكله حتى تعم الفائدة اولا يجب عمل مستخدم جديد من لوحة التحكم Cntrolpanel - على سبيل المثال او كما فعلت انا المستخدم Guest - التغير الى المستخدم الجديد بإسم Guest كما هو موضح فى الصورة الاتية ثانيا بعد الدخول الى النظام عن طريق المستخدم Guest يجب الذهاب الى هذا المسار فى الريجسترى registry [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Access\Security] لمن لا يعرف طريق الوصول - الضغط على مفتاحى windows key + R من الكيبورد كما فى الصورة التالية - تفتح النافذة التالية تلقائيا - نكتب المر التالى regedit ثم نضغط على زر الامر OK كما فى الصورة التالية - تفتح نافذة الريجسترى كما فى تلك الصورة اتبع الخطوات فى الصور الذى يتم اختيارها --- : HKEY_CURRENT_USER --- : \Software --: \Microsoft --: \Office --: \15.0 للعلم الرقم 15.0 يدل على اصدار الاوفيس انا اعمل على الاصدار 2013 لذلك رقم الاصدار هو 15.0 وارقام الاصدارات المختلفة كالاتى على ما اعتقد طبعا مفيش رقم 13 لانهم لايحبوا هذا الرقم ويتشائمون منه ☺ اوفيس 2000 09.0 اوفيس 2002 10.0 اوفيس 2003 11.0 اوفيس 2007 12.0 اوفيس 2010 14.0 اوفيس 2013 15.0 --: \Access --: \Security وبعد الوصول الى تلك النافذة يتم تصدير الــ Security يتم عمل تصدير بالضغط بالماوس على Security ثم اختيار الامر Export كما فى الصورى الاتية يتم اختار مكان لحفظ الملف ( مسار ) الناتج عن التصدير وكذلك اختيار اسم له وأخيرا يتم تغير المستخدم الى المستخدم الاصلى ثم الدخول لمسار الملف الذى تم تصديره من الخطوة السابقة والضغط عليه بالماوس وتفعيله وبهذا يتم حل المشكله حل جزرى ان شاء الله اعتذر للاطاله وأرجوا ان يكون فى موضوعى افادة ان شاء الله وهذا رابط خارجى للصور لمن ارادها مجمعه نظرا لكبر الحجم لم استطع رفعها على المنتدى الرابط من هنا
    1 point
×
×
  • اضف...

Important Information