slik sammenligner du to rader i Excel ved HJELP AV VBA

Sammenligning av data rad for rad manuelt kan være en kjedelig prosess hvis det gjøres manuelt. La oss vise deg hvordan du sammenligner to rader i Excel ved HJELP AV VBA og automatiserer denne prosessen.

VBA har en innebygd funksjon Kalt StrComp som kan sammenligne to strenger. Denne funksjonen returnerer et heltall basert på resultatet av sammenligningen. Null ‘ 0 ‘betyr en perfekt match, og kodeeksemplet nedenfor fremhever cellen hvis resultatet ikke er lik ‘0’.

StrComp-funksjonen får 3 argumenter: Første 2 argumenter er strengene som skal sammenlignes, og den siste er sammenligningstypen (valgfritt). Hvis utelatt, Bestemmer Alternativet Sammenlign innstillingen typen sammenligning. Nedenfor er alle tilgjengelige alternativer:

  • Vbusecompareoption: Utfører en sammenligning ved hjelp av innstillingen For Alternativet Sammenlign setning.
  • vbBinaryCompare: Utfører en binær sammenligning. Case sensitive.
  • vbTextCompare: Utfører en tekstlig sammenligning. Ikke case sensitive.
  • vbdatabasesammenlign: Utfører en sammenligning basert på informasjon i databasen. Bare Microsoft Access.

koden krever at brukeren velger radene i et enkelt område. Valgt område tilordnes en variabel bothrows og hver celle i dette området sammenlignes kolonne for kolonne. Ved hjelp Av En med uttalelse, trenger vi ikke å gjenta bothrows for hver rad,Og For … Neste loop er hvordan vi kan sjekke hver celle.

Utheving

når du har fått området, kan Du bruke ColorIndex-egenskapen til å angi dette området en farge. Her er noen indeksnumre for farger:

  • 3: Rød
  • 5: Blå
  • 6: Gul
  • 0: Ingen Fyll

først må du legge til modulen i arbeidsboken eller tilleggsfilen. Kopier og lim inn koden i modulen for å kjøre den. Den største fordelen med modulmetoden er at den tillater lagring av koden i filen, slik at den kan brukes igjen senere. Videre kan de subrutiner i moduler brukes av ikoner i menyen bånd eller hurtigtaster. Husk å lagre filen i ENTEN XLSM eller XLAM format for å lagre VBA-koden.

Eksempelkode for utheving

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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.