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