نجوم المشاركات
Popular Content
Showing content with the highest reputation on 09/02/25 in مشاركات
-
انا مع الأخ @Foksh بأن لديك مشكلة في تسمية الحقول والتي تسبب الكثير من المشاكل على كل حال الآن الإستعلام يقوم بإلحاق نفس السجل وذلك لأن المعايير المحددة له واضحة فأنت تقول له أن يقارن قيم الحقول بالقيم من النموذج الفرعي ويعتمد الحل المطلوب على أحدى الحالتين التاليتين - إذا كنت تريد مقارنة الحقول مع القيم الموجودة في النموذج الفرعي الأعلى فيجب تعديل معايير الإستعلام لتشير إلى النموذج الفرعي sfVaca200 وليس sfVaca - اما اذا كانت القيم المستخدمة كمعيار بحث موجودة في النموذج الفرعي الاسفل فيجب إجراء Requery للنموذج الفرعي فكما لاحظت فإن محتوياته لا تتغير مهما كان إختياري من القائمة تحياتي1 point
-
السلام عليكم جرب التعديل التالي التعديل في الجزء wsArchive.Protect Password:=Password, USERINTERFACEONLY:=True الى wsArchive.Protect Password:=Password, USERINTERFACEONLY:=True, AllowFiltering:=True الكود كاملا Sub CopyPrintClear() Dim wsArchive As Worksheet Dim wsPrint As Worksheet Dim lastRow As Long Dim copyRange As Range Dim rowCount As Long Dim i As Long Dim Password As String Dim requiredCells As Variant Dim cell As Variant Dim isIncomplete As Boolean Password = "KHORSHEED.OMAR.2025" ' تعيين الشيتات Set wsPrint = ThisWorkbook.Sheets("طباعة") Set wsArchive = ThisWorkbook.Sheets("أرشيف") ' التحقق من الخلايا المطلوبة requiredCells = Array("A2", "F2", "F3", "C18") isIncomplete = False For Each cell In requiredCells If Trim(wsPrint.Range(cell).Value) = "" Then isIncomplete = True Exit For End If Next cell If isIncomplete Then MsgBox "الملف غير كامل. يرجى تعبئة جميع الخلايا المطلوبة.", vbExclamation Exit Sub End If ' رسالة تأكيد If MsgBox("هل تريد تنفيذ العملية؟", vbYesNo + vbQuestion, "تأكيد") = vbNo Then Exit Sub End If ' رفع الحماية مؤقتًا wsArchive.Unprotect Password:=Password ' تحديد نطاق النسخ Set copyRange = wsPrint.Range("A6:G15") rowCount = copyRange.Rows.Count ' تحديد أول صف فارغ في شيت الأرشيف lastRow = wsArchive.Cells(wsArchive.Rows.Count, "B").End(xlUp).Row + 1 ' نسخ الجدول بالكامل إلى الأرشيف wsArchive.Range("A" & lastRow).Resize(rowCount, 5).Value = copyRange.Value ' نسخ القيم الفردية إلى الأعمدة المطلوبة wsArchive.Range("F" & lastRow & ":F" & lastRow + rowCount - 1).Value = wsPrint.Range("C18").Value wsArchive.Range("J" & lastRow & ":J" & lastRow + rowCount - 1).Value = wsPrint.Range("B3").Value wsArchive.Range("H" & lastRow & ":H" & lastRow + rowCount - 1).Value = wsPrint.Range("F3").Value wsArchive.Range("G" & lastRow & ":G" & lastRow + rowCount - 1).Value = wsPrint.Range("F2").Value wsArchive.Range("I" & lastRow & ":I" & lastRow + rowCount - 1).Value = wsPrint.Range("A2").Value ' تحديد منطقة الطباعة وشطبها wsPrint.PageSetup.PrintArea = "$A$1:$F$18" wsPrint.PrintOut ' مسح البيانات من الشيت wsPrint.Range("A6:A15").ClearContents wsPrint.Range("C6:E15").ClearContents wsPrint.Range("A2").ClearContents wsPrint.Range("F2").ClearContents wsPrint.Range("F3").ClearContents wsPrint.Range("C18").ClearContents ' الطباعة مرة ثانية إذا رغبت wsPrint.PageSetup.PrintArea = "$A$1:$F$18" wsPrint.PrintOut wsArchive.Protect Password:=Password, USERINTERFACEONLY:=True, AllowFiltering:=True ' تنظيف الحافظة Application.CutCopyMode = False ' العودة إلى شيت الطباعة وتحديد الخلية A1 wsPrint.Activate wsPrint.Range("A1").Select End Sub1 point
-
تحياتي للاخ الكريم @منتصر الانسي تم حل المشكلة بشكرك جدا جدا علي كرم الرد والاستجابة1 point
-
اخي الكريم @ابوخليل للاسف لم اعرف السبب او التشخيص ولكن العلاج كان شعبيا بحت كل ما فعلته اضفت رأس للتقرير الفرعي فقط 😀 وجعلته صغيرا جدا حتى لا يظهر لكن يبقى السؤال لما تحدث هذه الظاهرة ؟؟؟؟ اذا ... العلاج شعبي ومسكن فقط 😁1 point
-
اعتذر عن التأخر في الرد بعد التجربة . التعديل شغال و يؤدي المطلوب جزاك الله خيرا اخي @منتصر الانسي وجعلها في ميزان حسناتك كما أتقدم كذلك بخالص الشكر والامتنان للأخ @Foksh والاخ @AbuuAhmed بارك الله فيكم جميعا1 point
-
المشكلة تظهر لشهري 8 و 9 وليس 9 فقط والسبب هي وجود قيم فارغة في الحقل Add_Days التابع للجدول moa_details الان لديك حلين إما تعبئة الحقول الفارغة بالقيمة 0 أو إستخدام دالة Nz في الإستعلام تحياتي1 point
-
1 point
-
1 point
-
تم تعديل الكود ملاحظة : في الجدول ومعيار تصفية النموذج عندك مكتوب (أستاذة) وفي الكود مكتوب (أساتذة) راجع أيهما خطأ وقم بتصحيحه تحياتي BASE-E6.rar1 point
-
وعليكم السلام ورحمة الله وبركاته ,,, أخي الكريم . حتى لا يتم تهميش أي موضوع تطرحه بعدم حصولك على رد لمشكلتك ، نرجو منك ما يلي :- أن يكون الشرح للمشكلة التي تواجهها شرحاً وافياً كافياً .. ( خذ وقتك في التعبير والكتابة والشرح ) إن أمكن لك توضيح المشكلة وتدعيم موضوعك بصورة فهو مناسب أكثر وأوضح لأي شخص يمر من هنا . استخدامك لمسميات الحقول باللغة العربية يجعل الكثيرين ممن يقومون برؤية الملف في حالة غير مشجعة للرد . فالمسميات العربية تسبب المشاكل في كتابة الاستعلامات والأكواد ... إلخ برأيك ، هل هذا الإسم للحقل "رقم الحساب الجار لصاحب (ة) المنصب" منطقي وصحيح ؟؟ الجواب قطعاً لا . لأسباب كثيرة منها طول الأسم باستخدام أكثر من كلمة يفصل بينها فراغ ... إلخ لا أحاول إحباطك في المشاركات ، لكن هدفنا هو حصولك على النتيجة التي تريدها بأسرع وقت . أشكر لك رحابة صدرك و وساعته على ما اقترحته عليك1 point
-
تفقيط مبلغ معين (من الأرقام الى الحروف) سواء باللغة العربية أو الإنجليزية طريقةإستخدام معادلتى التفقيط لأى مبلغ باللغة الإنجليزبة أوالعربية:- 1- أبحث عن الـFolder المسمى XLSTART عل ى جهاز الكمبيوتر الخاص بك وغالبا ستجده فى program files وداخل Microsoft office 2- أنسخ الملفين الموجودين داخلالفولدر المسمى معادلة التفقيط (فى المرفقات) وهما Copy of Copy of EHAB و Copy of Copy of PERSONALوضعهما داخل الفولدر المسمى XSTART السابق الإشارة اليه فى الخطوة رقم1 3- انت الأن جاهز لإستخدام المعادلات 4- لاستخدام المعادلة داخل أى Excel sheet كالأتى إذهب الى الخلية التى تريد ان تكتب داخلها التفقيط وأذهب الى Formula tab واضغط على الأيقونة Insert function وفى المكان المخصص لـ Or select a category إختار User Defined بعدها ستجد المعادلات المطلوبة , إختار المعادلة المطلوبة إذا كانت باللغة العربية أو الأنجليزية وستظهر فى الخلية التى أنت واقف عليها وإختار الخلية الى بها الأرقام المطلوب تفقيطها وأضغط Enter ستجد المبلغ بالحروف المطلوبة معادلة التفقيط.rar1 point
-
السلام عليكم استخراج تاريخ الميلاد من الرقم القومي وهي طلب للاخ الحبيب الاستاذ محمدي عبد السميع يطريقتين : اولا : بالمعادلات =DATE(IF(LEFT($B6;1)="2";MID($B6;2;2);"20"&MID($B6;2;2));MID($B6;4;2);MID($B6;6;2)) ============================= ثانيا: بالكود بدالة Kh_MyDate Option Explicit ' بسم الله الرحمن الرحيم " ' ******************** " ' دالـــــــــــــــة ' استخلاص تاريخ الميلاد من الرقم القومي '========================================" '========================================" '----------------------------------------------------------------- Function Kh_MyDate(MyNumber As Variant) As Date Dim D As String, M As String, Y As String, TY As String On Error GoTo Err_Kh_MyDate D = Mid(MyNumber, 6, 2) M = Mid(MyNumber, 4, 2) Y = Mid(MyNumber, 2, 2) TY = Left(MyNumber, 1) If TY = "2" Then Else Y = "20" & Y Kh_MyDate = DateSerial(Y, M, D) Exit Function Err_Kh_MyDate: Kh_MyDate = "" End Function جعلتها هنا لتعم الفائدة للجميع خبور خير دالة استخلاص تاريخ الميلاد من الرقم القومي.rar1 point
-
بسم الله الرحمن الرحيم - بناء على طلب الأخ SOJOD وهو عضو معنا بالمنتدى . فقد قمت بتصميم برنامج للمستودعات والمبيعات وأليكم البرنامج مع الشرح بالصور - في البدايه البرنامج مصمم على الأكسيل xp وسيعمل مع جميع الأصدارت بمشيئة الله تعالى - عند تشغيل البرنامج ستظهر لك الشاشة الرئيسيه والتي تحتوي على مجموعة من الأزره كما ترى بالصوره - أولاًُ : يجب عليك تسجيل المنتجات أو الأصناف المتوفره لديك وذلك بالضغط على صفحة الأصناف ستجد أن الأصناف مرقمه من ( 1 - 150 ) صنف والأرقام ثابته ولكن عليك أدخال أسم كل صنف أمام رقمه ( خطوه أساسيه ) - ثانياً : عليك أدخال أسماء الموردين الذي تتعامل معهم لشراء المنتجات التي لديك وذلك بالضغط على زر صفحة الموردين . تحتوي الصفحه على 150 مورد ولا تنسى أن لديك خيار للبحث عن أسم المورد ( خطوه أختياريه ) - ثالثاً : بعد تسجيل أسماء المنتجات وهذه الخطوه هامه جدا . تجد زر خاص بفواتير الشراء عند الضغط عليه تتوجه للصفحه التي بها عدد ( 31 ) زر أي ( 31 ) فاتوره بأقصى عدد أيام للشهر وللعلم فإن كل فاتوره يتم تحريرها سيظهر أمامها بهذه الشاشه مبلغ إجمالي الفاتوره والذي سيساعدك في معرفة إذا كانت الفاتورة محرره أم لا . - رابعاً : تجد أيضاً فواتير خاصه بعمليات البيع خلال الشهر وهي أيضاً بعدد ( 31 ) وبنفس فكرة فواتير الشراء - خامساً : عند الدخول الي فاتورة الشراء أو البيع ستجد أنك ستكتب تاريخ اليوم - رقم الفاتوره - وبيانات المشتري أو البائع وستجد أنك بمجرد أدخال رقم الصنف سيظهر أسم الصنف حيث سيستسقي البرنامج بياناته من البيانات التي أدخلتها أنت في صفحة ( الأصناف ) - سادساً : توجد صفحه خاصه بالتقارير وبها مجموعه كبيره من التقارير كما ترى بالصوره وسأتركك تستكشفها بنفسك - سابعاً : بما أن البرنامج شهري ويتم مسح بياناته نهاية كل شهر فيجب عليك لكي تحصل على تقارير سنويه أن تقوم بحفظ البيانات أولاً قبل مسح الشهر وذلك بالضغط على زر ( تخزين البيانات ) من الصفحة الرئيسيه ثم سيفتح لك صفحه بها أسماء شهور السنه قم بالضغط على اسم الشهر الحالي ليتم حفظ البيانات تلقائيا - ثامناً : الآن وبعد حفظ بيانات الشهر يمكنك مسح كافة بيانات هذا الشهر والبدأ بتسجيل شهر جديد وذلك بالضغط على زر المسح من الصفحة الرئيسية - ستجد أن البرنامج يطلب منك كلمة السر لتأكيد الدخول لصفحة المسح وكلمة السر هي ( بسم الله ) وبعد الدخول للصفحه تجد العديد من الخيارات حيث يمكنك : * مسح بيانات الشهر الحالي فقط * مسح جميع البيانات مع الأحتفاظ بأسماء المنتجات والموردين * مسح كامل بيانات البرنامج وتصفيره وبدأه من جديد بالكامل * ملحوظه هامه ( تغيير أسم الملف الأصلي وهو ( STORE ) قد يؤدي لخلل بعملية مسح البيانات وعليه يجب عدم تغيير أسم الملف الأصلي * لا تنسى أنه بأمكانك مشاهدة تقرير بالأرباح والخسائر * تقرير بفواتير الشراء * تقرير بفواتير البيـــــع * تقرير بعدد مرات شراء أو بيع صنف * والعديد والعديد من التقارير الشهريه والسنويه * البرنامج مضغوط ببرنامج Winzip وحجمه ( 1.12 ) ميجابايت . وبعد فك الضغط حجمه سيكون 4.48 ميجابايت * في النهايه أشكر كل من ساعدني في أتمام البرنامج وأخص بالذكر : * الأستاذ ( محمد طاهر ) * الأستاذ ( أبومؤنــــس ) * وأشكر الآخ ( sojod ) على طرح الفكره رابط تحميل البرنامج تجدونه في المرفقات * شكراً لكم ولا تنسونا من صالح الدعاء * download.zip1 point