Często e Excelu potrzebujemy zrobić porównanie dwóch kolumn i zamiast ręcznie szukać każdej pozycji można zastosować Makro.

Więc do Dzieła

Porównanie 2 kolumn w arkuszu i podświetlenie pasujących wartości.

Otwieramy arkusz excel-a, klikamy klawisz Makro

Excel Klawissz Makro

w zakładce Deweloper  .

 

Moza posłużyć się kombinacja klawiszy ALT + F11 lub jak ktoś niema zakładki Deweloper może sobie ja włączyć

Klikamy PLIK > OPCJE >Dostosowanie wstążki  i zaznaczamy „ptaszka” Przy DEWELOPER

Klikamy więc Makro i wpisujemy nazwę naszego  makra nr:porównanie ( ja wpisuje bez polskich znaków )

Otworzy się następne okienko gdzie wklejamy nasz kod ( ten poniżej )  poprawimy to co zaznaczone aby dopasować do swoich potrzeb zamykamy i

UWAGA

PAMIETAJ o zmianie parametrów pod swoje potrzeby .-

– Wybieramy nazwę arkusza

-Które  kolumny ma porównać ( kolumna A to 1 B to 2 itd..

-Możesz wybrać kolor zaznaczenia

A oto zbawienny kod makro który porówna nam dwie kolumny i zaznaczy powtarzające się fragmenty

Sub POROWNANIE()
Dim c1 As Integer, c2 As Integer
Dim i As Long, k As Long, count As Long
Dim lr1 As Long, lr2 As Long
Dim cf1 As String, cf2 As String
Dim WS As Worksheet
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

' Wpisz nazwę Arkusza

'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Set WS = Worksheets("Arkusz2") ' możena tez podać numer zakładki np: Set WS = Worksheets(2)

Application.ScreenUpdating = False
Application.StatusBar = "Chwila  przgotowuje raport raport..."
Application.DisplayAlerts = True

'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

' Wpisz swoje  numer kolumny  które chcesz porównać  w C1 oraz   C2 oraz     (1 to kolumna  A  2 to  kolumna B  itd.)

'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
c1 = 1
c2 = 3

With WS.UsedRange
lr1 = .Rows.count
End With

For i = 2 To lr1
For k = 2 To lr1
cf1 = ""
cf2 = ""
On Error Resume Next
cf1 = WS.Cells(i, c1).FormulaLocal
cf2 = WS.Cells(k, c2).FormulaLocal
On Error GoTo 0
If cf1 = cf2 Then
count = count + 1

'Możesz zmienic kolor zamiast 46 wpisz wartość od 0-255
WS.Cells(i, c1).Interior.ColorIndex = 46
WS.Cells(i, c1).Select
Selection.Font.Bold = True

Exit For
End If
Next k
Next i
Application.StatusBar = "Przygotowuje raport......"
'Columns("A:IV").ColumnWidth = 10
Application.StatusBar = False
Application.ScreenUpdating = True
MsgBox count & " komórki zawierają te same wartości! ", vbInformation, _
"Porównano kolumnę  " & c1 & " z kolumną " & c2
End Sub

I to chyba wszystko

TH  team  🙂  Vertical Horizons