Visual Basic pour Applications ( VBA ) est un langage de programmation conçu pour les programmes Microsoft Office tels que PowerPoint , Word et Excel. Il vous permet de créer des outils personnalisés , des boutons et des menus que vous pouvez utiliser pour personnaliser vos applications Office. Par exemple, il n'est pas un outil Excel qui vous permet de comparer les colonnes et mettre en évidence les différences. Cependant, avec un peu de code VBA , vous pouvez créer un outil utile pour ce seul but . Choses que vous devez
Excel 2007 ou Excel 2010
Voir Plus Instructions
1
Cliquez sur l'onglet " développeur" dans Excel , puis cliquez sur " Visual Basic ".
2
Cliquez sur "Insérer ". Cliquez sur " Module " pour ouvrir une nouvelle fenêtre de module
3
couper et coller le code suivant dans la fenêtre : .
Sous CompareColumns ()
Column1 As Range
Column2 As Range
« Demander à l'utilisateur pour la première plage de colonne pour comparer ...
' ---------- ------------------------------------------
Set Column1 = Application.InputBox ( " Sélectionnez d'abord la colonne au comparateur " , Type: = 8)
' Vérifiez que la plage qu'ils ont fournis se compose de seulement 1 colonne ...
Si Column1.Columns . comte > 1 alors
faire jusqu'à Column1.Columns.Count = 1
MsgBox " Vous ne pouvez sélectionner 1 colonne "
Set Column1 = Application.InputBox ( " Sélectionnez d'abord la colonne au comparateur " , Type: = 8)
boucle
End If
« Demander à l'utilisateur pour la deuxième gamme de colonne pour comparer ...
< p> ' ----------------------------------------------- -----
Set Column2 = Application.InputBox ( "Select deuxième colonne au comparateur " , Type: = 8) Vérifier
' que la plage qu'ils ont fournis se compose de seulement 1 colonne ...
Si Column2.Columns.Count > 1 alors
Do Until Column2.Columns.Count = 1
MsgBox " Vous ne pouvez sélectionner 1 colonne«
Set Column2 = Application.InputBox ( "Select deuxième colonne au comparateur " , Type: = 8)
boucle
End If
« Vérifier la fois la colonne gammes sont de la même taille ...
' ----------------------------------- ----------
Si Column2.Rows.Count <> Column1.Rows.Count Puis
Do Until Column2.Rows.Count = Column1.Rows . comte de
MsgBox " la deuxième colonne doit être la même taille que le premier "
Set
Column2 = Application.InputBox ( " deuxième colonne Sélectionnez pour comparer " , Type: = 8)
boucle
End If
«Si colonnes entières ont été sélectionnés (par exemple, $ AA) , de limiter les tailles de gamme à la
' UsedRange de la feuille active. Cela empêche la vérification de routine l'ensemble Column1.Rows.Count = 65536 Puis
Set Column1 = Range ( Column1.Cells (1) , Column1.Cells ( ActiveSheet.UsedRange.Rows.Count ) )
Set Column2 = Range ( Column2.Cells (1) , Column2.Cells ( ActiveSheet.UsedRange.Rows.Count ) )
End If
' Effectuer les cellules de comparaison et de jeu qui sont les mêmes pour
jaune
' ---------------------------------------------- ------------------
intCell As long
intCell = 1 To Column1.Rows.Count
Si Column1.Cells ( intCell ) = Column2.Cells ( intCell ), puis
Column1.Cells ( intCell ) . Interior.Color = vbYellow
Column2.Cells ( intCell ) . Interior.Color = vbYellow
End If
Suivant
End Sub
4
Appuyez sur " F5 " pour exécuter la routine et comparer les colonnes.