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

Saleh Ahmed Rabie

02 الأعضاء
  • Posts

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

  • تاريخ اخر زياره

  • Days Won

    3

Saleh Ahmed Rabie last won the day on يونيو 10

Saleh Ahmed Rabie had the most liked content!

السمعه بالموقع

37 Excellent

عن العضو Saleh Ahmed Rabie

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    معلم حاسوب
  • البلد
    يمن
  • الإهتمامات
    الاكسل

اخر الزوار

بلوك اخر الزوار معطل ولن يظهر للاعضاء

  1. وعليكم السلام ورحمة الله وبركاته **إصلاح تاريخ معكوس عند التصدير إلى Word * **استخدم تنسيق التاريخ المخصص:** * في Excel، حدد الخلايا التي تحتوي على التاريخ. * انقر بزر الماوس الأيمن واختر "تنسيق الخلايا". * في علامة التبويب "الرقم"، حدد "مخصص" من القائمة المنسدلة "الفئة". * أدخل تنسيق التاريخ المطلوب، على سبيل المثال: "dd/mm/yyyy". * **استخدم دالة TEXT:** * في Excel، أدخل الصيغة التالية في خلية فارغة: ``` =TEXT(A1, "dd/mm/yyyy") ``` حيث A1 هي الخلية التي تحتوي على التاريخ المعكوس.* **استخدم ماكرو:** * يمكنك إنشاء ماكرو لتصحيح التاريخ المعكوس عند التصدير إلى Word. * افتح محرر Visual Basic (Alt + F11). * انقر على "إدراج" > "وحدة نمطية". * الصق الكود التالي في وحدة النمط: ``` Sub FixReversedDates() Dim rng As Range Dim cell As Range Set rng = Selection For Each ce=TEXT(A1, "dd/mm/yyyy")ll In rng If cell.NumberFormat = "@" Then cell.Value = DateValue(cell.Value) End If Next cell End Sub ```
  2. وعليكم السلام ورحمة الله وبركاته لحل هذه المشكلة، يمكنك استخدام الدالة `ABS` جنبًا إلى جنب مع دالة التقريب. تعمل دالة `ABS` على إرجاع القيمة المطلقة لرقم، مما يحول الأرقام السالبة إلى أرقام موجبة. **الصيغة المعدلة** =ROUND(ABS(A1), 2) حيث: * `A1` هو الخلية التي تحتوي على الرقم الذي تريد تقريبه. * `2` هو عدد المنازل العشرية التي تريد تقريب الرقم إليها. **مثال** لنفترض أن لديك جدول رواتب في ورقة عمل Excel وتريد تقريب رواتب الموظفين إلى أقرب دولار. تحتوي الخلية `A1` على راتب موظف بقيمة -123.45 دولارًا. باستخدام الصيغة المعدلة، يمكنك تقريب الراتب على النحو التالي: =ROUND(ABS(A1), 2) ستعيد هذه الصيغة القيمة 123.45 دولارًا، وهي القيمة المطلقة للراتب الأصلي مقربة إلى أقرب دولار. **ملاحظة** إذا كنت ترغب في تقريب الأرقام السالبة إلى أقرب قيمة سالبة، يمكنك استخدام الصيغة التالية: =-ROUND(ABS(A1), 2)
  3. وعليكم السلام ورحمة الله وبركاته يمكنك استخدام الكود التالي لنسخ البيانات من الجدول D6:K400 ووضعها في العمود M6:M400 في الورقة الحالية:``` Sub CopyData() Dim ws As Worksheet Dim i As Integer Set ws = ThisWorkbook.Sheets("ورقة١") For i = 6 To 400 ws.Range("M" & i).Value = ws.Range("D" & i).Value ws.Range("M" & i + 1 & ":M" & i + 7).Value = Application.Transpose(ws.Range("E" & i & ":K" & i).Value) Next i End Sub يرجى استبدال "ورقة١" باسم الورقة التي تريد نقل البيانات إليها. يمكنك تشغيل الكود عن طريق الذهاب إلى عارض VBA والنقر بزر الماوس الأيمن على اسم الورقة ثم اختيار "Insert" ثم "Module" ولصق الكود في نافذة الكود الجديدة ومن ثم تشغيله. ستقوم هذه العملية بنسخ البيانات من الجدول D6:K400 ووضعها في العمود M6:M400 في الورقة المحددة.
  4. تأكد ان يكون لكل مستخدم اسمه محفوظ في الـ cell B8 ، فهذا الاسم سيتم حفظه مع الملف الـ PDF ككود. يجب تغيير السطر التالي: FileName = Dir(FilePath) إلى: FileName = Range("B8").Value هذا الكود سيجعل اسم الملف الـ PDF يأخذ قيمة الـ cell B8 مباشرة كاسم للموظف.
  5. إليك مثال بسيط لاستخدام الكود: 1. افتح برنامج الإكسل وانشئ ورقة عمل جديدة. 2. قم بنسخ ولصق البيانات التالية في الخلايا من D2 إلى D4: ``` 123 456.78 1,234.56 ``` 3. انسخ والصق الكود التالي في المحرر النصي لـ VBA: Sub ConvertTextToNumber() Dim cell As Range For Each cell In Range("D2:D4") If IsNumeric(cell.Value) Then cell.Value = Val(cell.Value) Else cell.Value = Val(Replace(cell.Value, ",", "")) End If Next cell End Sub 4. اضغط على زر التشغيل أو اختر "Run" من القائمة لتشغيل الكود. 5. ستلاحظ أن الأرقام في الخلايا D2 و D3 تم تحويلها من النص إلى أرقام، في حين تمت معالجة الفاصلة في الرقم D4 وتحويله إلى رقم أيضًا. هذا المثال يوضح كيف يمكنك استخدام الكود لتحويل الأرقام من النص إلى أرقام في Excel.
  6. ويمكنك استخدام الكود التالي في VBA للحصول على نفس النتيجة في جميع إصدارات Excel: Function DateDifference(startDate As Date) As String Dim years As Integer Dim months As Integer Dim days As Integer years = DateDiff("yyyy", startDate, Date) months = DateDiff("m", startDate, Date) Mod 12 days = DateDiff("d", startDate, Date) - Int(DateDiff("d", startDate, Date) / 30) * 30 DateDifference = years & " Years, " & months & " Months, " & days & " Days" End Function يمكنك استدعاء هذه الوظيفة في Excel باستخدام الصيغة: =DateDifference($D2) هذا الكود يعمل في جميع إصدارات Excel.
  7. وعليكم السلام ورحمة الله وبركاته يمكنك استخدام الدالة التالية في خلية E2: =DATEDIF(TODAY(),DATE(سنة المعينة, شهر المعين, يوم المعين),"d") حيث تقوم هذه الدالة بحساب عدد الأيام بين تاريخ اليوم وتاريخ المعين الذي تحدده في الصيغة. يمكنك استبدال "سنة المعينة" و"شهر المعين" و"يوم المعين" بالقيم المعينة التي تريدها.
  8. وعليكم السلام ورحمة الله وبركاته يمكنك استخدام الصيغة التالية في الخلية E2: =IFERROR(IF(AND(C2>0, A2=0, B2="اسم المطلوب"), IF(ROW(C2)=2, C2*D2, OFFSET(D2, -1, 0)*C2), 0), 0) هذه الصيغة ستتحقق من أن قيمة في عمود C أكبر من صفر، وأن قيمة في عمود A تساوي صفر (التاريخ السابق)، وأن قيمة في عمود B تساوي "اسم المطلوب". إذا تم تحقيق هذه الشروط، سيتم ضرب قيمة في عمود C بقيمة في عمود D، وإلا ستكون القيمة صفر. ويمكنك استخدام الكود التالي في VBA لتنفيذ النفس العملية: Sub CalculateValue() Dim lastRow As Integer Dim i As Integer lastRow = Cells(Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow If Cells(i, 3).Value > 0 And Cells(i, 1).Value = 0 And Cells(i, 2).Value = "اسم المطلوب" Then If i = 2 Then Cells(i, 5).Value = Cells(i, 3).Value * Cells(i, 4).Value Else Cells(i, 5).Value = Cells(i - 1, 5).Value * Cells(i, 3).Value End If Else Cells(i, 5).Value = 0 End If Next i End Sub يقوم هذا الكود بتنفيذ العملية المطلوبة في العمود E بناءً على شروط معينة في الأعمدة A، B و C. يمكنك تشغيل هذا الكود في VBA Editor في Excel عن طريق الضغط على Alt + F11 ولصق الكود في نافذة الكود الخاصة بالورقة التي ترغب في تطبيق العملية عليها، ثم تشغيل الكود.
  9. يمكنك استخدام الكود التالي في VBA لحساب الفرق بين تاريخين بالأيام والشهور والسنوات ويمكن استخدامه في جميع إصدارات Excel: Function DateDiffInDays(startDate As Date, endDate As Date) As Integer DateDiffInDays = DateDiff("d", startDate, endDate) End Function Function DateDiffInMonths(startDate As Date, endDate As Date) As Integer DateDiffInMonths = DateDiff("m", startDate, endDate) End Function Function DateDiffInYears(startDate As Date, endDate As Date) As Integer DateDiffInYears = DateDiff("yyyy", startDate, endDate) End Function يمكنك استخدام هذه الدوال في الصيغ الخلية كما يلي: - لحساب الفرق بالأيام بين تاريخي A1 و B1: =DateDiffInDays(A1, B1) - لحساب الفرق بالشهور بين تاريخي A1 و B1: =DateDiffInMonths(A1, B1) - لحساب الفرق بالسنوات بين تاريخي A1 و B1: =DateDiffInYears(A1, B1) أتمنى أن يكون هذا الكود مفيدًا لك.
  10. وعليكم السلام ورحمة الله وبركاته يمكنك استخدام الكود التالي في VBA لتحويل الأرقام من النص إلى أرقام: Sub ConvertTextToNumber() Dim cell As Range For Each cell In Range("D2:D50000") If IsNumeric(cell.Value) Then cell.Value = CDbl(cell.Value) Else cell.Value = CDbl(Replace(cell.Value, ",", "")) End If Next cell End Sub يقوم هذا الكود بالتحويل التالي: 1. يتحقق مما إذا كانت القيمة رقمية، إذا كانت رقمية فإنه لا يقوم بتغييرها. 2. إذا لم تكن القيمة رقمية، يقوم بإزالة الفواصل الزائدة وتحويل النص إلى رقم.
  11. وعليكم السلام ورحمة الله وبركاته إذا كانت المعادلات في الشيت كبيرة جدًا وتحولها إلى كود VBA ينتج عن ذلك كود طويل جدًا، يمكنك محاولة تقسيم العملية إلى أجزاء أصغر لتجنب رسالة الخطأ بسبب طول الكود. يمكنك تجربة تفعيل ما يلي: 1. قم بتحديد نطاق من الخلايا المحتوية على المعادلات التي ترغب في تحويلها إلى رموز VBA. 2. استخدم الكود التالي لتحويل المعادلات في النطاق المحدد إلى رموز VBA: Sub ConvertFormulasInRangeToVBA() Dim cell As Range For Each cell In Selection If cell.HasFormula Then With ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).CodeModule .AddFromString "Sub ConvertFormula" & cell.Address & "()" & vbNewLine & _ " Range(""" & cell.Address & """).Value = " & "'" & cell.Formula & "'" & vbNewLine & _ "End Sub" End With End If Next cell MsgBox "تم تحويل المعادلات في النطاق المحدد إلى رموز VBA بنجاح.", vbInformation End Sub 3. بعد تشغيل الكود، حدد النطاق الذي تريد تحويل المعادلات فيه يدويًا، ثم قم بتشغيل الكود. 4. سيتم تحويل المعادلات في النطاق المحدد إلى رموز VBA في موديول جديد. يرجى ملاحظة أن هذه الطريقة لتقسيم العملية قد تساعد في تجنب رسالة الخطأ بسبب طول الكود، وتجعل عملية التحويل أكثر كفاءة.
×
×
  • اضف...

Important Information