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
Respostas:
0 para resposta № 1Carregue 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