/ / Comparando valores de dois intervalos na planilha e contando os valores duplicados - excel, vba, excel-vba, range

Comparando valores de dois intervalos na planilha e contando os valores duplicados - excel, vba, excel-vba, range

Preciso comparar valores de dois intervalos no excelplanilha e se o valor encontrado for igual a outro valor no segundo intervalo, escrevo o número 1 na célula próxima a esse valor e assim por diante aumente 1 pelo número de cada valor encontrado.

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

insira a descrição da imagem aqui

Respostas:

0 para resposta № 1

Carregue os valores para pesquisar em uma matriz e use COUNTIF () no outro intervalo para evitar um dos loops.

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