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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    198

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

  1. الدالة صحيحة بلا أي مشاكل وظيفتها جمع الأرقام من مدى به نصوص وأرقام بينهما مسافة ربما يكون الخطأ في وضع أول سطر من الدالة بجوار التعريف بها حيث أن الترتيب الصحيح هكذا 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 بالتوفيق
  2. الحل الاول: القيام بعمل repair اصلاح للأوفيس من لوحة التحكم control panel ثم uninstall a program ثم تحديد الأوفيس مع الضغط على change وليس uninstall بعدها quick repair والانتظار حتى نهاية الاصلاح وربما يتطلب الامر اعادة تشغيل الجهاز بعدها يكون كل شيء على ما يرام بإذن الله بالتوفيق
  3. وفقنا الله جميعا لكل خير
  4. ما إصدار الأوفيس والويندوز لديك وهل 32بت أم 64؟ حيث ان امتداد xlsb يعمل من إصدار 2007 وما بعده وهل يتم هذا مع ملفات xlsb الجديدة التي يتم حفظها بنفس الاكسل؟
  5. تفضل هنا حلين بعد تغيير اتجاه الخلايا وتغيير مكان البداية في شيت H-5 واحد بدالة offset وواحد بالتركيبة المطلوبة بالتوفيق how-can-get-data-from-other-sheets_2.xlsx
  6. تفضل هذا أحد الحلول how-can-get-data-from-other-sheets.xlsx
  7. لا يوجد مشكلة في إثراء الموضوع ولكن حتى يتم جلب بيانات عمود النسبة تحتاج إلى إضافة سطر وتعديل آخر 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 بالتوفيق
  8. أعتقد أن صاحب الاستفسار حدد طريقة المطلوب بالمعادلات وليس الكود بالتوفيق
  9. إن شاء الله يكون هذا هو المطلوب بالتوفيق ترحيل درجات الطلاب بأسلوب مختلف.xlsx
  10. يمكنك استعمال هذا الكود في حدث تهيئة النموذج والاستغناء عن إجراء 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 بالتوفيق
  11. هل معنى أن امتداد الملف xlsx أنك تريد تنفيذ المطلوب بالمعادلات؟
  12. تفضل ملفك تم وضع معادلة منفصلة لكل يوم وأنصح بعدم دمج الخلايا إلا في أضيق الحدود لأن دمج الخلايا يزيد من المعادلات بدلا من سحبها مباشرة بالتوفيق عدد الطلاب في كل يوم لكل منطقة صباحي ومسائي.xlsx
  13. شكرا لمروركم الكريم أستاذ @خالد القدس نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا
  14. وهذا الإصدار الأحدث من اللعبة في موقعي الشخصي https://www.mr-mas.com/p/guess-numbers-game.html وفقنا الله جميعا لكل خير
  15. جميعا بإذن الله @ahmed said نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا
  16. يمكنك استعمال هذا الكود Private Sub CommandButton1_Click() TextBox1.Value = Format(DateAdd("d", -1, CDate(TextBox1.Value)), "YYYY/MM/DD") End Sub Private Sub CommandButton2_Click() TextBox1.Value = Format(DateAdd("d", 1, CDate(TextBox1.Value)), "YYYY/MM/DD") End Sub بالتوفيق
  17. شكرا جزيلا لكل من دعم وشجع ولو بكلمة طيبة نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا
  18. شكرا جزيلا لكل من دعم وشجع ولو بكلمة طيبة نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا
×
×
  • اضف...

Important Information