1
resposta

[Dúvida] E se não pudermos utilizar "rCelula.Address"?

Minha dúvida é no caso que as tabelas que quisermos comparar não estão no mesmo intervalo, digamos que uma começa no B2 e o outro no Q2. Eu posso fazer a comparação utilizando dois loops tipo "For a = 0 To 100". Mas queria saber se tem como fazer utilizando os "Ranges" e o "For Each".

1 resposta

Olá, Christopher!

Entendi sua dúvida sobre como comparar intervalos em planilhas que não estão no mesmo intervalo de células, utilizando "Ranges" e "For Each". Vou te dar uma ideia de como você pode fazer isso.

Quando você quer comparar dois intervalos que começam em células diferentes, como B2 em uma planilha e Q2 em outra, você pode definir os "Ranges" de cada um e depois usar um loop "For Each" para iterar sobre as células de cada intervalo. Aqui está um exemplo de como você pode fazer isso:

Sub CompararIntervalos()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim rng1 As Range
    Dim rng2 As Range
    Dim celula1 As Range
    Dim celula2 As Range

    ' Definindo as planilhas
    Set ws1 = ThisWorkbook.Sheets("Notas 1º Trimestre")
    Set ws2 = ThisWorkbook.Sheets("Notas 2º Trimestre")
    
    ' Definindo os ranges a serem comparados
    Set rng1 = ws1.Range("B2:B100") ' Ajuste o intervalo conforme necessário
    Set rng2 = ws2.Range("Q2:Q100") ' Ajuste o intervalo conforme necessário

    ' Verificando se os ranges têm o mesmo número de células
    If rng1.Cells.Count <> rng2.Cells.Count Then
        MsgBox "Os intervalos não têm o mesmo número de células."
        Exit Sub
    End If

    ' Comparando os valores
    For Each celula1 In rng1
        Set celula2 = rng2.Cells(celula1.Row - rng1.Row + 1, 1)
        If celula1.Value = celula2.Value Then
            celula1.Interior.Color = RGB(255, 255, 0) ' Destaca a célula em amarelo
            celula1.Font.Color = RGB(255, 0, 0) ' Altera a cor da fonte para vermelho
        End If
    Next celula1
End Sub

Neste exemplo, estou assumindo que os intervalos têm o mesmo número de células. A lógica é que, para cada célula no primeiro intervalo (rng1), você encontra a célula correspondente no segundo intervalo (rng2) e compara os valores. Se forem iguais, você pode destacar as células conforme desejado.

Espero ter ajudado e bons estudos!