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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    195

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

  1. يوجد زر في إذن الصرف والتوريد اسمه (طباعة إذن الصرف / الوارد) أليس هذا هو المطلوب؟!
  2. هههههههه أو يكون الكود صحيح والتطبيق غير سليم يفضل إرفاق ملفك وتحديد المطلوب بصورة عملية محددة
  3. الشكر لله أخي الفاضل نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا
  4. لكي يتم هذا يجب تحديد مكان تشغيل الملف التنفيذي مثلا في المسار D:\folder\file.exe مع تغيير اسم البارتيشن والمجلد والملف حسب احتياجاتك وفي حدث عند فتح ملف الاكسل يتأكد من وجود الملف التنفيذي في المسار المحدد فإذا كان موجودا يفتح البرنامج وإلا فيظهر رسالة يجب وضع البرنامج في المسار ..... كذا بكود مثل هذا Private Sub Workbook_Open() strpath = "D:\folder\file.exe" If Dir(strpath) = "" Then MsgBox "يجب وضع البرنامج في هذا المسار حتى يعمل" & chr(10)& strpath thisworkbook.close 1 End If End Sub وفي كود حذف الملف يتم إضافة سطر لحذف الملف التنفيذي kill "D:\folder\file.exe" بالتوفيق
  5. يمكنك استعمال هذا الكود Private Sub TextBox1_Change() txt = Val(Me.TextBox1.Value) If txt = 2 Or txt = 5 Or txt = 8 Then Me.TextBox2.Value = "العراق" ElseIf txt = 3 Or txt = 4 Or txt = 7 Then Me.TextBox2.Value = "مصر" Else Me.TextBox2.Value = "" End If End Sub بالتوفيق
  6. هذه عملية بحث بسيطة يمكن استخدام الكثير من معادلات البحث وأبسطها استعمال هذه المعادلة في الخلية E3 =VLOOKUP(D3, A1:B100,2, 0) حيث الرقم مكتوب في D3 بالتوفيق
  7. هذا الكود لحذف ملف الاكسل بعد موافقة المستخدم وهو صحيح ويعمل بكفاءة ربما تقصد أنه لا يحذف الملف التنفيذي exe؟
  8. مضاد الفيروسات يخبر أن الملف بهذه الصورة شديد الخطورة ربما لو أرسلت الكود نتعرف على مكان الخطأ
  9. جميعا بإذن الله هل معنى هذا أن الملف أصبح طبيعيا معك وتستطيع إضافة الماكرو وحذفه؟؟
  10. الملف ليس به أكواد سوى Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.ScreenUpdating = False End Sub وتعني عند تغير تحديد الخلايا يتم إيقاف خاصية تحديث الشاشة وهو موجود في بعض الشيتات وهذا الكود يمكن حذفه وكود آخر في موديول1 Sub save() ThisWorkbook.save End Sub وهو لحفظ هذا المصنف وتمت اضافة ماكرو يعرض رسالة وحذف حدث عند تغيير التحديد في جميع الشيتات يفضل تجربة هذا المرفق وملاحظة هل المشكلة مازالت مستمرة أم لا بالتوفيق مخازن شتوي 2022.rar
  11. يفضل إرفاق الملف حتى نتمكن من تجربته ونرى هل المشكلة في الملف أم في برنامج الاكسل لديكم
  12. الدالة صحيحة بلا أي مشاكل وظيفتها جمع الأرقام من مدى به نصوص وأرقام بينهما مسافة ربما يكون الخطأ في وضع أول سطر من الدالة بجوار التعريف بها حيث أن الترتيب الصحيح هكذا Function SumNumOnly(rngS As Range, Optional strDelim As String = " ") As Double Dim xNums As Variant, lngNum As Long xNums = Split(rngS, strDelim) For lngNum = LBound(xNums) To UBound(xNums) SumNumOnly = SumNumOnly + Val(xNums(lngNum)) Next lngNum End Function بالتوفيق
  13. الحل الاول: القيام بعمل repair اصلاح للأوفيس من لوحة التحكم control panel ثم uninstall a program ثم تحديد الأوفيس مع الضغط على change وليس uninstall بعدها quick repair والانتظار حتى نهاية الاصلاح وربما يتطلب الامر اعادة تشغيل الجهاز بعدها يكون كل شيء على ما يرام بإذن الله بالتوفيق
  14. وفقنا الله جميعا لكل خير
  15. ما إصدار الأوفيس والويندوز لديك وهل 32بت أم 64؟ حيث ان امتداد xlsb يعمل من إصدار 2007 وما بعده وهل يتم هذا مع ملفات xlsb الجديدة التي يتم حفظها بنفس الاكسل؟
  16. تفضل هنا حلين بعد تغيير اتجاه الخلايا وتغيير مكان البداية في شيت H-5 واحد بدالة offset وواحد بالتركيبة المطلوبة بالتوفيق how-can-get-data-from-other-sheets_2.xlsx
  17. تفضل هذا أحد الحلول how-can-get-data-from-other-sheets.xlsx
  18. لا يوجد مشكلة في إثراء الموضوع ولكن حتى يتم جلب بيانات عمود النسبة تحتاج إلى إضافة سطر وتعديل آخر sh.Cells(m, 8).Value = ws.Cells(r, 12).Value sh.Cells(m, 9).Value = ws.Cells(r, 13).Value For Each x In Array(2, 3, 8, 9) ليصبح الكود كاملا Sub Test() Dim x, ws As Worksheet, sh As Worksheet, r As Long, m As Long, c As Long, n As Long Application.ScreenUpdating = False Set ws = ThisWorkbook.Worksheets("Sheet1") Set sh = ThisWorkbook.Worksheets("2") With sh.Range("B2").CurrentRegion.Offset(1) .Cells.UnMerge: .ClearContents End With m = 3 For r = 4 To ws.Cells(Rows.Count, "B").End(xlUp).Row sh.Cells(m, 2).Resize(, 2).Value = ws.Cells(r, 2).Resize(, 2).Value n = 4 For c = 4 To 10 Step 2 sh.Cells(m, n).Value = ws.Cells(r, c).Value sh.Cells(m + 1, n).Value = ws.Cells(r, c + 1).Value n = n + 1 Next c sh.Cells(m, 8).Value = ws.Cells(r, 12).Value sh.Cells(m, 9).Value = ws.Cells(r, 13).Value For Each x In Array(2, 3, 8, 9) sh.Cells(m, x).Resize(2).Merge Next x m = m + 2 Next r Application.ScreenUpdating = True End Sub بالتوفيق
  19. أعتقد أن صاحب الاستفسار حدد طريقة المطلوب بالمعادلات وليس الكود بالتوفيق
  20. إن شاء الله يكون هذا هو المطلوب بالتوفيق ترحيل درجات الطلاب بأسلوب مختلف.xlsx
  21. يمكنك استعمال هذا الكود في حدث تهيئة النموذج والاستغناء عن إجراء add_comp Private Sub UserForm_Initialize() With Sheets("الصفحة الرئيسية") Lr = .Cells(Rows.Count, 23).End(xlUp).Row lr2 = .Cells(Rows.Count, 34).End(xlUp).Row For n = 2 To lr2 Me.ComboBox1.AddItem .Range("ah" & n) Next n For n = 2 To Lr Me.ComboBox1.AddItem .Range("w" & n) Next n End With End Sub مع تعديل خاصية عدد الأعمدة ColumnCount إلى 1 في خصائص ComboBox1 بالتوفيق
×
×
  • اضف...

Important Information