Coupez et collez le code suivant dans la fenêtre:
CompareColumns sub ()
Dim Colonne1 Comme Range
Dim Colonne2 Comme Range«Demander à l'utilisateur pour la première plage de colonne pour comparer ...
'------------------------------------------------- -;
Réglez Colonne1 = Application.InputBox ("Sélectionnez première colonne au comparateur", Type: = 8)«Vérifier que la cuisinière ils ont fourni se compose de seulement 1 colonne ...
Si Column1.Columns.Count gt; Puis 1
Faire jusqu'à Column1.Columns.Count = 1
MsgBox "Vous ne pouvez sélectionner une colonne"
Réglez Colonne1 = Application.InputBox ("Sélectionnez première colonne au comparateur", Type: = 8)
Boucle
Fin si
«Demander à l'utilisateur pour la deuxième gamme de colonne pour comparer ...
'------------------------------------------------- -;
Réglez Colonne2 = Application.InputBox ("Sélectionnez la seconde colonne au comparateur", Type: = 8)«Vérifier que la cuisinière ils ont fourni se compose de seulement 1 colonne ...
Si Column2.Columns.Count gt; Puis 1
Faire jusqu'à Column2.Columns.Count = 1
MsgBox "Vous ne pouvez sélectionner une colonne"
Réglez Colonne2 = Application.InputBox ("Sélectionnez la seconde colonne au comparateur", Type: = 8)
Boucle
Fin si
«Vérifiez les deux colonne gammes sont de la même taille ...
»--------------------------------------------;
Si Column2.Rows.Count lt; gt; Puis Column1.Rows.Count
Faire jusqu'à Column2.Rows.Count = Column1.Rows.CountMsgBox "La deuxième colonne doit être la même taille que la première"
Réglez Colonne2 = Application.InputBox ("Sélectionnez la seconde colonne au comparateur", Type: = 8)
Boucle
Fin si
«Si des colonnes entières ont été sélectionnés (par exemple $ AA), limitent la gamme des tailles à la
'UsedRange de la feuille active. Cela empêche la routine vérifiant la feuille entière
«inutilement.
'------------------------------------------------- -----------------------------;
Si Column1.Rows.Count = 65536 Puis
Réglez Colonne1 = Range (Column1.Cells (1), Column1.Cells (ActiveSheet.UsedRange.Rows.Count))Réglez Colonne2 = Range (Column2.Cells (1), Column2.Cells (ActiveSheet.UsedRange.Rows.Count))
Fin si
'Effectuer la comparaison et set cellules qui sont les mêmes au jaune
'------------------------------------------------- --------------;
Dim intCell As Long
Pour intCell = 1 Pour Column1.Rows.CountSi Column1.Cells (intCell) = Column2.Cells (intCell), puis
Column1.Cells (intCell) .Interior.Color = vbYellow
Column2.Cells (intCell) .Interior.Color = vbYellow
Fin si
Suivant
End Sub