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

أ / محمد صالح

أوفيسنا
  • Posts

    4,444
  • تاريخ الانضمام

  • Days Won

    192

كل منشورات العضو أ / محمد صالح

  1. بارك الله فيكم جميعا ولإثراء الموضوع وتحقيقا لهوايتي المفضلة اختصار الأكواد يمكنك أخي صاحب الاستفسار أن تضع هذا الكود مكان الإجراء القديم Sub REs_Data() lr = Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Row lr2 = Sheets("CAll").Cells(Rows.Count, 1).End(xlUp).Row For r = 2 To lr myval = Evaluate("=IFERROR(INDEX(CAll!$C$2:$C$" & lr2 & ",MATCH(B" & r & ",CAll!$A$2:$A$" & lr2 & ",0)),"""")") Range("E" & r).value = IIf(myval = "", Range("E" & r).value, myval) Next r MsgBox "Done by mr-mas.com", , "M.A.S" End Sub بالتوفيق
  2. لا يوجد ما يمنع أن ينقل قيم هذه المعادلة من العمود الجديد إلى العمود B ويحذف العمود الجديد الكمبيوتر يتميز بالمرونة فلكل مشكلة الكثير من الحلول المهم أن يبدع الإنسان ويفكر بالتوفيق للجميع
  3. بعد إذن أخينا الفاضل @محمد هشام. هذه دالة معرفة في vba مختصرة تفي بالغرض بإذن الله Function masRemovePlus(txt As String) As String txt = Trim(txt) Do While Right(txt, 1) = "+" txt = Trim(Left(txt, Len(txt) - 1)) Loop masRemovePlus = txt End Function ويمكن استدعاؤها كالتالي =masRemovePlus(B7) رغم أن معالجتي لمثل هذه الأمور تبدأ من الكود الذي يصدر هذا النص بمعنى أدق تصحيح المعادلة التي تحدد مواد الرسوب حتى لا تكتب علامة زائد في غير موضعها بالتوفيق
  4. الافتراضي هو التنقل بزر tab و shift+tab ويمكن ذلك بضبط خاصية tabindex الخاصة بكل textbox العنصر الذي تريد أن يفتح النموذج عليه تجعل له رقم صفر في خاصية tabindex في نافذة الخصائص بالتوفيق
  5. جرب هذا الكود في أحداث المصنف Private Sub Workbook_SheetActivate(ByVal Sh As Object) ShowScrollBar End Sub أو يمكنك وضع كود showscrollbars في هذا الحدث مباشرة بدون تسميته باسم خاص بالتوفيق
  6. أخي صاحب الاستفسار موضوع الأجازات كبير قليلا. أكبر من هذا التصميم البسيط أخي الكريم. فمعنى مدة الأجازة حسب العقد أن هذه المدة سنويا. فإذا كانت الأجازة نصفها في عام ونصفها في عام آخر يتم حساب رصيد كل سنة على حدة. ويخصم هذا الرصيد من 21 أو 30 (رصيد السنة) وليس على جميع الأجازات التي أخذها الموظف بالتوفيق
  7. قد تحتاج إلى التأكد من أنك تستخدم أحدث إصدار من Microsoft 365، حيث أن هذه الدالة متاحة في Excel لـ Microsoft 3651. وإذا كنت مصريا ولك أبناء في التعليم فيمكنك استعمال البريد الموحد الخاص بهم في تفعيل أوفيس 365 بالتوفيق
  8. ليس لدي تفاصيل عن المشكلة ولكن اعتقد أنه يمكن استعمال الوحدات كنص مثلا بدلا من تمثيلها بالخلايا المدمجة تطبيق ChatGPT هو الأصل في الذكاء الاصطناعي ولكن في رأيي الشخصي Copilot أكثر توافقا مع تطبيقات أوفيس بالتوفيق
  9. بارك الله لك أخي الكريم أولا أرسلت لك إجراء للنسخ وإجراء للصق يمكنك وضعه في زر النسخ واللصق كما تريد (طبعا بدون السطر الأول والأخير الخاصين باسم الإجراء ونهايته؛ لأنه إجراء الزر له بداية ونهاية خاصة به). ثانيا يمكنك التأكد من إضافة مكتبة النماذج من قائمة tools ثم references ثم تبحث عن هذا الاسم وتضع علامة صح بجانبه تم تعديل الكود السابق على الأزرار الخاصة بك بالتوفيق
  10. ما شاء الله ربنا يبارك في حضرتك وعلم حضرتك واجتهادك في فهم كل صغيرة وكبيرة في ملفك قبل أن تطلب مساعدة بسيطة تنقصك أما إذا كنت قد حصلت على هذا الملف بدون جهد وتريد الحصول على التعديل بدون جهد أيضا فأدعو لك بالتوفيق
  11. يمكنك استعمال هذا الكود في النسخ Private Sub CommandButton19_Click() Dim clipboard As Object Set clipboard = New MSForms.DataObject clipboard.SetText TextBox1.Text clipboard.PutInClipboard End Sub وهذا كود اللصق Private Sub CommandButton20_Click() Dim clipboard As Object Set clipboard = New MSForms.DataObject clipboard.GetFromClipboard TextBox6.Text = clipboard.GetText End Sub تأكد من أنك قد أضفت مكتبة “Microsoft Forms 2.0 Object Library” إلى مشروعك لتتمكن من استخدام الكائن DataObject. بالتوفيق
  12. فكرة رائعة أن تجعل برنامجك متعدد اللغات @mohamed Ibrahim 2 ولكن سيكون هذا في عناوين الخلايا فقط والمحتوى هو مدخلات المستخدم مثلا في جدول يحتوي على رقم الموظف والاسم إذا غيرت اللغة سيظهر empNo & Name وهكذا إذا كان هذا هو المطلوب أخبرني لأخبرك بفكرة العمل عليها بالتوفيق
  13. جميل ولكن لا يدعم الصوت باللغة العربية أقترح الكتابة في وورد ونقلها الى اكسل حيث أن الوورد يدعم الإملاء باللغة العربية
  14. أعتقد مطلوبك موجود بالفعل في شيت data بمجرد أن تكتب اسم العميل تتم الفلترة عليه وهذا الذي تريده في صفحة كشف حساب عميل بعد اختيار العميل من القائمة تتم جلب سجلاته وبدون الفلترة في صفحة data تحصل على كشف بأرصدة كل العملاء ملحوظة: من قام بما قمت به يسهل عليه وضع معادلة تصفية بالمعادلات بالتوفيق
  15. أخي الكريم الحل المقدم من أخينا @AbuuAhmed صحيح جدا ولكن ربما لم يتم التنفيذ بطريقة صحيحة الطريقة الصحيحة أن تضع السطر الخاص بتعطيل زر esc أولا ثم أكواد الاجراء الخاص بك وفي نهاية تضع كود تمكين زر esc Sub yoursubname() Application.EnableCancelKey = xlDisabled ' ضع هنا الكود الذي تريد تنفيذه Application.EnableCancelKey = xlInterrupt End Sub بالتوفيق
  16. موفق بإذن الله أستاذ أحمد استعمال الذكاء الاصطناعي في حلول مشكلات اكسل شيء رائع ومفيد بإذن الله لكني أعتقد أنه يوجد الكثير من الطرق التي يمكن بها معالجة الأمر المذكور بدون التعرض لذمج الخلايا أو عد الخلايا المدمجة ولكنك لم تذكر أي تطبيق استعملت من تطبيقات الذكاء الاصطناعي حتى يستفيد الجميع بالتوفيق
  17. يمكنك البحث في المنتدى عن cdo و gmail ستجد الطريقة ويمكنك تعديلها بما يتناسب مع احتياجات حضرتك بالتوفيق للجميع
  18. يمكنك وضع تاريخ نهاية التقييم في العمود E والتقييم في العمود F واستعمال هذه المعادلة في العمود C إلى =IF(TODAY()<=E2,F2,1) بالتوفيق
  19. يمكنك تعديل الكود المستعمل في الملف إلى هذا وتم إضافة متغير لتحديد الصف الأخير من العمود A Option Explicit Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal DirPath As String) As Boolean Sub Export_Range_As_Picture() Dim Ws As Worksheet, StrToFolder2 As String, lr As Long Dim oRng As Range, sPath As String, oChart As ChartObject Set Ws = ActiveSheet Application.ScreenUpdating = False StrToFolder2 = "D:\pic\" MakeSureDirectoryPathExists StrToFolder2 sPath = StrToFolder2 & Ws.Range("a1").Value & "." & "jpg" lr = Cells(Rows.Count, 1).End(xlUp).Row Set oRng = Ws.Range("A2:E" & lr) oRng.CopyPicture xlScreen, xlPicture Set oChart = Ws.ChartObjects.Add(Left:=0, Top:=0, Width:=oRng.Width * 1, Height:=oRng.Height * 1) With oChart .Activate .Chart.Paste .Chart.Export Filename:=sPath .Delete End With Application.ScreenUpdating = True End Sub بالتوفيق
  20. أخي الكريم صاحب الاستفسار ما يظهر في شريط المعادلات هو قيمة الخلية الأصلية ويمكنك التحكم في طريقة عرضها من خلال تنسيق الخلايا format cells أما إذا كنت تريد أن يظهر في شريط المعادلات القيم بعد التقريب باستخدام معادلة مثلا =TRUNC(A1,0) فيجب نسخ بيانات النطاق بعد التقريب ثم لصقه كقيم paste as values مكان النطاق الأصلي بالتوفيق للجميع
  21. يفضل إرفاق ملفك لاكتشاف موضع الخطأ الذي يظهر هذه الرسالة
  22. ربما يفيدك هذه المجهودات السابقة جزاهم الله كل خير ملفات الخطوط وملفات القرآن وورد واكسل و txt & sql والكثير من الامتدادات ولجميع القراءات منصة مطوري برمجيات القرآن الكريم – مجمع الملك فهد لطباعة المصحف الشريف (qurancomplex.gov.sa) بالتوفيق للجميع
  23. الأخ الكريم صاحب الاستفسار من أين أتيت بقائمة الكلمات المختلفة بين القرائتين؟ مع العلم أن الاختلافات بين القراءات ليست في الكلمات أو التشكيل فقط إنما في عدد الآيات مثلا وفي طريقة كتابة كلمة الأرض مثلا بهمزة أو بدون ذللك ما الهدف من هذا العمل؟ ربما نجد لك آلية افضل وأدق للوصول للهدف بإذن الله بالتوفيق للجميع
  24. إذا كنت تستخدم إصدار أوفيس حديث يمكنك استعمال معادلة filter =FILTER($A$1:$E$1000,$B$1:$B$1000=$J$1,"") حيث J1 الخلية التي بها التاريخ المطلوب بالتوفيق للجميع
  25. برامج الأوفيس الحديثة تحتاج إلى إمكانيات عالية في الأجهزة مثل الرامات والمعالج ربما يكون امكانيات الجهاز المستعمل بسيطة
×
×
  • اضف...

Important Information