Bom dia pessoal,
Pesquisei bastante no forum mas não achei algo que preciso, preciso comparar em VBA antes de iniciar uma rotina na "plan 1" as células A1 até F1 com a "plan 2" às células A1 até F1, ou seja, se o conteúdo da "A1 da plan1" for igual o conteúdo da "plan2 A1", "B1 da plan1" com "B1 da plan2" e assim sucessivamente com as demais, se todas forem iguais chama a rotina, se não encerra (exit sub).
ex:
Plan1 A1 = Plan2 A1
Plan1 B1 = Plan2 B1
e assim nas demais...
Agradeço a atenção.
Option Explicit Sub procurarDados() Dim i As Integer Dim cont As Integer cont = 0 For i = 1 To 6 If Plan1.Cells(1, i).Value = Plan2.Cells(1, i).Value Then cont = cont + 1 End If Next i If cont = 6 Then MsgBox "Valores idênticos" End If End Sub Sub Verifica_se_intervalos_identicos() Dim a, b As Variant, c As Boolean, i As Long, j As Long, X As String X = "Há dados diferentes" a = Range("A1:A10").Value b = Range("B1:B10").Value c = True For i = LBound(a, 2) To UBound(b, 2) For j = LBound(a, 1) To UBound(a, 1) If Not a(j, i) = b(j, i) Then c = False: Exit For End If Next j If Not c Then Exit For Next i If c = False Then MsgBox "Dados idênticos? : [ " & c & " ] " & X, vbCritical, "Saberexcel" Else MsgBox "Dados idênticos? : [ " & c & " ]", vbInformation, "Saberexcel" End If If Application.CountIf([a1:a10], 0) >= 1 Then MsgBox "Intervalo col(A) contém zero" End Sub
Sub comparar() For i = 1 To 6 If Plan1.Cells(1, i).Value <> Plan2.Cells(1, i).Value Then Exit Sub End If Next i 'Seu código End Sub
___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].
Att.
André Arruda
Muito obrigado pessoal, ambos funcionaram como eu precisava!! Agradeço a atenção de vocês, nota 10.