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

أ / محمد صالح

أوفيسنا
  • Posts

    4469
  • تاريخ الانضمام

  • Days Won

    195

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

  1. أخي صاحب الاستفسار موضوع الأجازات كبير قليلا. أكبر من هذا التصميم البسيط أخي الكريم. فمعنى مدة الأجازة حسب العقد أن هذه المدة سنويا. فإذا كانت الأجازة نصفها في عام ونصفها في عام آخر يتم حساب رصيد كل سنة على حدة. ويخصم هذا الرصيد من 21 أو 30 (رصيد السنة) وليس على جميع الأجازات التي أخذها الموظف بالتوفيق
  2. قد تحتاج إلى التأكد من أنك تستخدم أحدث إصدار من Microsoft 365، حيث أن هذه الدالة متاحة في Excel لـ Microsoft 3651. وإذا كنت مصريا ولك أبناء في التعليم فيمكنك استعمال البريد الموحد الخاص بهم في تفعيل أوفيس 365 بالتوفيق
  3. ليس لدي تفاصيل عن المشكلة ولكن اعتقد أنه يمكن استعمال الوحدات كنص مثلا بدلا من تمثيلها بالخلايا المدمجة تطبيق ChatGPT هو الأصل في الذكاء الاصطناعي ولكن في رأيي الشخصي Copilot أكثر توافقا مع تطبيقات أوفيس بالتوفيق
  4. بارك الله لك أخي الكريم أولا أرسلت لك إجراء للنسخ وإجراء للصق يمكنك وضعه في زر النسخ واللصق كما تريد (طبعا بدون السطر الأول والأخير الخاصين باسم الإجراء ونهايته؛ لأنه إجراء الزر له بداية ونهاية خاصة به). ثانيا يمكنك التأكد من إضافة مكتبة النماذج من قائمة tools ثم references ثم تبحث عن هذا الاسم وتضع علامة صح بجانبه تم تعديل الكود السابق على الأزرار الخاصة بك بالتوفيق
  5. ما شاء الله ربنا يبارك في حضرتك وعلم حضرتك واجتهادك في فهم كل صغيرة وكبيرة في ملفك قبل أن تطلب مساعدة بسيطة تنقصك أما إذا كنت قد حصلت على هذا الملف بدون جهد وتريد الحصول على التعديل بدون جهد أيضا فأدعو لك بالتوفيق
  6. يمكنك استعمال هذا الكود في النسخ 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. بالتوفيق
  7. فكرة رائعة أن تجعل برنامجك متعدد اللغات @mohamed Ibrahim 2 ولكن سيكون هذا في عناوين الخلايا فقط والمحتوى هو مدخلات المستخدم مثلا في جدول يحتوي على رقم الموظف والاسم إذا غيرت اللغة سيظهر empNo & Name وهكذا إذا كان هذا هو المطلوب أخبرني لأخبرك بفكرة العمل عليها بالتوفيق
  8. جميل ولكن لا يدعم الصوت باللغة العربية أقترح الكتابة في وورد ونقلها الى اكسل حيث أن الوورد يدعم الإملاء باللغة العربية
  9. أعتقد مطلوبك موجود بالفعل في شيت data بمجرد أن تكتب اسم العميل تتم الفلترة عليه وهذا الذي تريده في صفحة كشف حساب عميل بعد اختيار العميل من القائمة تتم جلب سجلاته وبدون الفلترة في صفحة data تحصل على كشف بأرصدة كل العملاء ملحوظة: من قام بما قمت به يسهل عليه وضع معادلة تصفية بالمعادلات بالتوفيق
  10. أخي الكريم الحل المقدم من أخينا @AbuuAhmed صحيح جدا ولكن ربما لم يتم التنفيذ بطريقة صحيحة الطريقة الصحيحة أن تضع السطر الخاص بتعطيل زر esc أولا ثم أكواد الاجراء الخاص بك وفي نهاية تضع كود تمكين زر esc Sub yoursubname() Application.EnableCancelKey = xlDisabled ' ضع هنا الكود الذي تريد تنفيذه Application.EnableCancelKey = xlInterrupt End Sub بالتوفيق
  11. موفق بإذن الله أستاذ أحمد استعمال الذكاء الاصطناعي في حلول مشكلات اكسل شيء رائع ومفيد بإذن الله لكني أعتقد أنه يوجد الكثير من الطرق التي يمكن بها معالجة الأمر المذكور بدون التعرض لذمج الخلايا أو عد الخلايا المدمجة ولكنك لم تذكر أي تطبيق استعملت من تطبيقات الذكاء الاصطناعي حتى يستفيد الجميع بالتوفيق
  12. يمكنك البحث في المنتدى عن cdo و gmail ستجد الطريقة ويمكنك تعديلها بما يتناسب مع احتياجات حضرتك بالتوفيق للجميع
  13. يمكنك وضع تاريخ نهاية التقييم في العمود E والتقييم في العمود F واستعمال هذه المعادلة في العمود C إلى =IF(TODAY()<=E2,F2,1) بالتوفيق
  14. يمكنك تعديل الكود المستعمل في الملف إلى هذا وتم إضافة متغير لتحديد الصف الأخير من العمود 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 بالتوفيق
  15. أخي الكريم صاحب الاستفسار ما يظهر في شريط المعادلات هو قيمة الخلية الأصلية ويمكنك التحكم في طريقة عرضها من خلال تنسيق الخلايا format cells أما إذا كنت تريد أن يظهر في شريط المعادلات القيم بعد التقريب باستخدام معادلة مثلا =TRUNC(A1,0) فيجب نسخ بيانات النطاق بعد التقريب ثم لصقه كقيم paste as values مكان النطاق الأصلي بالتوفيق للجميع
  16. يفضل إرفاق ملفك لاكتشاف موضع الخطأ الذي يظهر هذه الرسالة
  17. ربما يفيدك هذه المجهودات السابقة جزاهم الله كل خير ملفات الخطوط وملفات القرآن وورد واكسل و txt & sql والكثير من الامتدادات ولجميع القراءات منصة مطوري برمجيات القرآن الكريم – مجمع الملك فهد لطباعة المصحف الشريف (qurancomplex.gov.sa) بالتوفيق للجميع
  18. الأخ الكريم صاحب الاستفسار من أين أتيت بقائمة الكلمات المختلفة بين القرائتين؟ مع العلم أن الاختلافات بين القراءات ليست في الكلمات أو التشكيل فقط إنما في عدد الآيات مثلا وفي طريقة كتابة كلمة الأرض مثلا بهمزة أو بدون ذللك ما الهدف من هذا العمل؟ ربما نجد لك آلية افضل وأدق للوصول للهدف بإذن الله بالتوفيق للجميع
  19. إذا كنت تستخدم إصدار أوفيس حديث يمكنك استعمال معادلة filter =FILTER($A$1:$E$1000,$B$1:$B$1000=$J$1,"") حيث J1 الخلية التي بها التاريخ المطلوب بالتوفيق للجميع
  20. برامج الأوفيس الحديثة تحتاج إلى إمكانيات عالية في الأجهزة مثل الرامات والمعالج ربما يكون امكانيات الجهاز المستعمل بسيطة
  21. عليكم السلام ورحمة الله وبركاته حتى يعمل الكود تلقائيا يجب ربطه بحدث مثل تغيير التحديد أو تغيير محتوى الشيت وهذا الكود في حدث تغيير محتوى الشيت Private Sub Worksheet_Change(ByVal Target As Range) Rows("1:16").EntireRow.Hidden = 0 For r = 1 To 16 If Range("b" & r).Value = 0 Then Rows(r & ":" & r).EntireRow.Hidden = True End If Next r End Sub بالتوفيق للجميع
  22. يفضل إرفاق ملفك أو جزء منه مع توضيح المطلوب بالتفصيل وستجد ما يسرك إن شاء الله
  23. بارك الله فيكم جميعا لتغيير نص أزرار رسالة msgbox يمكن استعمال هذا الموديول يوجد مثالين للاستخدام #If VBA7 Then Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" _ () As Long Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As LongPtr, ByVal hmod As LongPtr, ByVal dwThreadId As Long) As LongPtr Private Declare PtrSafe Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _ (ByVal hDlg As LongPtr, ByVal nIDDlgItem As Long, ByVal lpString As String) As Long Private Declare PtrSafe Function CallNextHookEx Lib "user32" _ (ByVal hHook As LongPtr, ByVal ncode As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As LongPtr) As Long Private hHook As LongPtr ' handle to the Hook procedure (global variable) #Else Private Declare Function GetCurrentThreadId Lib "kernel32" _ () As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String) As Long Private Declare Function CallNextHookEx Lib "user32" _ (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As Long) As Long Private hHook As Long ' handle to the Hook procedure (global variable) #End If Private Const WH_CBT = 5 ' hook type Private Const HCBT_ACTIVATE = 5 ' activate window Private sMsgBoxDefaultLabel(1 To 7) As String Private sMsgBoxCustomLabel(1 To 7) As String Private bMsgBoxCustomInit As Boolean Private Sub MsgBoxCustom_Init() Dim nID As Integer Dim vA As Variant ' base 0 array populated by Array function (must be Variant) vA = VBA.Array(vbNullString, "OK", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No") For nID = 1 To 7 sMsgBoxDefaultLabel(nID) = vA(nID) sMsgBoxCustomLabel(nID) = sMsgBoxDefaultLabel(nID) Next nID bMsgBoxCustomInit = True End Sub Public Sub MsgBoxCustom_Set(ByVal nID As Integer, Optional ByVal vLabel As Variant) If nID = 0 Then Call MsgBoxCustom_Init If nID < 1 Or nID > 7 Then Exit Sub If Not bMsgBoxCustomInit Then Call MsgBoxCustom_Init If IsMissing(vLabel) Then sMsgBoxCustomLabel(nID) = sMsgBoxDefaultLabel(nID) Else sMsgBoxCustomLabel(nID) = CStr(vLabel) End If End Sub Public Sub MsgBoxCustom_Reset(ByVal nID As Integer) Call MsgBoxCustom_Set(nID) End Sub #If VBA7 Then Private Function MsgBoxCustom_Proc(ByVal lMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr #Else Private Function MsgBoxCustom_Proc(ByVal lMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long #End If Dim nID As Integer If lMsg = HCBT_ACTIVATE And bMsgBoxCustomInit Then For nID = 1 To 7 SetDlgItemText wParam, nID, sMsgBoxCustomLabel(nID) Next nID End If MsgBoxCustom_Proc = CallNextHookEx(hHook, lMsg, wParam, lParam) End Function Public Sub MsgBoxCustom( _ ByRef vID As Variant, _ ByVal sPrompt As String, _ Optional ByVal vButtons As Variant = 0, _ Optional ByVal vTitle As Variant, _ Optional ByVal vHelpfile As Variant, _ Optional ByVal vContext As Variant = 0) hHook = SetWindowsHookEx(WH_CBT, AddressOf MsgBoxCustom_Proc, 0, GetCurrentThreadId) If IsMissing(vHelpfile) And IsMissing(vTitle) Then vID = MsgBox(sPrompt, vButtons) ElseIf IsMissing(vHelpfile) Then vID = MsgBox(sPrompt, vButtons, vTitle) ElseIf IsMissing(vTitle) Then vID = MsgBox(sPrompt, vButtons, , vHelpfile, vContext) Else vID = MsgBox(sPrompt, vButtons, vTitle, vHelpfile, vContext) End If If hHook <> 0 Then UnhookWindowsHookEx hHook End Sub Sub Custom_MsgBox_1() MsgBoxCustom_Set vbOK, "Open" MsgBoxCustom_Set vbCancel, "Close" MsgBoxCustom ans, "Click a button.", vbOKCancel End Sub Sub Custom_MsgBox_2() MsgBoxCustom_Set vbYes, "Start" MsgBoxCustom_Set vbNo, "Stop" MsgBoxCustom ans, "Click a button.", (vbYesNo + vbQuestion) End Sub بالتوفيق للجميع
  24. فعلا مثل هذا المطلوب يحتاج إلى تدخل جراحي (كود vba)
  25. عليكم السلام ورحمة الله وبركاته يمكنك استعمال هذه المعادلة المختصرة على اعتبار أن الرقم موجود في الخلية A2 =MID(A2,5,LEN(A2)-10) بالتوفيق
×
×
  • اضف...

Important Information