jak porównać dwa wiersze w programie Excel za pomocą VBA
porównywanie danych wiersz po wierszu ręcznie może być żmudnym procesem, jeśli odbywa się to ręcznie. Pozwól nam pokazać, jak porównać dwa wiersze w programie Excel za pomocą VBA i zautomatyzować ten proces.
VBA ma wbudowaną funkcję o nazwie StrComp, która może porównywać dwa ciągi znaków. Funkcja ta zwraca liczbę całkowitą na podstawie wyniku porównania. Zero ‘ 0 ‘oznacza idealne dopasowanie, a poniższy przykład kodu podkreśla komórkę, jeśli wynik nie jest równy ‘0’.
funkcja StrComp otrzymuje 3 argumenty: pierwsze 2 argumenty są łańcuchami do porównania, a ostatni jest typem porównawczym (opcjonalnie). Jeśli zostanie pominięta, opcja Porównaj określa typ porównania. Poniżej znajdują się wszystkie dostępne opcje:
- vbUseCompareOption: wykonuje porównanie przy użyciu ustawienia instrukcji Option Compare.
- vbBinaryCompare: wykonuje porównanie binarne. Rozróżniamy wielkość liter.
- vbTextCompare: wykonuje porównanie tekstowe. Nie rozróżnia wielkości liter.
- vbDatabaseCompare: Wykonuje porównanie na podstawie informacji w bazie danych. Tylko Microsoft Access.
kod wymaga od użytkownika wybrania wierszy w jednym zakresie. Wybrany zakres jest przypisany do zmiennej zakres bothrows i każda komórka w tym zakresie jest porównywana kolumna po kolumnie. Używając polecenia With, nie musimy powtarzać obu wierszy dla każdego wiersza, A for … Następna pętla to jak możemy sprawdzić każdą komórkę.
podświetlanie
po uzyskaniu zakresu możesz użyć właściwości ColorIndex, aby ustawić ten zakres jako kolor. Oto kilka numerów indeksowych dla kolorów:
- 3: Czerwony
- 5: Niebieski
- 6: Żółty
- 0: bez wypełnienia
najpierw musisz dodać moduł do skoroszytu lub pliku dodatku. Skopiuj i wklej kod do modułu, aby go uruchomić. Główną zaletą metody modułowej jest to, że umożliwia zapisanie kodu w pliku, dzięki czemu można go później ponownie wykorzystać. Ponadto podprogramy w modułach mogą być używane przez ikony na wstążkach menu lub skróty klawiaturowe. Pamiętaj, aby zapisać plik w formacie XLSM lub XLAM, aby zapisać kod VBA.
przykładowy kod do podświetlania
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