/ / Сравняване на стойности от два диапазона в работния лист и броене на дублираните стойности - excel, vba, excel-vba,

Сравняване на стойности от два диапазона в работен лист и преброяване на дублиращите се стойности - excel, vba, excel-vba, range

Трябва да сравня стойностите от два диапазона в excelлист и ако стойността е равна на друга стойност във втория диапазон, пиша число 1 в клетката близо до тази стойност и така нататък увеличавам 1 с броя на всяка намерена стойност.

Sub tbl()

Dim Range1 As Range
Set Range1 = Worksheets("Sheet1").Range("A1:C10")
Dim Range2 As Range
Set Range2 = Worksheets("Sheet2").Range("A1:A10")
Dim cel As Range
Dim x As Integer
Dim i, j As Integer

For j = 1 To Range1.Count


For i = 1 To Range2.Count

If Range1(j).Value = Range2(i).Value Then

x = x + 1
Dim cel3 As Range
Set cel3 = Range(Range2(i).Address)
cel3.Offset(0, 1).Value = x

End If
Next i

Next j
End Sub

въведете описанието на изображението тук

Отговори:

0 за отговор № 1

Заредете стойностите за търсене в масив и използвайте COUNTIF () от другия диапазон, за да избегнете една от веригите.

Sub tbl()

Dim Range1 As Range
Dim Range2 As Variant
Dim range3() As Variant, j As Long

Set Range1 = Worksheets("Sheet1").Range("A1:C10")
Range2 = Worksheets("Sheet2").Range("A1:A10")

ReDim range3(1 To UBound(Range2, 1), 1 To 1)


For j = 1 To UBound(Range2, 1)
range3(j,1) = Application.WorksheetFunction.CountIf(Range1, Range2(j,1))
Next j

Worksheets("Sheet2").Range("B1").Resize(UBound(range3), 1).Value = range3


End Sub