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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.