خالد ابوعوف قام بنشر أكتوبر 14, 2019 قام بنشر أكتوبر 14, 2019 السلام عليكم - حياكم الله ملف يحتوي على شيت (البيانات ) وشيت (الخلاصة) ممكن عمل كود أو معادلة لمعرفة اذا كان رقم الهوية لأكثر من شخص اكثر من شخص.xlsx
ابو ايسل قام بنشر أكتوبر 14, 2019 قام بنشر أكتوبر 14, 2019 ارجو التوضيح اكثر انت عايز مايتمش تكرار ولا يتكرر بس تعرف انه اتكرر
سليم حاصبيا قام بنشر أكتوبر 14, 2019 قام بنشر أكتوبر 14, 2019 هذه المعادلة =IF(COUNTIF(البيانات!$E$2:$E$500,الخلاصة!A2)>1,"ERROR",VLOOKUP(الخلاصة!A2,البيانات!$E$1:$F$1500,2,0)) 3
Ali Mohamed Ali قام بنشر أكتوبر 14, 2019 قام بنشر أكتوبر 14, 2019 بعد اذن استاذنا الكبير سليم ولإثراء الموضوع يمكنك تجربة هذا اكثر من شخص1.xlsx 5
خالد ابوعوف قام بنشر أكتوبر 14, 2019 الكاتب قام بنشر أكتوبر 14, 2019 جزيتم خيرا ممكن اظهار الاسماء المكررة كما في الملف اكثر من شخص1 - اظهار الاسماء المكررة.xlsx
سليم حاصبيا قام بنشر أكتوبر 15, 2019 قام بنشر أكتوبر 15, 2019 جرب هذا الماكرو Option Explicit Sub get_uniq() Dim B As Worksheet, K As Worksheet Dim x%, RG_A As Range, RG_E As Range Dim i%, st$ Dim m%: m = 2 Application.ScreenUpdating = False Set B = Sheets("البيانات"): Set K = Sheets("الخلاصة") Set RG_A = K.Range("A2", Range("A1").End(4)) K.Range("F2", Range("F1").End(4)).ClearContents B.Select Set RG_E = B.Range("E2", Range("E1").End(4)) K.Select i = 1 Do Until RG_A.Cells(i) = vbNullString If Application.CountIf(RG_E, RG_A.Cells(i)) > 0 Then x = 1 Do If RG_A.Cells(i) = RG_E.Cells(x) Then st = st & RG_E.Cells(x).Offset(, 1) & "+" End If 'st x = x + 1 If x > RG_E.Rows.Count Then Exit Do Loop If st <> vbNullString Then _ K.Cells(m, "F") = Mid(st, 1, Len(st) - 1) End If 'error m = m + 1: i = i + 1: st = vbNullString Loop Application.ScreenUpdating = True End Sub الملف مرفق tekrar names.xlsm 1
خالد ابوعوف قام بنشر أكتوبر 15, 2019 الكاتب قام بنشر أكتوبر 15, 2019 يرحم والديك تمام 100 % مشكور استاذ فقط شغلة واحدة ممكن عدم تكرار الاسم وجعله مرة واحدة ، فمثلاً : اذا فرضنا الرقم ذكر ثلاث مرات لنفس الشخص ، المطلوب عدم ذكر الاسم ثلاث مرات بل مرة واحدة وكما موضح بالملف المرفق ذكر الاسم مرة واحدة.xlsm
أفضل إجابة سليم حاصبيا قام بنشر أكتوبر 15, 2019 أفضل إجابة قام بنشر أكتوبر 15, 2019 تعديل على الماكرو ليتناسب مع ما تريد Option Explicit Sub get_uniq_BY_collection() Dim B As Worksheet, K As Worksheet Dim x%, RG_A As Range, RG_E As Range Dim i%, col As New Collection Dim m%: m = 2 Dim st$, Itm Application.ScreenUpdating = False Set B = Sheets("البيانات"): Set K = Sheets("الخلاصة") Set RG_A = K.Range("A2", Range("A1").End(4)) K.Range("F2", Range("F1").End(4)).ClearContents B.Select Set RG_E = B.Range("E2", Range("E1").End(4)) K.Select i = 1 Do Until RG_A.Cells(i) = vbNullString If Application.CountIf(RG_E, RG_A.Cells(i)) > 0 Then x = 1 Do If RG_A.Cells(i) = RG_E.Cells(x) Then On Error Resume Next col.Add RG_E.Cells(x).Offset(, 1).Value, _ RG_E.Cells(x).Offset(, 1) End If 'col x = x + 1 If x > RG_E.Rows.Count Then Exit Do Loop On Error GoTo 0 If col.Count > 0 Then For Each Itm In col st = st & Itm & "+" Next Itm End If If st <> vbNullString Then _ K.Cells(m, "F") = Mid(st, 1, Len(st) - 1) End If 'error m = m + 1: i = i + 1 Set col = New Collection st = vbNullString Loop Application.ScreenUpdating = True End Sub الملف من جديد Only One_time.xlsm 2
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.