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

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. الساعة الأخيرة
  2. طيب ايش هي المشاكل ,, انت الآن طلبك كالآتي :- 1. حساب عدد الخلايا الغير فارغة لكل لون في الأعمدة . صحيح ؟؟ الآن المشاكل التي تقصدها :- 1. عند تغيير لون الخلية لا يتم تحديث القيم في أعداد الخلايا التي كتبنا فيها المعادلات ، صحيح ؟ يعني انت تريد عند التغيير للون أي خلية ، أن يتم التعديل مباشرة في أعداد الألوان في الأعمدة ؟؟؟؟؟؟؟؟؟؟؟؟؟ وهنا المشكلة أخي الكريم .. فتغيير اللون ليست حدث أو قيمة يشعر بها آكسل للأسف وبالتالي لن يتم تحديث التعداد إلا إذا !!!!!! في حدث عند التحديث للورقة ، كالتالي :- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.Calculate End Sub قمنا بإعادة حساب كل الصيغ والمعادلات في الورقة مرة أخرى ، بمجرد أن تقوم بالتحرير داخل اي خلية ، ثم الخروج . خلاف ذلك لا اعتقد ان ذلك ممكن .
  3. استاذي الكريم اعتذر عن الاطاله ولكن عند التعديل طهرت المشاكل الجديده وهذه تخر طلب استاذي الكريم وجزاك الله خيرا
  4. أخوي الكريم ، أرجو منك كتابة كافة طلباتك ، حتى لا نجر بعضنا من طلب إلى آخر 😅
  5. نعم استاذي الكريم الخليه الفارغه لا اريد احتسابها ابضا عند تعيير لون الخليه اوة اضافه خليه جديده للعامود فانه لا يقوم بتعديل نتيجه الالوان وشكرا للمساعده
  6. Today
  7. مشكـــــــــــــور كـــــــــــــــل الشكـــــــــــــر عمـــــــــــــل رائـــــــــــــــــع جـــــــــــــــزاك الله كـــــــــــل خيــــــــــــــــــــر
  8. بكل الأحوال .. إن كان ما سبق صحيح ، فقط علينا إضافة شرط للجملة الشرطية بحيث تصبح :- If c.Interior.Color = clr.Interior.Color And Trim(c.Value) <> "" Then بداً من :- If c.Interior.Color = clr.Interior.Color Then
  9. لم أفهمها بالضبط .. تقصد أنه لو جعلنا مثلاً الخلية B17 باللون الأحمر ولكنها فارغة من غير قيمة ، فإن الوضع الحالي سيحسب عددها مع الخلايا باللون الأحمر . وأنت تريد أن يقوم بالعد إذا كانت الخلية غير فارغة ؟؟؟؟؟ أرجو التوضيح بشكل أكثر
  10. السلام عليكم وجزاكم الله خيرا استاذي الكريم ولكن لدي مشكله اذا اضفت خلايا للعامود بدون تسجيل قيمه بداخلها فانه يقوم بحساب الخلايا الفارغه ايضا كيف يمكن ان اجعله لا يحسب الخلايا الفارغه ايضا عند تلوين خليه باللون لا يظهر العدد الا عند الضغط على سطر الاوامر ليقوم بالتنفيذ ولا يقوم بالتنفيذ مباشر
  11. وعليكم السلام ورحمة الله وبركاته ,, طبعاً قبل البدء بطرح الحل ، وجب التنبيه إلى ضرورة أن تكون الأرقام في الخلايا التي بها اللون تطابق نفس اللون للخلايات التي سيكون لها التعداد .. الدالة بسيطة كالتالي ضعها في مديول .. Function CountByColor(rng As Range, clr As Range) As Long Dim c As Range Dim cnt As Long cnt = 0 For Each c In rng If c.Interior.Color = clr.Interior.Color Then cnt = cnt + 1 End If Next c CountByColor = cnt End Function ثم الإستدعاء بالشكل التالي مع حرية تحديد النطاق وخلية اللون :- =CountByColor(B7:B100, A2) الملف بعد التطبيق :- 111.xlsm
  12. السلام عليكم لدي جدول اريد حساب عدد الخليات لكل لون بكل عامود وتسجيل العدد جانب اللون من الاعلى ولكم جزيل الشكر 111.xlsm
  13. السلام عليكم كيف حال الجميع بصراحه البرنامج جميع وان شاء الله يكون فيه تطوير اكبر واعمق بارك الله فيكم واشكر جميع من ساهم في هذا التصميم والبرنامج الجميل اخوي ابو خليل لك كل الشكر والتقدير
  14. الخبراء الاعزاء كل ماريدة فى الصورة اريد التصدير باسم المريض TO EXCEL_PDF.accdb
  15. عندما يحتمع الخبراء لحل مشكلة تظهر الحلول المتعدد شكرا لكم جميعا
  16. Yesterday
  17. جزاك الله خيرا .. وكتبها في موازين أعمالك
  18. السلام عليكم ورحمة الله وبركاته .. 🙂 نزولا عند رغبة شيخنا الفاضل @ابوخليل تم إضافة تحسين بسيط على دالة التفقيط المبسطة لتعميم الفائدة .. طبعا الدالة كانت تأخذ 3 أرقام من كسر العملة هكذا ( 143.487 ) وهذا ينطبق على بعض العملات كالريال العماني والبيسة العمانية بينما أن هناك الكثير من العملات تعتمد 2 رقمين لكسر العملة مثال الريال والهللة السعودية والجنيه والقرش المصري هكذا ( 123.45 ) والتعديل الذي تم إجراؤه هو إضافة معامل رابع للدالة للتحكم في هذا الاختلاف واختيار عدد أرقام كسر العملة 2 أو 3 حسب الحاجة .. بدون إطالة إليكم الدالة كاملة .. وكذلك تم إضافة ملف جاهز ليبين طريقة الاستخدام : 🙂 Option Compare Database Option Explicit Function NoToTxt(TheNo As Double, _ MyCur As String, _ MySubCur As String, _ Optional FractionDigits As Integer = 3 _ ) As String '---------------------------------- ' دالة التفقيط المحسنة ' TheNo : المبلغ ' MyCur : العملة الرئيسية ' MySubCur : جزء العملة ' FractionDigits : عدد أرقام جزء العملة 2 أو 3 '---------------------------------- ' : أمثلة على الاستخدام ' NoToTxt(15.436, "ريال عماني", "بيسة") ' NoToTxt(15.43, "ريال", "هللة", 2 ) ' NoToTxt2(15.436, "ريال", "بيسة", 3) '---------------------------------- Dim MyArry1(0 To 9) As String Dim MyArry2(0 To 9) As String Dim MyArry3(0 To 9) As String Dim Myno As String Dim GetNo As String Dim RdNo As Integer Dim My100 As String Dim My10 As String Dim My1 As String Dim My11 As String Dim My12 As String Dim GetTxt As String Dim Mybillion As String Dim MyMillion As String Dim MyThou As String Dim MyHun As String Dim MyFraction As String Dim MyAnd As String Dim i As Integer Dim ReMark As String Dim IntegerPart As Double Dim FractionPart As Long Dim ScaleNo As Double ' عدد خانات الكسر المسموح بها ' الدالة الحالية تقرأ الجزء العشري كمجموعة من 3 أرقام، لذلك الحد الأعلى 3 If FractionDigits < 0 Then FractionDigits = 0 If FractionDigits > 3 Then FractionDigits = 3 If Abs(TheNo) > 999999999999.999 Then Exit Function If TheNo < 0 Then TheNo = TheNo * -1 ReMark = "عليه مبلغ " Else ReMark = "له مبلغ " End If If TheNo = 0 Then NoToTxt = "صفر" Exit Function End If MyAnd = " و" MyArry1(0) = "" MyArry1(1) = "مائة" MyArry1(2) = "مائتان" MyArry1(3) = "ثلاثمائة" MyArry1(4) = "اربعمائة" MyArry1(5) = "خمسمائة" MyArry1(6) = "ستمائة" MyArry1(7) = "سبعمائة" MyArry1(8) = "ثمانمائة" MyArry1(9) = "تسعمائة" MyArry2(0) = "" MyArry2(1) = " عشر" MyArry2(2) = "عشرون" MyArry2(3) = "ثلاثون" MyArry2(4) = "اربعون" MyArry2(5) = "خمسون" MyArry2(6) = "ستون" MyArry2(7) = "سبعون" MyArry2(8) = "ثمانون" MyArry2(9) = "تسعون" MyArry3(0) = "" MyArry3(1) = "احدى" MyArry3(2) = "اثنان" MyArry3(3) = "ثلاثة" MyArry3(4) = "اربعة" MyArry3(5) = "خمسة" MyArry3(6) = "ستة" MyArry3(7) = "سبعة" MyArry3(8) = "ثمانية" MyArry3(9) = "تسعة" '====================== ' تجهيز الرقم حسب عدد الخانات المطلوبة بعد الفاصلة ' مثال: ' FractionDigits = 2 يجعل 15.436 تقرأ كـ 15.44 ' FractionDigits = 3 يجعل 15.436 تقرأ كـ 15.436 TheNo = Round(TheNo, FractionDigits) IntegerPart = Fix(TheNo) If FractionDigits = 0 Then FractionPart = 0 Else ScaleNo = 10 ^ FractionDigits FractionPart = CLng(Round((TheNo - IntegerPart) * ScaleNo, 0)) End If ' معالجة حالة التقريب التي قد ترفع الجزء العشري إلى 100 أو 1000 If FractionDigits > 0 Then If FractionPart >= ScaleNo Then IntegerPart = IntegerPart + 1 FractionPart = 0 End If End If ' الجزء الصحيح 12 رقم + الجزء العشري دائمًا 3 أرقام داخليًا ' عند اختيار خانتين مثلًا 44 يتم تخزينها كـ 044 حتى تُقرأ أربعون وأربعة GetNo = Format(IntegerPart, "000000000000") & "." & Format(FractionPart, "000") i = 0 '=============== Do While i < 16 My100 = "" My10 = "" My1 = "" My11 = "" My12 = "" GetTxt = "" If i < 12 Then Myno = Mid$(GetNo, i + 1, 3) Else Myno = Mid$(GetNo, i + 2, 3) End If If Val(Mid$(Myno, 1, 3)) > 0 Then RdNo = Val(Mid$(Myno, 1, 1)) My100 = MyArry1(RdNo) RdNo = Val(Mid$(Myno, 3, 1)) My1 = MyArry3(RdNo) RdNo = Val(Mid$(Myno, 2, 1)) My10 = MyArry2(RdNo) If Val(Mid$(Myno, 2, 2)) = 11 Then My11 = "احدى عشر" If Val(Mid$(Myno, 2, 2)) = 12 Then My12 = "اثني عشر" If Val(Mid$(Myno, 2, 2)) = 10 Then My10 = "عشرة" If Val(Mid$(Myno, 1, 1)) > 0 And Val(Mid$(Myno, 2, 2)) > 0 Then My100 = My100 & MyAnd End If If Val(Mid$(Myno, 3, 1)) > 0 And Val(Mid$(Myno, 2, 1)) > 1 Then My1 = My1 & MyAnd End If GetTxt = My100 & My1 & My10 If Val(Mid$(Myno, 3, 1)) = 1 And Val(Mid$(Myno, 2, 1)) = 1 Then GetTxt = My100 & My11 If Val(Mid$(Myno, 1, 1)) = 0 Then GetTxt = My11 End If If Val(Mid$(Myno, 3, 1)) = 2 And Val(Mid$(Myno, 2, 1)) = 1 Then GetTxt = My100 & My12 If Val(Mid$(Myno, 1, 1)) = 0 Then GetTxt = My12 End If If i = 0 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then Mybillion = GetTxt & " مليار" Else Mybillion = GetTxt & " مليارات" If Val(Mid$(Myno, 1, 3)) = 1 Then Mybillion = " مليار" If Val(Mid$(Myno, 1, 3)) = 2 Then Mybillion = " ملياران" End If End If If i = 3 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then MyMillion = GetTxt & " مليون" Else MyMillion = GetTxt & " ملايين" If Val(Mid$(Myno, 1, 3)) = 1 Then MyMillion = " مليون" If Val(Mid$(Myno, 1, 3)) = 2 Then MyMillion = " مليونان" End If End If If i = 6 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then MyThou = GetTxt & " الف" Else MyThou = GetTxt & " الاف" If Val(Mid$(Myno, 1, 3)) = 1 Then MyThou = " الف" If Val(Mid$(Myno, 1, 3)) = 2 Then MyThou = " الفان" End If End If If i = 9 And GetTxt <> "" Then MyHun = GetTxt If i = 12 And GetTxt <> "" Then If FractionDigits > 0 Then MyFraction = GetTxt End If End If End If i = i + 3 Loop '============================ If Mybillion <> "" Then If MyMillion <> "" Or MyThou <> "" Or MyHun <> "" Then Mybillion = Mybillion & MyAnd End If End If If MyMillion <> "" Then If MyThou <> "" Or MyHun <> "" Then MyMillion = MyMillion & MyAnd End If End If If MyThou <> "" Then If MyHun <> "" Then MyThou = MyThou & MyAnd End If End If If MyFraction <> "" Then If Mybillion <> "" Or MyMillion <> "" Or MyThou <> "" Or MyHun <> "" Then NoToTxt = ReMark & Mybillion & MyMillion & MyThou & MyHun & " " & MyCur & MyAnd & MyFraction & " " & MySubCur & " فقط" Else NoToTxt = ReMark & MyFraction & " " & MySubCur & " فقط" End If Else NoToTxt = ReMark & Mybillion & MyMillion & MyThou & MyHun & " " & MyCur & " فقط" End If End Function NoToTxt.accdb
  19. أين تعليم المشاركة ك Solution
  20. و عليكم السلام ورحمة الله وبركاته تفضل الملف حسب نسخة الأوفيس عندك لو قديم الملف الأول و لكن اذا أضفت كلمات جديدة يجب أن تضيفها في الصيغة ولو عندك . أوفيس حديث يمكن استخدام الملف الثاني فهو يتعرف على الكلمات تلقائيا الملف الثالث يعمل بالأكواد الحضور والغياب (2).xlsx الحضور والغياب حديث.xlsx الحضور والغياب أكواد.xlsm
  21. الف شكر اخى الغالى تمام تسلم جزاك الله كل خير تقبل تحياتى
  22. تفضل لعل هذا طلبك مع ان الملف القديم كان يحدد النتائج بمجرد الضغط على زر بحث. تم استبدال أول أسماء الأصناف بكلمات حقيقية لتجربة البحث بالأسم لأن الكل كان يبدأ بحرف ص 3 _ شهر ابريل1 2026.xlsm
  23. ولكن هذا ليس من تعديلي انا ، هذا الـ api للنواة 64بت
  24. السلام عليكم ورحمة الله وبركاته مساعدة / دالة لحساب الكلمات المكررة بالخلية بحيث إذا تغيرت الكلمات تتغير النتيجة ملف مرفق وجزاكم الله كل خير ، تحياتي الى كل أعضاء الموقع الحضور والغياب.xlsx
  25. شكراً لك استاذي جعفر على لفت الإنتباه لهذه النقطة ، سآخذها بعين الإعتبار مرجعاً لي 😇 . أعتقد بعد تجربتي على أكثر من جهاز لم يظهر لي هذا الخطأ بعد إيقاف المؤقت قبل اغلاق القاعدة ، كما ذكرت في النقطة . KillTimer 0, hTimer ولكن لا يمنع أخذ الإحتياط لكافة الإحتمالات 😇 .
  26. قد يكون كذلك ، كانت عندي النقطة المفصلية أنك جعلت rgb As LongPtr في حالة VBA7 ، وهذا غير صحيح لأن اللون ليس Pointer 🤔 . وباعتقادي أن الصحيح هو بقاء rgb As Long دائماً ، بينما الـ Hwnd هو الذي يتغير بين Long و LongPtr . لم أجرب تعديلك لتأكيد وتصويب معلومتي ، فعذراً منكم أستاذي جعفر 😇 .
  1. أظهر المزيد
×
×
  • اضف...

Important Information