محسن33 قام بنشر سبتمبر 23 مشاركة قام بنشر سبتمبر 23 السلام عليكم لدي عمودين في حدود 200000 صف اريد مقارنة العمودين واستخراج القيم المختلفة بينهم بالرغم من تكرارها في العمود الاخر مرفق لا داعى لضغط الملف طالما مساحته صغيره مقارنة.xlsx رابط هذا التعليق شارك More sharing options...
حسونة حسين قام بنشر سبتمبر 23 مشاركة قام بنشر سبتمبر 23 وعليكم السلام ورحمه الله وبركاته تفضل مقارنة.xlsb 4 رابط هذا التعليق شارك More sharing options...
عبدالله بشير عبدالله قام بنشر سبتمبر 23 مشاركة قام بنشر سبتمبر 23 (معدل) حل رائع معلمنا حسونة حسين تم تعديل سبتمبر 23 بواسطه عبدالله بشير عبدالله 2 رابط هذا التعليق شارك More sharing options...
عمر الجزاوى قام بنشر سبتمبر 23 مشاركة قام بنشر سبتمبر 23 استاذ حسونة حل رائع بعد اذنك ممكن تضيف لينا شرط ثالث ان الكود يظهر القيم المشتركة بين العمودين رابط هذا التعليق شارك More sharing options...
حسونة حسين قام بنشر سبتمبر 23 مشاركة قام بنشر سبتمبر 23 تفضل اخى مقارنة.xlsb 3 رابط هذا التعليق شارك More sharing options...
عمر الجزاوى قام بنشر سبتمبر 23 مشاركة قام بنشر سبتمبر 23 استاذ حسونة الف شكرا على الاهتمام انا كنت ببحث عن حل قريب ووجدت خلول بالدوال ولكن حلك بالكود رائع وجميل ومميز الف الف شكر 1 رابط هذا التعليق شارك More sharing options...
حسونة حسين قام بنشر سبتمبر 23 مشاركة قام بنشر سبتمبر 23 الشكر لله اخى والحمد لله الذي وفقنا لمساعدتك رابط هذا التعليق شارك More sharing options...
محسن33 قام بنشر سبتمبر 24 الكاتب مشاركة قام بنشر سبتمبر 24 (معدل) السلام عليكم شكرا على الحل للاخ العزيز حسونة حسين ولكن جربت ادخل بيانات حتى الصف20000 وعند الضغط على الcommandbutton ظهر error تم تعديل سبتمبر 24 بواسطه محسن33 رابط هذا التعليق شارك More sharing options...
محمد هشام. قام بنشر سبتمبر 24 مشاركة قام بنشر سبتمبر 24 (معدل) اظن ان الكود المقترح من الاستاد @حسونة حسين يشتغل بشكل جيد على العموم جرب هدا Option Explicit Sub test() Dim arr As Variant, i As Long, Irow As Long Dim tmp1 As Object, tmp2 As Object, c As Variant Dim n As Variant, a As Variant, b As Variant Dim WS As Worksheet: Set WS = Sheets("Sheet1") Application.ScreenUpdating = False With WS Irow = .Columns("A:E").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row If Irow > 1 Then .Range("C2:E" & Irow).ClearContents End If arr = .Range("A2:B" & Irow).Value Set tmp1 = CreateObject("Scripting.Dictionary") Set tmp2 = CreateObject("Scripting.Dictionary") For i = 1 To UBound(arr, 1) If arr(i, 1) <> "" Then tmp1(arr(i, 1)) = True If arr(i, 2) <> "" Then tmp2(arr(i, 2)) = True Next i For Each n In tmp1 If tmp2.exists(n) Then c = cnt(c, n) tmp2.Remove n Else a = cnt(a, n) End If Next n For Each n In tmp2 b = cnt(b, n) Next n If Not IsEmpty(a) Then [C2].Resize(UBound(a), 1).Value = WorksheetFunction.Transpose(a) If Not IsEmpty(b) Then [D2].Resize(UBound(b), 1).Value = WorksheetFunction.Transpose(b) If Not IsEmpty(c) Then [E2].Resize(UBound(c), 1).Value = WorksheetFunction.Transpose(c) Application.ScreenUpdating = True End With End Sub Function cnt(arr As Variant, Value As Variant) As Variant If IsEmpty(arr) Then ReDim arr(1 To 1) arr(1) = Value Else ReDim Preserve arr(1 To UBound(arr) + 1) arr(UBound(arr)) = Value End If cnt = arr End Function مقارنة 3.xlsb تم تعديل سبتمبر 24 بواسطه محمد هشام. 3 رابط هذا التعليق شارك More sharing options...
حسونة حسين قام بنشر سبتمبر 25 مشاركة قام بنشر سبتمبر 25 وعليكم السلام ورحمة الله وبركاته في 24/9/2024 at 03:28, محسن33 said: ولكن جربت ادخل بيانات حتى الصف20000 وعند الضغط على الcommandbutton ظهر error ما هو الخطأ الذي يظهر لانه لا يظهر اخطأء بعد وضع بيانات الي الصف ٢٠ ألف 1 رابط هذا التعليق شارك More sharing options...
محسن33 قام بنشر أكتوبر 31 الكاتب مشاركة قام بنشر أكتوبر 31 (معدل) الله يجزيكم الخير هل يمكن الارقام الموجودة في الاعمدة C و D تظليل بلون اصفر في العمود A و العمود B بلون برتقالي تم تعديل أكتوبر 31 بواسطه محسن33 رابط هذا التعليق شارك More sharing options...
محسن33 قام بنشر نوفمبر 1 الكاتب مشاركة قام بنشر نوفمبر 1 للرفع رابط هذا التعليق شارك More sharing options...
محمد هشام. قام بنشر نوفمبر 1 مشاركة قام بنشر نوفمبر 1 Option Explicit Sub test() Dim arr As Variant, i As Long, Irow As Long Dim dictA As Object, dictB As Object, dictC As Object, dictD As Object Dim n As Variant, a As Variant, b As Variant, c As Variant Dim WS As Worksheet: Set WS = Sheets("Sheet1") With WS Irow = .Columns("A:E").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row If WorksheetFunction.CountA(.Range("A2:A" & Irow)) = 0 And _ WorksheetFunction.CountA(.Range("B2:B" & Irow)) = 0 Then MsgBox "لا توجد بيانات للمقارنة", vbExclamation Exit Sub End If 'Code ............. .................. Set dictC = CreateObject("Scripting.Dictionary") Set dictD = CreateObject("Scripting.Dictionary") For i = 2 To Irow If WS.Cells(i, 3).Value <> "" Then dictC(WS.Cells(i, 3).Value) = True If WS.Cells(i, 4).Value <> "" Then dictD(WS.Cells(i, 4).Value) = True Next i For i = 2 To Irow If WS.Cells(i, 1).Value <> "" Then If dictC.exists(WS.Cells(i, 1).Value) Or dictD.exists(WS.Cells(i, 1).Value) Then WS.Cells(i, 1).Interior.Color = RGB(255, 255, 0) End If End If If WS.Cells(i, 2).Value <> "" Then If dictC.exists(WS.Cells(i, 2).Value) Or dictD.exists(WS.Cells(i, 2).Value) Then WS.Cells(i, 2).Interior.Color = RGB(255, 165, 0) End If End If Next i Application.ScreenUpdating = True End Sub مقارنة 3.xlsb 2 رابط هذا التعليق شارك More sharing options...
mahmoud nasr alhasany قام بنشر نوفمبر 1 مشاركة قام بنشر نوفمبر 1 (معدل) احسنت أ / حسونة حسين احسنت أ / محمد هشام على المجهود الرائع الذى بزلتموه تم تعديل نوفمبر 1 بواسطه mahmoud nasr alhasany رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان