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

abouelhassan

05 عضو ذهبي
  • Posts

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

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

  • Days Won

    7

مشاركات المكتوبه بواسطه abouelhassan

  1. محاولة لعلها تفيد

    function onEdit(e) {
      var sheet = e.source.getActiveSheet();
      var range = e.range;
      
      // Check if edited range is in columns A-F
      if (range.getColumn() >= 1 && range.getColumn() <= 6) {
        var row = range.getRow();
        
        // Check if column H in the edited row is empty
        if (!sheet.getRange(row, 8).getValue()) {
          // Generate a random number and set it in column H
          var randomNum = Math.floor(Math.random() * 1000) + 1;
          sheet.getRange(row, 8).setValue(randomNum);
        }
      }
    }

     

    هذا الكود يعمل على تطبيق رقم عشوائي في العمود H عند تعبئة البيانات في الأعمدة A-F. يجب وضع هذا الكود في محرر النصوص في Google Apps Script وحفظه. بعد ذلك، سيتم تنفيذ الكود تلقائيًا عند تعديل البيانات في الأعمدة A-F.

  2.  

    جرب هذه

    لحل هذه المشكلة، يمكنك استخدام وظيفة `INDEX` و `MATCH` في Excel للعثور على القيمة المطلوبة بناءً على الشروط التي حددتها. يمكنك استخدام الصيغة التالية في الخلية التي تريد أن تظهر فيها اسم المندوب:

    =INDEX('شيت 1'!$B$2:$B$1000, MATCH(1, ('شيت 1'!$A$2:$A$1000=تاريخ)*('شيت 1'!$C$2:$C$1000=كود_الزبون), 0))

    يرجى استبدال `'شيت 1'` بالاسم الصحيح للشيت الذي تحتوي عليه البيانات، وتغيير `$B$2:$B$1000` إلى النطاق الصحيح الذي تحتوي فيه أسماء المندوبين، وكذلك `$A$2:$A$1000` و `$C$2:$C$1000` بالنطاقات التي تحتوي على تواريخ وأكواد الزبائن على التوالي.

    قم بتغيير `تاريخ` و `كود_الزبون` إلى مراجع للخلايا التي تحتوي على التاريخ وكود الزبون اللذين تبحث عنهما.

  3. جرب

    
    Sub DistributeSchools()
        Dim Teachers() As String
        Dim Schools As Integer
        Dim SchoolsPerTeacher As Integer
        Dim TotalTeachers As Integer
        Dim RandomIndex As Integer
        Dim i As Integer
        Dim j As Integer
        
        Schools = 304
        SchoolsPerTeacher = 6
        TotalTeachers = 50 ' عدد المعلمين
        
        ReDim Teachers(1 To TotalTeachers)
        
        ' ملء المعلمين بترقيمهم
        For i = 1 To TotalTeachers
            Teachers(i) = "Teacher " & i
        Next i
        
        ' توزيع المدارس بين المعلمين
        For i = 1 To Schools
            RandomIndex = Int((TotalTeachers * Rnd) + 1)
            ' تأكد من أن المعلم لديه أقل من 6 مدارس بالفعل
            Do While Len(Teachers(RandomIndex)) > 0
                RandomIndex = Int((TotalTeachers * Rnd) + 1)
            Loop
            Teachers(RandomIndex) = Teachers(RandomIndex) & " - School " & i
        Next i
        
        ' طباعة النتائج
        For i = 1 To TotalTeachers
            Debug.Print Teachers(i)
        Next i
        
    End Sub

    انقر فوق الزر "تشغيل" Run أو اضغط على F5 لتشغيل البرنامج.

    هذا الكود يقوم بتوزيع المدارس بين 50 معلمًا بحيث يحصل كل معلم على 6 مدارس بشكل عشوائي. يمكنك ضبط عدد المعلمين وعدد المدارس حسب احتياجاتك.

  4. 
    للحصول على نفس الوظيفة التي يقدمها الدالة UNIQUE في إصدارات أقدم من Office، يمكنك استخدام صيغة مصفوفة مجمعة مع دالة INDEX وMATCH. يمكنك استخدام الصيغة التالية كبديل للدالة UNIQUE:
    =IFERROR(INDEX($A$1:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$1:$A$10) + IF($A$1:$A$10="", 1, 0), 0)), "")
    ```
    في هذا المثال، يجب تغيير `$A$1:$A$10` إلى نطاق البيانات الخاص بك. ويجب وضع هذه الصيغة في الخلية B1، ثم سحبها لأسفل للحصول على القيم الفريدة من النطاق الأصلي في الخلية A1:A10.

     

  5. في 14‏/2‏/2024 at 09:04, بلانك said:

    عفوا من الاساتذة الغالبية نستخدم اوفيس 2010 وهذة الدالة غير موجودة به فما العمل؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ظ

    جرب

    
    =IFERROR(MID($A$1,ROW()-ROW($A$1)+1,1),"")

     

    =

    =TRANSPOSE(A1:A5)
    
     (TRANSPOSE) في جميع إصدارات إكسل بدءًا من إكسل 2007 

     

    وبدون معادلات

    
    
    1. قم بإنشاء جدول في ورقة العمل الخاصة بك بالأرقام التي ترغب في تحويلها.
    2. حدد المجموعة من الأرقام التي ترغب في تحويلها.
    3. انسخ المجموعة المحددة.
    4. انتقل إلى الخلية الأولى في العمود الذي ترغب في وضع الأرقام فيه.
    5. انقر بزر الماوس الأيمن واختر "تحويل" من قائمة الخيارات المتاحة.
    6. ستظهر نافذة "تحويل"، انقر على "الصق القيمة فقط" ثم انقر على "موافق".
    
    بهذه الطريقة، ستتم تحويل الأرقام من صفوف إلى أعمدة في إكسل. يمكنك تكرار هذه الخطوات لتحويل المزيد من الأرقام إذا لزم الأمر.

     

    • Like 1
  6. جرب

    
    Sub KeepFirstWordOnly()
        Dim cell As Range
        Dim words() As String
        Dim i As Integer
        
        For Each cell In Range("A1:A10") ' تغيير النطاق حسب الحاجة
            words = Split(cell.Value, " ")
            cell.Value = words(0)
        Next cell
    End Sub

     

    هذا الكود يفترض أن الكلمات مفصولة بمسافة. إذا كانت الكلمات مفصولة بفاصلة أو حرف آخر، يجب تغيير الجزء `Split(cell.Value, " ")` ليناسب الفاصلة الصحيحة، على سبيل المثال، `Split(cell.Value, ",")` للكلمات المفصولة بفاصلة.

  7. اليك الطريقه اخى الكريم جرب لإضافة مربع بحث للبحث عن الأصناف في ورقة العمل، يمكنك اتباع الخطوات التالية:

    1. **إنشاء مربع حوار بحث:**

       - قم بالنقر على "مطور" في شريط الأدوات، ثم اختر "إدراج" واختر "زر التحكم".

       - ارسم مربعًا على الورقة ليكون زر البحث.

       - انقر بزر الماوس الأيمن على الزر الذي أنشأته واختر "تعيين معرف" لإعطاء الزر اسمًا مثل "btnSearch".

     

    2. **إضافة الكود VBA للبحث:**

       - انقر بزر الماوس الأيمن على ورقة العمل واختر "عرض الكود".

       - استخدم الكود التالي لإنشاء نافذة حوار للبحث عن الأصناف

    
    Sub SearchItem()
        Dim wsInventory As Worksheet
        Dim rngItems As Range, cell As Range
        Dim searchItem As String
        
        ' تحديد ورقة العمل للبحث فيها
        Set wsInventory = ThisWorkbook.Sheets("اسم_ورقة_العمل")
        
        ' مربع حوار البحث
        searchItem = InputBox("ادخل اسم الصنف للبحث عنه:")
        
        ' البحث عن الصنف وعرض النتائج
        If searchItem <> "" Then
            Set rngItems = wsInventory.Range("E:E").Find(What:=searchItem, LookIn:=xlValues, LookAt:=xlWhole)
            If Not rngItems Is Nothing Then
                MsgBox "كود الصنف: " & rngItems.Offset(0, -1).Value & vbNewLine & "اسم الصنف: " & rngItems.Value, vbInformation, "نتائج البحث"
            Else
                MsgBox "لم يتم العثور على الصنف.", vbExclamation, "نتائج البحث"
            End If
        End If
    End Sub

    يرجى استبدال "اسم_ورقة_العمل" بالاسم الفعلي لورقة العمل التي تريد البحث فيها.

    • Like 1
  8. تفضل

    1. افتح Excel وانقر على الخلية التي تريد فيها عرض الرقم العمودي.
    2. استخدم المعادلة التالية:

      

    
    =TEXTJOIN(CHAR(10),TRUE,MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
     


       
       

       حيث A1 هو موقع الخلية التي تحتوي على الرقم الذي تريد تحويله إلى شكل عمودي. تأكد من تغيير A1 بموقع الخلية الصحيحة إذا كان الرقم في موقع مختلف.
       
    3. اضغط على Enter.

    هذا سيعرض الرقم بشكل عمودي في الخلية المستهدفة.

    • Like 1
  9. تفضل اخي طبق الاتى

     إليك كيفية تحويل الكود إلى معادلات:

    1. في الخلية B2 في ورقة "Report"، استخدم الدالة VLOOKUP للبحث عن القيمة في الخلية A2 من ورقة "AllData" واسترجاع قيمة بداية التاريخ.
       
       

    
    =VLOOKUP(A2, AllData!$A$2:$E$1000, 3, FALSE)
    

    2. في الخلية C2، استخدم الدالة VLOOKUP مرة أخرى للبحث عن القيمة في الخلية A2 من ورقة "AllData" واسترجاع قيمة نهاية التاريخ.
       

    
    =VLOOKUP(A2, AllData!$A$2:$E$1000, 4, FALSE)

    3. في الخلية D2، استخدم الدالة VLOOKUP للبحث عن القيمة في الخلية A2 من ورقة "AllData" واسترجاع قيمة نوع الاجازة.
       
       

    
    =VLOOKUP(A2, AllData!$A$2:$E$1000, 5, FALSE)

       

    تأكد من تغيير نطاق البحث وفقًا لموقع البيانات الخاصة بك في ورقة "AllData

    1. افتح برنامج Excel وقم بإنشاء ورقة عمل جديدة.

    2. قم بنسخ البيانات الخاصة بك من ورقة "AllData" إلى الورقة الجديدة.

    3. في العمود الأول (الخانة A) في الورقة الجديدة، قم بوضع القيم التي تريد البحث عنها في ورقة "AllData".

    4. في العمود الثاني (الخانة B)، استخدم الدالة VLOOKUP للبحث عن بداية التاريخ.

    5. في العمود الثالث (الخانة C)، استخدم الدالة VLOOKUP للبحث عن نهاية التاريخ.

    6. في العمود الرابع (الخانة D)، استخدم الدالة VLOOKUP للبحث عن نوع الاجازة.

    7. ضع المعادلات في الصفوف التي ترغب فيها للبحث عن البيانات.

     

    هذه الخطوات يمكن أن تنتج نفس النتائج التي يقوم بتحقيقها الكود السابق 

    • Like 1
×
×
  • اضف...

Important Information