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

الردود الموصى بها

قام بنشر
لدي كود متكرر اكثر من مرة في العمود ( C ) وعند عمل VLOOK UP  يختار الخانه الاولي المقابله له من العمود E هل هناك طريقه يختار بها في كل مرة خانه مختلفه من العمود E ؟ 

Untitled.jpg

SerializePlantStockReport.rar

قام بنشر

وعليكم السلام ورحمة الله وبركاته 

 

اريد ان اقوم بهذه المعادله في شيت اخر فيظهر لي الاكواد التاليه 

كيف استخدم هذه المعادله في شيت وياخذ البيانات من الشيت الاخر ؟

Untitled.jpg

Desktop.rar

عند عمل معادلة في لوكب ياخذ فقط الخانه الاولي هل يوجد معادله اخري غير الفي لوكب تاخذ في كل مرة خانه مختلفه ارجو ان اكون قادر علي توصيل السؤال ز

 

 

 

جزاكم الله خيرا ز

قام بنشر

إذا كنت تريد المعادلة في ملف آخر والملف الأصلي مفتوح استخدم المعادلة التالية

=INDEX(SerializePlantStockReport.xlsx!E$2:E$26,RANDBETWEEN(2,26))

إذا لم تكن المعادلة تلبي الغرض يرجى مزيد من التوضيح ووضع بعض النتائج المتوقعة ...

قام بنشر

وعليكم السلام

أخي الكريم ما زلت لا أفهم المطلوب .. هل المطلوب عملية بحث عن الأرقام في الملف الأول ووضعها في الملف الثاني ..

ما هو المنطق في عملية البحث .. وهل سيكون الملف الأول مفتوح أم مغلق حين إجراء عملية البحث ..؟

لابد من الإجابة على هذه التساؤلات أولاً

قام بنشر

سيكون الملف مفتوح والمطلوب البحثن عن الارقام في الملف الاول ووضعها في الملف الثاني مع عدم تكرار الارقام  واريد الارقام التي نريد وضعها في الملف الثاني بنفس الترتيب الموجود في الشيت الاول .

  • أفضل إجابة
قام بنشر

أخي الكريم خالد جرب الكود التالي عله يفي بالغرض (طبعاً يوضع الكود في المصنف المسمى PickList) ويحفظ بامتداد xlsm ... قم بفتح الملف الأول والملف الجديد الذي قمت بحفظه بامتداد xlsm ونفذ الكود وستظهر النتائج في العمود الثاني في الملف الجديد المسمى PickList.xlsm

Sub Test()
    Dim swb         As Workbook
    Dim twb         As Workbook
    Dim arr1        As Variant
    Dim arr2        As Variant
    Dim v           As Variant
    Dim d           As Object
    Dim m           As Long
    Dim n           As Long
    Dim r0          As Long
    Dim r           As Long
    Dim s           As Long
    Dim c           As Long

    Set swb = Workbooks("SerializePlantStockReport.xlsx")
    Set twb = ThisWorkbook
    
    Set d = CreateObject("Scripting.Dictionary")
    m = swb.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
    arr1 = swb.Sheets(1).Range("C2:E" & m).Value
    n = twb.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
    arr2 = twb.Sheets(1).Range("A2:B" & n).Value

    For s = 1 To n - 1
        v = arr2(s, 1)
        If d.exists(v) Then
            r0 = d(v)
        Else
            r0 = 0
        End If

        For r = r0 + 1 To m
            If arr1(r, 1) = v Then
                arr2(s, 2) = CStr(arr1(r, 3))
                d(v) = r
                Exit For
            End If
        Next r
    Next s

    twb.Sheets(1).Range("A2:B" & n).Value = arr2
End Sub

 

  • Like 1
  • 2 weeks later...
قام بنشر

الان واجهتني مشكله هل يمكن ان اكتب الرقم بدل من ان انسخه في الشيت ؟

عندما اقوم بكتابة الرقم في ملف PickList لا يعمل الكود لازم اخده كوبي من الشيت الاخر SerializePlantStockReport 

هل يمكن تعديل الكود بحيث ان اكتب الرقم او انسخه من شيت اخر غير SerializePlantStockReport ؟

وجزاكم الله خيرا .

 
قام بنشر

أخي الكريم لم أفهم المشكلة ...يمكنك طرح موضوع من جديد مع الشرح للمشكلة وإرفاق الملفات المطلوبة لربما تجد من يساعدك 

أنا نسيت الموضوع .. أيوا والله زي ما بقولك كدا 

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information