hoe twee rijen in Excel te vergelijken met VBA

rij voor rij handmatig gegevens vergelijken kan een vervelend proces zijn als dit handmatig wordt gedaan. Laat ons u laten zien hoe u twee rijen in Excel kunt vergelijken met behulp van VBA en dit proces kunt automatiseren.

VBA heeft een ingebouwde functie genaamd StrComp die twee strings kan vergelijken. Deze functie retourneert een geheel getal gebaseerd op het resultaat van de vergelijking. Nul ‘ 0 ‘betekent een perfecte match, en het codevoorbeeld hieronder benadrukt de cel als het resultaat niet gelijk is aan’0’.

StrComp functie krijgt 3 argumenten: de eerste 2 argumenten zijn de te vergelijken strings en de laatste is het vergelijkingstype (optioneel). Indien weggelaten, bepaalt de optie Vergelijkingsinstelling het type vergelijking. Hieronder vindt u alle beschikbare opties:

  • vbUseCompareOption: voert een vergelijking uit met behulp van de instelling van de optie vergelijk statement.
  • vbBinaryCompare: voert een binaire vergelijking uit. Hoofdlettergevoelig.
  • vbTextCompare: voert een tekstuele vergelijking uit. Niet hoofdlettergevoelig.
  • vbDatabaseCompare: Voert een vergelijking uit op basis van informatie in uw database. Alleen Microsoft Access.

de code vereist dat de gebruiker de rijen in één bereik selecteert. Het geselecteerde bereik wordt toegewezen aan een range variabele bothrows en elke cel in dat bereik wordt kolom voor kolom vergeleken. Met behulp van een met statement, hoeven we niet te herhalen bothrows voor elke rij, en voor … volgende lus is hoe we kunnen controleren elke cel.

Highlighting

nadat u het bereik hebt ontvangen, kunt u de eigenschap ColorIndex gebruiken om dat bereik een kleur in te stellen. Hier zijn enkele indexnummers voor kleuren:

  • 3: Rood
  • 5: Blauw
  • 6: Geel
  • 0: geen vulling

eerst moet u de module toevoegen aan de werkmap of het invoegbestand. Kopieer en plak de code in de module om het uit te voeren. Het belangrijkste voordeel van de module methode is dat het mogelijk maakt het opslaan van de code in het bestand, zodat het later opnieuw kan worden gebruikt. Bovendien kunnen de subroutines in modules worden gebruikt door pictogrammen in de menulinten of sneltoetsen. Vergeet niet om uw bestand op te slaan in XLSM of XLAM formaat om uw VBA-code op te slaan.

voorbeeldcode voor accentuering

Sub HighlightRowDifferences() Dim bothrows As Range, i As Integer Set bothrows = Selection With bothrows For i = 1 To .Columns.Count If Not StrComp(.Cells(1, i), .Cells(2, i), vbBinaryCompare) = 0 Then Range(.Cells(1, i), .Cells(2, i)).Interior.ColorIndex = 6 End If Next i End WithEnd Sub

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.