نجوم المشاركات
Popular Content
Showing content with the highest reputation since 11/22/25 in all areas
-
وعليكم السلام ورحمة الله وبركاته الى جانب الحلول التي ارفقها استاذنا الفاضل hegazee اليك حل اخر بالكود في حدث الورقة Private Sub Worksheet_Change(ByVal Target As Range) Dim rngF As Range, rngG As Range Dim rngB As Range, rngC As Range Dim pos As Variant Set rngF = Me.Range("F2") ' Set rngG = Me.Range("G2") Set rngB = Me.Range("B2:B1000") Set rngC = Me.Range("C2:C1000") If Not Intersect(Target, rngF) Is Nothing Then Application.EnableEvents = False pos = Application.Match(rngF.Value, rngB, 0) If Not IsError(pos) Then rngG.Value = Application.Index(rngC, pos) Else rngG.Value = "" End If Application.EnableEvents = True End If rngG.Select End Sub data.xlsb3 points
-
عذرا لم انتبه ان قي طلبك طباعة متعددة الطريقة الاولى زر print all اكتب كود الشركة بداية الطباعة في الخلية P2 ونهاية الطباعة في Q2 الطريقة السابقة لطباعة الارقام المتسلسلة وراء بعضها الطريقة الثانية عن طريق فورم زر طباعة خسب الاختيار وهي تغنيك عن كل الازرار وعن الطريقة الاولى حيث يمكن الطباعة لموظف واخد او الطباعة للكل او الطباعة المتعددة خسب الاختيار سواء الارقام متصلة ام منفصلة اختر ما تراه متاسب لطلبك مرتبات شركة نقل البضائع فنيين عن شهر نوفمبر 2025 (1).xlsm3 points
-
و عليكم السلام ورحمة الله و بركاته https://www.officena.net/ib/topic/64613-أبغي-قائمة-منسدلة-مرتبطة-بقائمة-منسدلة-أخري-فى-نفس-ورقة-العمل/2 points
-
تم تعديل المشروع بطريقة مختلفة تماما عن ما كنت افكر به سابقا يمكننا القول الآن ان العمل احترافي الوصف للتعديل الجديد : 1- يدعم فترتين مختلفتين مفتوحتين 2- لا يوجد حد فاصل بين الصباح والمساء .. كل فترة تعمل بشكل مستقل من خلال شاشة واحدة 3- الفترة تبدأ قبل وقت الدخول بساعة وتنتهي بعد وقت الانصراف بساعة ايضا .. 4- لا يمكن التوقيع خارج الوقت المعتبر للفترة .. 5- اذا لم يوقع الموظف خروج .. عند الحضور من الغد يسجل حضور ويبقى حقل خروج الأمس فارغا 6- تم التطبيق على شاشة توقيت الانترنت وعلى شاشة التوقيت المحلي الضوابط : مهم جدا : 1- ادخال البيانات الصحيحة كاملة في فورم التحكم : وقت الحضور الصباحي/وقت الحضور المسائي/ عدد ساعات العمل الصباحي والمسائي والوقت الاضافي ان وجد اكسس هو من يحدد وقت الخروج بناء على وقت الحضور + ساعات العمل 2- تعيين الفترات للموظفين في فورم الأسماء عند انتقال الموظف من الصباح الى المساء فقط يتم تغيير وقته في فورم الاسماء . اذا اردنا ان يعمل الموظف في الفترتين كليهما عليك تسجيله بمعرف جديد ................................. جرب كثيرا ووافني بالنتيجة اذا كل شيء تمام خبرني كي اهديكم المخرج النهائي ChkInOut_NetUp3.rar2 points
-
اعجني الموضوع من اول انشغالي بالاكسيس تيقنت ان الاكسيس من اضغف الحمايات لكني قكرة بان اسال الذكاء الصناعي سالت CHATGPT عن فكرة مجنونة لم يفكر بها احد لحماية الجداول ادعوا اخواني لتجربة الفكر المقترحة وانا ساجربها معكم مع توفر الوقت لدي سارفق الاجابة والسؤال الذي سالته انقر هنا2 points
-
2 points
-
وعليكم السلام تفضل هذا الملف ربما يفيدك ويكون به المطلوب ان شاء الله وبالتوفيق المحطة.xlsm2 points
-
جزاك الله خيرا جربتها على كود اعمل عليه فعلا الآن النتيجة ممتازة .. خاصة الترتيب والتعليق ايضا التصحيح فقد اضاف لي اغلاق وانهاء مجموعة السجلات ولكني حين نقلته الى الفورم .. ظهر لي خطأ في سطر DlookUp لم احقق في السبب لم ابحث عن المشكلة وقتها حيث كنت اعمل على تحقيق فكرة في رأسي .. ورجعت الى كودي الأصل على ان اعود واجري تجارب اوسع وضعت الموقع في شريط المفضلة لتكون هذه التحفة قريبا مني ..1 point
-
اعرض الملف دليل شجرة حسابات لنشاط صناعي دليل شجرة حسابات لنشاط صناعي - حسب داتا ونظام برنامج سماك 6 صاحب الملف salahmosaed تمت الاضافه 29 نوف, 2022 الاقسام قسم الإكسيل1 point
-
للاسف المشكلة .. لا يمكن التعامل معها .. على طريقتنا الحالية الى وهي دخول اليوم الجديد اتضح لي الآن ان طريقتنا الحالية محكمة للفترة الواحدة فقط وحيث اني وعدتك بتحقيق طلبك على اكمل وجه .. لذا اعتذر عن اطالة مدة انتظارك وقد المحت في ردي عليك في مشاركة سابقة ان الطريقة يجب ان تتم بشكل مختلف وهي اعتماد الحقل الواحد هذه الطريقة لا يعيبها عندي حسب وجهة نظري القاصرة الا الاضطرار لاستخدام العديد من الاستعلامات لاستخراج التقارير اللازمة ولكنها في الوقت نفسه اكثر مرونة واقل في استخدام الجمل البرمجية لن يكون هناك ضوابط في وقت التوقيع .. سيكون التوقيع مفتوحا لجميع الفترات ويمكننا ايضا استخدام النظام المفتوح او المقفل ( سأوضح هذا لاحقا ) انتظرني ..1 point
-
نعم ملاحظتك صحيحة يوجد خلل في الدالة .. سوف اعالجه وحقيقة لم اجرب بعدما انهيت التعديلات في نقاشنا الأخير1 point
-
السلام عليكم : من رخصة استاذنا المحترم Foksh وهذه مشاركة بسيطة تتضمن اربع ارقام يمكنك اختيار احدها 222.accdb1 point
-
1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته .. بما أنك تريد الفلترة على فلترة أخرى أو بدونها . خطر ببالي فكرة كالآتي ، لمنع التكرار في الحدثين لمربعي النص ، قمت بدمج الفكرة في دالة استعلام بسيط ، واستخدام الدالة Like ليكون البحث والفلترة حتى لو بجزء مطابق من النص :- Private Sub ApplyFilter() Dim filterCondition As String filterCondition = "" If Nz(Me.Combo7, "") <> "" Then filterCondition = "[namee] Like '*" & Me.Combo7 & "*'" End If If Nz(Me.Text9, "") <> "" Then If filterCondition <> "" Then filterCondition = filterCondition & " AND " filterCondition = filterCondition & "[town] Like '*" & Me.Text9 & "*'" End If Me.Filter = filterCondition Me.FilterOn = (filterCondition <> "") Me.Requery End Sub وبالتالي ، للحدثين بعد التحديث لمربعي النص ، استدعيها نفسها بهذا الشكل :- Private Sub Combo7_AfterUpdate() ApplyFilter End Sub Private Sub Text9_AfterUpdate() ApplyFilter End Sub وكإضافة ، قمت بإنشاء زر لإلغاء الفلترة وعرض السجلات كاملة . من خلال الزر :- Private Sub Command20_Click() Me.Combo7 = Null Me.Text9 = Null Me.FilterOn = False Me.Requery End Sub ملفك بعد التطبيق :- Database6.zip1 point
-
اخي الكريم محمد حسن جرب الآن ووافني بنتيجة التجربة ChkInOut_NetUp5.rar1 point
-
الف شكر لحضرتك استاذنا الغالي، وشكرا علي دعمك وسعة صدرك وشكرا لدعمكم.1 point
-
1 point
-
تفضل المرفق بعد التعديل بطلبك . ولا تنسى تمت الاجابة Bader770-1.rar1 point
-
1 point
-
على حسب فهمي ومحاولة لقائمة متلاصقه كل زر له تفريع نموذج فرعي كان فيه ازار مع سجلات من راس نموذج وتذليل نموذج او كان تقرير كود بسيط جدا فقط اخذ الاحداثيات + تفاعل عند الضغط تحميل المرفق https://www.mediafire.com/file/lkx9vqjwaf8peh8/Menu-1.rar/file1 point
-
3 سجلات بناءً على ماذا ؟؟؟؟؟؟؟؟؟ انظر لنتيجة الشرط على سبيل المثال 936/2025 من الجدول الأول :- TAB1 innow oprate note_E Awarding SERR 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025.05.28 7071 سجل واحد . والجدول الثاني لنفس الفلترة :- TAB2 innow nooprat oprate MRNo Date Of Recipt id 2025-05-22 9:56:58 AM 2200021005 936/2025 1264/2025 2025.05.22 8222 2025-05-22 10:06:07 AM 2200021007 936/2025 1265/2025 2025.05.22 8223 سجلين اثنين . والجدول الثالث بنفس الفلترة :- TAB3 inday orderNO elcNO oprate id 2025-05-27 7:29:01 AM 5594/2025 5300221097 936/2025 8629 2025-05-27 7:29:55 AM 5595/2025 5300221100 936/2025 8630 2025-05-27 7:30:25 AM 5596/2025 5300221102 936/2025 8631 3 سجلات . فما هو الشرط الذي سيتم عرض 3 سجلات فقط ( بناءً على معرفتك بالسجلات وماهيتها ) ؟؟؟؟؟؟؟؟ فهم السؤال بالنسبة لي = الجواب كاملاً وليس نصفه . جربت هذا الإستعلام :- SELECT TAB1.innow, TAB1.oprate, TAB1.note_E, TAB1.Awarding, TAB1.SERR, TAB2.innow AS T2_innow, TAB2.nooprat, TAB2.MRNo, TAB2.[Date Of Recipt], TAB2.id AS T2_id, NULL AS inday, NULL AS orderNO, NULL AS elcNO, NULL AS T3_id FROM TAB1 INNER JOIN TAB2 ON TAB1.oprate = TAB2.oprate WHERE TAB1.oprate = '936/2025' UNION ALL SELECT TAB1.innow, TAB1.oprate, TAB1.note_E, TAB1.Awarding, TAB1.SERR, NULL AS T2_innow, NULL AS nooprat, NULL AS MRNo, NULL AS [Date Of Recipt], NULL AS T2_id, TAB3.inday, TAB3.orderNO, TAB3.elcNO, TAB3.id AS T3_id FROM TAB1 INNER JOIN TAB3 ON TAB1.oprate = TAB3.oprate WHERE TAB1.oprate = '936/2025'; والذي كانت نتيجته كمثال على نفس الفلترة = Query2 innow oprate note_E Awarding SERR T2_innow nooprat MRNo Date Of Recipt T2_id inday orderNO elcNO 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-22 9:56:58 AM 2200021005 1264/2025 2025-05-22 9:56:59 AM 8222 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-22 10:06:07 AM 2200021007 1265/2025 2025-05-22 10:06:07 AM 8223 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-27 7:29:01 AM 5594/2025 5300221097 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-27 7:29:55 AM 5595/2025 5300221100 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-27 7:30:25 AM 5596/2025 5300221102 ومع ذلك لم أفهم شرطك أو المطلوب .1 point
-
1 point
-
تفضل استاذ @Abdelaziz Osman 'طلبك حسب ما فهمت . اختار الاوردر من النموذج ثم افتح التقرير من الزر وطالع التقرير. ووافني بالرد . اليك المرفق بطلبك. quirytreble-1.rar1 point
-
وعليكم السلام ورحمة الله وبركاته .. كمطلب أول :- جرب هذا الإستعلام .. SELECT TAB1.innow, TAB1.oprate, TAB1.note_E, TAB1.Awarding, TAB1.SERR, TAB2.innow AS T2_innow, TAB2.nooprat, TAB2.MRNo, TAB2.[Date Of Recipt], TAB2.id AS T2_id, TAB3.inday, TAB3.orderNO, TAB3.elcNO, TAB3.id AS T3_id FROM (TAB1 LEFT JOIN TAB2 ON TAB1.oprate = TAB2.oprate) LEFT JOIN TAB3 ON TAB1.oprate = TAB3.oprate WHERE (((TAB1.oprate)=[أدخل قيمة للفلترة]));1 point
-
1 point
-
أخي الكريم بداية ، أهلاً بك مرة أخرى في المنتدى ،، ثانياً لتلافي حذف أي موضوع ، ليس عليك تكرار فتحه بموضوع جديد مستقل ، بل يكفي ان تستخدم اسلوب النداء "للرفع" أو "Up" . ثالثاً ، ولضيق الوقت ، سأرفق لك ملف من مكتبتي ، جربته ولعله تستفيد منه بالشكل الصحيح . Menu-1.zip1 point
-
إضافة إلى ما ذكره الأساتذة يمكنك استخدام هذه الدالة: Public Function PrintMultipleCopies(strReportName As String, _ bytNumberOfCopies As Byte) Dim bytCounter As Byte For bytCounter = 1 To bytNumberOfCopies DoCmd.OpenReport strReportName Next bytCounter End Function وطريقة الاستدعاء: Call PrintMultipleReports("[اسم التقرير]", 2) ' حاليا تم التعيين نسختين ويمكنك التعديل حسب ما تريد1 point
-
جميل ورائع وهذة الادوات التي نحتاجها فعلا لانها تحل مشكلة انا افضّل تكون الاداة مستقلة عن القاعدة الاساسية حيث اقوم بارساله للعميل اولا واطلب منه تشغيلة واذا كانت اللغه هي العربية تفتح نافذه فيها معلومات احتاجها انا مثلا سيريال الجهاز نسخة الاوفيس نسخة الويندوز وهل هو 64 او 32 وهكذا .. واذا كانت اللغه انجليزية تفتح نافذتك الجميله لتحويل اللغه من قبل المستخدم ايضا لو تستطيع دمج اداة تقوم بتمكين محتوى الاكسس و active بشكل دائم ايضا هذي مشكلة شكرا لافكارك الجميلة وننتظر التحديث1 point
-
جزيت خيرا .. ما على كريم تشرط .. أعانك الله ووفقك1 point
-
اولا اود شكرك على نقطة الاسماء المحجوزة بالاكسس فعلا صح ثانيا الحل اللى حضرتك ارسلته هو ده المطلوب بالفعل جزاك الله كل خير الف مليون شكر1 point
-
وعليكم السلام ورحمة الله وبركاته .. بدايةً لا تقترف خطأ كبيراً بتسمية المكونات بأسماء محجوزة لآكسيس مثل ، Form أو Group . ثم ان الفكرة بسيطة جداً .. انظر الفكرة التالية في المرفق :- FAST_CA.zip1 point
-
بسيطة إستخدم هذا الإستعلام من أي قاعدة بيانات أخرى SELECT MSysObjects.Flags, MSysObjects.Name, MSysObjects.Type FROM MSysObjects IN 'D:\HideTBL V1-64.accde' WHERE ( ((MSysObjects.Name) NOT LIKE "MSys*") AND ((MSysObjects.Type) = 1) ); وذلك على إفتراض أن الملف موجود تحت القرص D مباشرة وإلا قم بتعديل المسار تحياتي1 point
-
1 point
-
الفترتين منفصلتين تماما عند التوقيع وما ينطبق على واحدة ينطبق على الاخرى فدعونا نتحدث عن واحدة منها : تعتمد الفكرة على وجود وقت الدخول + ساعات العمل + الوقت الاضافي ان وجد من خلال البيانات اعلاه نستخرج : 1- وقت الخروج الرسمي 2- صنع وقت احتياطي قبل وقت الدخول ووقت احتياطي بعد وقت الخروج بمقدار ساعة مثلا لكل واحد منهما اي ساعة متاحة قبل وساعة متاحة بعد هذان الوقتان + معرف الفترة .. هي معايير قبول التوقيع من عدمه النتيجة : لو كان حضور الصباح الساعة التاسعة صباحا والخروج الساعة الخامسة مساء ففي الامكان جعل الفترة المسائية تبدأ في الساعة الرابعة مساء . ولن يحدث تضارب بينهما كل ذلك من خلال فورم واحد وشاشة واحدة للجميع لا بأس يمكننا اضافة حقل يحمل القيمة كرقم1 point
-
نعم وجهة نظر صحيحة سأعالجها في التعديل القادم ان شاء الله لم تعطني رأيك حول الفكرة العامة التي توصلت اليها اخيرا بجعل كل فترة حرة .. حتى لو تداخلت اوقات الفترتين سأشرح الفكرة لتسهيل ايجاد وجهات النظر1 point
-
عجيبة اجهزتك هذه .. انا لم اغير القاعدة .. هي هي من اول مشاركة على كل حال قمت بتجديدها ونقلها الى قاعدة بيانات جديدة انا اعمل على اوفيس 2010 .. والافضل ان تعمل على مثله ايضا .. ChkInOut_NetUp4.rar1 point
-
وعليكم السلام ورحمة الله وبركاتة كود طباعة الكل Sub PrintAll() Dim ws As Worksheet Dim dropdownCell As Range Dim validationFormula As String Dim optionsRange As Range Dim cell As Range Dim originalValue As Variant Dim counter As Integer Set ws = ActiveSheet Set dropdownCell = ws.Range("D4") originalValue = dropdownCell.Value If dropdownCell.Validation.Type = 3 Then validationFormula = dropdownCell.Validation.Formula1 If Left(validationFormula, 1) = "=" Then validationFormula = Mid(validationFormula, 2) End If Set optionsRange = ws.Range(validationFormula) counter = 0 For Each cell In optionsRange If cell.Value <> "" Then dropdownCell.Value = cell.Value Application.Calculate DoEvents ws.PageSetup.PrintArea = "C3:J54" ws.PrintOut counter = counter + 1 Application.StatusBar = "تم طباعة " & counter & " من " & optionsRange.Cells.Count End If Next cell dropdownCell.Value = originalValue Application.StatusBar = "" MsgBox "تمت طباعة " & counter & " عنصر بنجاح!", vbInformation Else End If End Sub مرتبات شركة نقل البضائع فنيين عن شهر نوفمبر 2025.xlsm1 point
-
1 point
-
طلبك غير مفهوم .... ارفع مرفقك موضحاً عليه طلبك ..............1 point
-
انا طريقتي تختلف عن الاخوان حيث قمت بإظهار الجدول نفسه كما بالصورة وللقيام بذلك قم بتنفيذ الخطوات كالتالي 1- إنسخ الملف تحت القرص D مباشرة (يمكن نسخه إلى أي مكان ولكن هكذا سيكون المسار قصير) 2- إفتح الملف وقم بإنشاء الاستعلام التالي (هذه الخطوة غير مهمة لكم لإني سبق واستخرجت قيمة العمود المطلوب ووضعتها في الكود ولكني ذكرتها للتعرف على الخطوات) SELECT MSysObjects.Flags, MSysObjects.Name, MSysObjects.Type FROM MSysObjects WHERE ( ((MSysObjects.Name) NOT LIKE "MSys*") AND ((MSysObjects.Type) = 1) ); من خلال هذا الاستعلام سنتعرف على أي جدول Type=1 ولايبدأ بالأحرف MSys لتظهر لنا النتيجة كما بالصورة مايهمنا هنا هي قيمة العمود الأول Flags بعد ذلك قم بإغلاق التطبيق بدون حفظ اي شيء 3- إفتح أي قاعدة بيانات أخرى (سواء قاعدة بيانات فارغة أو مستخدمة لايهم) وفي أي وحدة نمطية (جديدة أو فيها اكواد لايهم) والصق فيها الإجراء التالي Sub sbUnHideTables() Dim app As Access.Application Dim wks As Workspace Dim db As dao.Database Dim rst As dao.Recordset Dim tdf As TableDef Set app = New Access.Application Set wks = app.DBEngine(0) 'الإصدار 64 Set db = wks.OpenDatabase("D:\HideTBL V1-64.accde") 'مسار الملف 'الإصدار 32 'Set db = wks.OpenDatabase("D:\HideTBL V1-32.accde") 'مسار الملف For Each tdf In db.TableDefs If tdf.Attributes = -2147483645 Then tdf.Attributes = 0 'تغيير قيمة العمود Flags Next tdf Set db = Nothing End Sub 4- انقر الزر F5 لتشغيل الإجراء حيث سيقوم بتغيير قيمة العمود Flags إلى القيمة صفر 5- اغلق قاعدة البيانات التي قمنا بتنفيذ الكود فيها (حفظ الكود من عدمه راجع لك) 6- الان إذهب إلى القرص D وقم بفتح الملف (HideTBL V1-64.accde او HideTBL V1-32.accde وفقاً لإصدار أوفيس لديك) لتجد أن الجدول قد ظهر في جزء التنقل تحياتي1 point
-
السلام عليكم ورحمة الله إليك هذا الحل باستعمال "الذكاء الاصطناعي" (بالمعادلات وبالأكواد -بتصرف-) أرجو أن يفي الغرض المطلوب... ملف العمل.xlsm1 point
-
السلام عليكم ورحمة الله لست أدري إن كنت قد فهمت المطلوب. ألق نظرة على الملف المرفق عبدالحي توزيع نسب (1).xlsx1 point
-
1 point
-
🎯 الفكرة الأساسية الفصل يعني أن يكون لديك ملف قاعدة بيانات (Back-End) يحتوي فقط على الجداول والاستعلامات. وملف آخر (Front-End) يحتوي على النماذج، التقارير، الأكواد (Modules). المستخدمون يتعاملون مع الـ Front-End فقط، بينما الجداول تبقى في الـ Back-End. 🛠️ خطوات الفصل إنشاء ملف Back-End افتح قاعدة البيانات الأصلية. من قائمة Database Tools → Move Data → Access Database. سيقوم Access بإنشاء ملف جديد يحتوي على الجداول فقط. إنشاء ملف Front-End احتفظ بالملف الأصلي كـ Front-End. بعد عملية الفصل، ستجد أن الجداول أصبحت "Linked Tables" مرتبطة بالـ Back-End. الربط (Linking) من الـ Front-End، اذهب إلى External Data → Linked Table Manager. اختر الجداول المراد ربطها وحدد موقع ملف الـ Back-End. Access ينشئ جداول مرتبطة (Linked Tables) بنفس الأسماء، لكن أي تعديل أو إدخال بيانات يتم تخزينه في الـ Back-End. ⚡ ملاحظات مهمة الاستعلامات: إذا كانت الاستعلامات بسيطة (Select)، يمكن أن تبقى في الـ Front-End. أما الاستعلامات المعقدة أو التي تعتمد على حجم بيانات كبير، يفضل نقلها إلى الـ Back-End لتحسين الأداء. الأمان والصيانة: بهذه الطريقة، إذا أردت تحديث النماذج أو الأكواد، توزع نسخة جديدة من الـ Front-End فقط، دون المساس بالبيانات. يمكن وضع الـ Back-End على شبكة مشتركة (Shared Folder) ليستخدمه أكثر من موظف. إعادة الربط التلقائي: يمكنك كتابة كود VBA صغير في الـ Front-End يقوم بالتحقق من وجود الـ Back-End وإعادة الربط تلقائيًا إذا تغيّر المسار. هذا يحل مشكلة اختلاف المسارات بين الأجهزة. 🔑 مثال كود VBA لإعادة الربط Function RelinkTables() Dim db As DAO.Database Dim tdf As DAO.TableDef Dim strPath As String strPath = "C:\Data\MyBackend.accdb" ' مسار ملف الـ Back-End Set db = CurrentDb For Each tdf In db.TableDefs If Len(tdf.Connect) > 0 Then tdf.Connect = ";DATABASE=" & strPath tdf.RefreshLink End If Next tdf MsgBox "تم إعادة ربط الجداول بنجاح!" End Function ✨ بهذه الطريقة يصبح عندك فصل واضح بين البيانات و الواجهة، مما يسهل الصيانة، التوزيع، والتحكم في الأمان. واليك مرفق استاذنا @at_aziz ليوضح لك عملية اعادة الربط . Aziz-1.rar1 point
-
اولا شكرا لدعاؤك لي ثانيا الكود في الملف السابق يقوم بترتيب الصفحات ذات الارقام وبالتالي ستجد الصفحات الاخرى ذات الحروف وليس الارقام مستثناة وتجدها بجانب بعضها ولكن هناك احتمال الرغبة في استثناء صفخة او صفحات رقمية مثلا تريد استثناء صفخة 4 من الترتيب . هنا سيتم التعديل على الكود باظافة مصفوفة لتجميع الصفخات المستثناة كل ما عليك فعلة هو التعديل في هذا الجزء من الكود حيث اضفت لك صفحات افتراضية في الكود وليس في المصتف مثل "ملخص", "إعدادات", "تعليمات يمكنك تعديلها باي اسم او اظافة صفحات اخرى باي عدد تشاء excludedSheets = Array("الرييييسية", "تجميع", "ملخص", "إعدادات", "تعليمات") اليك الملف بالتعديل ترتيب الصفحات1.xlsm تحياتي1 point
-
اخى الكريم الملف يعمل بكل كفاءة فقط عليك تحديث برنامج فك الضغط لديك وعموماً تفضل البرنامج مرة اخرى The-Magic-Form-اليوزرفورم السحرى.rar1 point
-
السلام عليكم و رحمة الله وبركاته شاهدت فى بعض المنتديات الاجنبية خرائط جغرافية لدول مصممة على الاكسل فقررت أعمل واحدة لمصر . فى المرفق قف على اسم المنطقة فى الخلية وانظر للخريطة . يا رب يكون مفيد تحياتى Egypt_map Mokhtar.rar1 point
-
1 point