cum se compară două rânduri în Excel folosind VBA

Compararea manuală a rândului de date cu rând poate fi un proces obositor dacă se face manual. Să vă arătăm cum să comparați două rânduri în Excel folosind VBA și să automatizați acest proces.

VBA are o funcție încorporată numită StrComp care poate compara două șiruri. Această funcție returnează un număr întreg pe baza rezultatului comparației. Zero ‘ 0 ‘ înseamnă o potrivire perfectă, iar exemplul de cod de mai jos evidențiază celula dacă rezultatul nu este egal cu ‘0’.

funcția StrComp primește 3 argumente: primele 2 argumente sunt șirurile care trebuie comparate, iar ultima este tipul de comparație (opțional). Dacă este omisă, opțiunea comparați setarea determină tipul de comparație. Mai jos sunt toate opțiunile disponibile:

  • vbUseCompareOption: efectuează o comparație utilizând setarea opțiunii comparați instrucțiunea.
  • vbBinaryCompare: efectuează o comparație binară. Sensibil la majuscule.
  • vbTextCompare: efectuează o comparație textuală. Nu e sensibil la majuscule.
  • vbDatabaseCompare: Efectuează o comparație pe baza informațiilor din Baza de date. Numai Microsoft Access.

codul cere utilizatorului să selecteze rândurile într-un singur interval. Intervalul selectat este atribuit unei variabile de interval bothrows și fiecare celulă din acel interval este comparată coloană cu coloană. Folosind o declarație cu, nu trebuie să repetăm ambele rânduri pentru fiecare rând, iar pentru…următoarea buclă este modul în care putem verifica fiecare celulă.

evidențierea

după ce obțineți intervalul, puteți utiliza proprietatea ColorIndex pentru a seta intervalul respectiv o culoare. Iată câteva numere de index pentru culori:

  • 3: Roșu
  • 5: Albastru
  • 6: Galben
  • 0: fără umplere

mai întâi, trebuie să adăugați modulul în registrul de lucru sau în fișierul de completare. Copiați și inserați codul în modul pentru al rula. Principalul avantaj al metodei modulului este că permite salvarea codului în fișier, astfel încât acesta să poată fi folosit din nou mai târziu. Mai mult, subrutinele din module pot fi utilizate de pictogramele din meniu panglici sau comenzi rapide de la tastatură. Nu uitați să salvați fișierul în format XLSM sau XLAM pentru a salva codul VBA.

exemplu de cod pentru evidențierea

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

Lasă un răspuns

Adresa ta de email nu va fi publicată.