hogyan lehet összehasonlítani két sort az Excelben a VBA használatával

az adatok soronkénti kézi összehasonlítása unalmas folyamat lehet, ha manuálisan történik. Mutassuk meg, hogyan lehet összehasonlítani két sort az Excelben a VBA használatával, és automatizálni ezt a folyamatot.

a VBA beépített strcomp nevű funkcióval rendelkezik, amely két karakterláncot képes összehasonlítani. Ez a függvény egész számot ad vissza az összehasonlítás eredménye alapján. A nulla ‘ 0 ‘tökéletes egyezést jelent, és az alábbi kódpélda kiemeli a cellát, ha az eredmény nem egyenlő’0’ – val.

StrComp függvény 3 argumentumot kap: az első 2 argumentum az összehasonlítandó karakterlánc, az utolsó pedig az összehasonlítás típusa (opcionális). Ha nincs megadva, az összehasonlítás beállítás határozza meg az összehasonlítás típusát. Az alábbiakban az összes rendelkezésre álló lehetőség:

  • vbUseCompareOption: összehasonlítást hajt végre az opció összehasonlítási utasítás beállításával.
  • vbBinaryCompare: bináris összehasonlítást végez. Kis-és nagybetűk.
  • vbTextCompare: szöveges összehasonlítást végez. Nem érzékeny a kis-és nagybetűkre.
  • vbDatabaseCompare: Összehasonlítást végez az adatbázisban található információk alapján. Csak Microsoft Access.

a kód megköveteli, hogy a felhasználó egyetlen tartományban válassza ki a sorokat. A kiválasztott tartomány egy bothrows tartományváltozóhoz van hozzárendelve, és az adott tartomány minden celláját oszloponként hasonlítja össze. A With utasítás használatával nem kell mindkét Sort megismételnünk minden sorban,és … a következő ciklus az, hogyan ellenőrizhetünk minden cellát.

kiemelés

miután megkapta a tartományt, a ColorIndex tulajdonság segítségével beállíthatja a tartomány színét. Íme néhány indexszám a színekhez:

  • 3: Piros
  • 5: Kék
  • 6: Sárga
  • 0: nincs kitöltés

először hozzá kell adnia a modult a munkafüzetbe vagy a bővítményfájlba. Másolja be a kódot a modulba a futtatáshoz. A modul módszer fő előnye, hogy lehetővé teszi a kód fájlba mentését, így később újra felhasználható. Ezenkívül a modulok alprogramjait a menü ikonjai használhatják szalagok vagy billentyűparancsok. Ne felejtse el menteni a fájlt XLSM vagy XLAM formátumban a VBA kód mentéséhez.

mintakód a kiemeléshez

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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.