الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

compare two ranges/arrays

بدأه someone88 في 14 يوليو 2014 · 0 رد · 175 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

 

لدي برنامج باستخدام vba in excel

ايقونة في الشيت بالضغط عليها تطلع فورم وفيها يتم ادخال اسماء range name & sheet name التي اود المقارنة بينهم

هدفه يقارن بين two ranges في two sheets

واذا وجد قيمة الخلية في المكانين يتم تلوين الخلية باللون الاخضر وان لم يجد القيمة يلون باللون الاحمر

 

المشكلة في الكود ان يلون باللون الاخضر والاحمر ولكن اجد خلية ملونة باللون الاخضر وهي غير موجودة في الشيت الثاني وكذلك بالنسبة للون الاحمر قد تكون ملونة بالاحمر وموجودة في الشيت الثاني, واضح انه logical error بس للاسف مش لاقية الخطأ فين؟

ياربي احتاج مساعدة ضروري باقرب وقت

 

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

Public Sub FindBtn_Click()

range1Name = namedRange1TxtBox
range2Name = namedRange2TxtBox
sheet1Name = Sheet1txt
sheet2Name = Sheet2txt

Dim range1No(), range2No() As Variant
range1No() = Range(range1Name)
range2No() = Range(range2Name)



Dim i, j As Integer
Dim cell As Variant 'Range
For i = LBound(range1No()) To UBound(range1No())
For j = LBound(range2No()) To UBound(range2No())
Set cell = Worksheets(sheet1Name).Range(range1Name).Find(what:=Worksheets(sheet2Name).Range(range2Name).Cells(i, 1).Value, lookat:=xlWhole)

If Not cell Is Nothing Then ' if jde cell value is found in tops then green jde cell
Worksheets(sheet1Name).Range(range1Name).Cells(i, 1).Interior.ColorIndex = 4
Else
Worksheets(sheet1Name).Range(range1Name).Cells(i, 1).Interior.ColorIndex = 3
End If
Application.StatusBar = "Progress: " & i & " of " & UBound(range1No()) '& Format(i / 9331, "%")
Next j
Next i

مواضيع مشابهة