Les partenaires publicitaires:

Comment comparer les colonnes avec VBA

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'y a pas un outil dans Excel qui vous permet de comparer les colonnes et 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

Instructions

  1. Clique le "Développeur" onglet dans Excel, puis cliquez sur "Visual Basic."

  2. Cliquez "Insérer." Cliquez "Module" pour ouvrir une nouvelle fenêtre de module.

  3. 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.Count

    MsgBox "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.Count

    Si Column1.Cells (intCell) = Column2.Cells (intCell), puis

    Column1.Cells (intCell) .Interior.Color = vbYellow

    Column2.Cells (intCell) .Interior.Color = vbYellow

    Fin si

    Suivant

    End Sub

  4. Appuyez "F5" pour exécuter la routine et de comparer les colonnes.

Conseils & Avertissements

  • Le code, tel qu'il est rédigé, va changer les différences dans les colonnes à jaune. Vous pouvez sélectionner une autre couleur en remplaçant le jaune dans les deux couleur de sélection des lignes à une autre couleur. Par exemple, si vous voulez le code pour mettre en surbrillance en rouge, le changement "Column1.Cells (intCell) .Interior.Color = vbYellow" et " Column2.Cells (intCell) .Interior.Color = vbYellow"
  • à
  • "Column1.Cells (intCell) .Interior.Color = vbRed" et "Column2.Cells (intCell) .Interior.Color = vbRed."
» » » » Comment comparer les colonnes avec VBA