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

اريد استدعاء ضمن 3 شروط


amrhosny
إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

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

عندي شيت فيه اسماء موظفين وبياناتهم

المطلوب في شيت اخر

اذا كتبت شرط 1

وشرط 2

وشرط 3

يحضرلي مجموعة الأسماء من الشيت الاول ضمن الشروط دي

مرفق ملف 

شكرا جزيلا

بحث.xlsx

رابط هذا التعليق
شارك

مبدع دائما أستاذنا الكبير / سليم

وإثراء للموضوع يمكن تجربة الكود التالى لاستدعء البيانات بأكثر من شرط

Option Explicit
Sub M_D_Test()
Dim ws As Worksheet: Set ws = Sheets("Data")
Dim sh As Worksheet: Set sh = Sheets("المطلوب")

Dim Arr As Variant, Arr1 As Variant, Temp As Variant
Dim lr As Long, I As Long, j As Long, P As Long
lr = ws.Range("C" & Rows.Count).End(xlUp).Row
'------------------------------------
Application.ScreenUpdating = False

sh.Range("H2:H22").ClearContents
Arr = ws.Range("A2:Z" & lr).Value
     '===================
        Arr1 = Array(5)
     '====================
ReDim Temp(1 To UBound(Arr, 1) + 1, 0 To UBound(Arr1) + 1)
For I = 1 To UBound(Arr)
'          الـ 3 شروط
' ==================================================================================================
    If Arr(I, 19) = sh.[A2].Value And Arr(I, 7) = sh.[B2].Value And Arr(I, 3) = sh.[C2].Value Then
'==================================================================================================
  P = P + 1
    For j = 0 To UBound(Arr1)
    Temp(P, j) = Arr(I, Arr1(j))
  Next j
End If
  Next I
If P > 0 Then sh.Range("H2").Resize(P, UBound(Temp, 2)).Value = Temp
'------------------------------------
 Application.ScreenUpdating = True
End Sub

 

MY_search_MD.xlsm

  • Like 2
رابط هذا التعليق
شارك

  • أفضل إجابة

شكراً استاذ محسن

و لي انا بهذا الشأن هذا الماكرو (عسى ان ينال الإعجاب)

Option Explicit
Sub S_H_Test_NEW()
  Dim D As Worksheet: Set D = Sheets("Data")
  Dim M As Worksheet: Set M = Sheets("المطلوب")
  Dim ARR(): ARR = Array("S", "G", "C", "H")
  Dim Obj As Object, i%, Chek%, t%

Set Obj = CreateObject("Scripting.Dictionary")

M.Range("K2").CurrentRegion.ClearContents
i = 2
    Do Until D.Range("F" & i) = vbNullString
         For t = 1 To 4
          Chek = Chek + (UCase(M.Cells(2, t)) = _
          UCase(D.Cells(i, ARR(t - 1))))
         Next
        If Chek = -4 Then _
            Obj.Add i, D.Cells(i, "F")
            i = i + 1: Chek = 0
    Loop

If Obj.Count Then _
  M.Cells(2, "k").Resize(Obj.Count) = _
  Application.Transpose(Obj.items)
 
 Set Obj = Nothing: Set D = Nothing: Set M = Nothing
 Erase ARR
End Sub

الملف من جديد

 

 

MY_search_MD_SH.xlsm

  • Like 5
رابط هذا التعليق
شارك

استاذي ماذا لو اردت اضافة شرط اخر ولكن في نفس الصف

مرفق الملف

يعني مثلا لو انا بدور في مجموعة A عن شروط معينة

ممكن في نفس الشروط دى ادور على مجموعة A  B

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

MY_search (1).xlsx

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information