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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    192

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

  1. تفضل أخي الكريم هذا هو الكود بعد التعديل Sub Export_PDF_in_OneAll() Application.ScreenUpdating = False Sheets(Array("Report")).Select mypath = "D:\USP41 - NF36\" & Range("C9").Value If Dir(mypath, vbDirectory) = "" Then MkDir mypath ActiveSheet.ExportAsFixedFormat xlTypePDF, mypath & "\" & Range("c8").Value & ".pdf", xlQualityStandard Worksheets("Report").Select Application.ScreenUpdating = True MsgBox "Done" End Sub لاحظ وضع مجلد الحفظ في متغير حتى لا نكرر كتابته وأيضا فحص ما إذا كان المجلد موجودا أو لا فإذا لم يكن موجودا فيتم انشاؤه ثم بعدها يتم التصدير لاجظ إضافة امتداد الملف في نهاية الاسم ولا تنسوني من صاح دعائكم
  2. يفضل الشرح بالتفصيل للمشكلة المطلوب حلها وارفاق ملف العمل الذي واجهتك فيه المشكلة السؤال عن امسل والمرفق وورد؟؟!!!
  3. تنسيق الخلية عملة currency يقرأ عملة واحدة وهي عملة البلد المحددة في إعدادات الويندوز ضمن اللغة والمنطقة. وللتغلب على هذه المشكلة ان تضيف عمودا يخص العملة وتكتب فيه رمز عملة الدين وتحعل باقي الاعمدة تنسيق رقم number او عام general وليست عملة currency
  4. معنى شيت ورقة عمل والشيت الحاص بالسنة القادمة هو نسخة من الشيت الخاص بالسنة الحالية الذي يتغير فقط هو التسجيل هنا ما يخص هذا العام وهناك ما يخص العام الماضي وبالنسبة لموضوع أن أعمل لك شيت فربما التعديل على ملفك يكون أسهل
  5. بالتوفيق @aladdin61 كلامي على اساس انك تجمع بدالة sum وانها لا تجمع معك. لذلك تم اقتراح بديل sum وهي دالة subtotal ولم ترد حضرتك على رسالة الخطأ في طريقة استعمالك لدالة subtotal فهل معنى هذا ان الرسالة مازالت تظهر ام انها اختفت وقامت الدالة بعملها المطلوب ؟؟؟!!!!
  6. الرسالة تعني أنك أدخلت عدد قليل من وسائط الدالة وهي فقط وسيطتين الرقم 9 والنطاق المراد جمعه ربما يكون ضبط جهازك يستحدم الفاصلة المنقوطة بدلا من الفاصلة جرب =SUBTOTAL(9;A1:A8) رغم أني مع المقترح الخاص بارفاق ملفك أو جزء منه الذي به المشكلة
  7. يمكنك استعمال التنسيق الشرطي إذا كانت قيمة الخلية = "تم نقل الموظف" يكون لون الخلفية أخضر وغير ذلك يكون أحمر. وعند تنفيذ أمر النقل في زر النقل يوضع سطر لجعل قيمة الخلية = "تم نقل الموظف"
  8. جرب استعمال =SUBTOTAL(9,A1:A8) مع تغيير المدى للمطلوب عندك
  9. حسب فهمي للمطلوب المطلوب لا يتم بالمعادلات لأنه سيعطي حطأ مرجع دائري circular reference لأن الخلية المطلوب نقل القيمة إليها محسوبة ضمن الخلية التي يتم نقلها لذا اقترح عمل شيت خاص بكل عام ويتم جلب مجموع نهاية العام في خانة ما قبله في العام التالي بهذه الطريقة لن توجد أخطاء في المعادلات وفقنا الله جميعا
  10. إذا كان فهمي للمطلوب صحيحا فلا نحتاج لدالة if ويمكنك وضع المعادلة التالية في الخلية H3 =0.8+CEILING.MATH(G3-5,2)*0.175 وفي الخلية I3 =G3-H3 ثم استعمل نسخ المعادلة لأسفل للتطبيق على باقي الخلايا
  11. لا أدري لماذا تستخدم دالة indirect طالما أن المطلوب إرجاعه هو قيمة موجودة في خلية نستخدم indirect لتحويل نص مكتوب في خلية الى معادلة. إذا كان المطلوب جلب قيمة موجودة في خلية معينة في شيت معين من ملف معين حتى لو مغلق يمكن استعمال هذه المعادلة ='C:\path\to\file\[workbookName.xlsx]sheetName'!$A$1 لاحظ كتابة المسار الكامل للملف ولاحظ إحاطة مسار الملف حتى اسم الشيت بفاصلة مفردة ولا حظ كتابة اسم المصنف بين قوسين مربعين ولاحظ علامة التعجب قبل مرجع النطاق المطلوب أرحو أن يكون اتضح الأمر
  12. هل المطلوب تاريخ نهاية العمل؟ إذا كان هذا هو المطلوب فيمكنك استعمال المعادلة التالية في G4 =DATE(YEAR(E4)+F4,MONTH(E4),DAY(E4)-1) ثم سجبها لسفل
  13. مرحبا بك أستاذ @abouelhassan يمكنك استعمال الوسيطة الأولى sh والتي تعني كائن الشيت الحالي في الشرط ليصبح الكود كالتالي: Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sh.Name = "Sheet3" Then If Not Application.Intersect(Target, Range("a1:a1000")) Is Nothing Then Application.EnableEvents = False Application.Undo Application.EnableEvents = True End If Else If Not Application.Intersect(Target, Range("a1:w1")) Is Nothing Then Application.EnableEvents = False Application.Undo Application.EnableEvents = True End If End If End Sub لاحظ استعمال sheet3 وهو اسم الشيت المطلوب استثناؤه خالص دعواتي بالتوفيق
  14. شكرا لتعليقك وكلماتك الطيبة استاذ @هانى محمد الغرض طبعا هو هل جزاء الإحسان إلا الإحسان ورد الجميل بالأجمل. الفائدة موجودة للجميع هنا وهناك وإذا كنت قد خالفت تعليمات المنتدى فلا امانع في حذف جميع الموضوعات المخالفة. الحمد لله وهذا ما افعله نشر كل ما اعرفه واستفدت به حتي يستفيد اصدقائي أيضا. مرة أخرى شكرا لذوقك العالي وكلامك الطيب فالكلمة الطيبة صدقة.
  15. أحسن الله إليكم أستاذ @Ali Mohamed Ali جميعا بإذن الله
  16. عشاق الإكسل هل سمعت عن المتغيرات في البرمجة؟ اكيد نعم. هل سمعت عن استعمال المتغيرات في المعادلات؟؟!!! اجب بنفسك في الردود بمناسبة إعادة فتح المساجد للصلاة، هديتي حصريا لكل عشاق الحديث في برنامج ميكروسوفت اكسل ms excel 365، شرح دالة let الجديدة. طريقة الاشتراك في office insider. ما الجديد في اكسل 2020 excel 2020. استعمال المتغيرات في المعادلات. شروط تسميه المتغيرات في لغات البرمجة. امثله على excel let function من البسيط الى المعقد. وغيرها الكثير ...... اكتشفها بنفسك. وبالنسبة لرابط الملف المستعمل في الشرح، وملف الريجيستري الذي يتيح لك الاشتراك في office insider. سيتم وضع الرابط بناء على التفاعل مع الموضوع والفيديو بالتعليق والمشاركة. هل جزاء الإحسان إلا الإحسان؟؟!!!
  17. في حدث عند تغيير التحديد Worksheet_SelectionChange ضع كود تغيير اللغة إذا كان رقم العمود الحالي كذا اجعل اللغة كذا Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Then LoadKeyboardLayout "00000401", 1 'Arabic Else LoadKeyboardLayout "00000409", 1 'English End If End Sub مع إضافة كود دالة تغيير لغة لوحة المفاتيح في موديول منفصل #If Win64 Then Declare PtrSafe Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long Declare PtrSafe Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long #Else Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long #End If خالص دعواتي بالتوفيق
  18. جميعا بإذن الله وفقنا الله جميعا لكل ما يحبه ويرضاه
×
×
  • اضف...

Important Information