Excel – Brisanje dupliciranih brojeva iz liste

Ukoliko intenzivno koristite Excel u profesionalnom radu, moลพda ฤ‡e vam se javiti potreba da iz liste brojeva (bloka ฤ‡elija) izbacite one koji se ponavljaju. Uklanjanje duplikata moลพete odraditi procesom filtriranja, ali onda se brojevi zaista i ne odstranjuju, veฤ‡ se samo skrivaju. Druga moguฤ‡nost je da sortirate listu i ruฤno uklonite sve duplikate, ลกto nije teลกko ukoliko je lista mala. Ali ลกta ako imate blok ฤ‡elija koji broji recimo 2000 vrednosti? Ovo vama ili vaลกim saradnicima moลพe da oduzme dosta vremena. Kao i uvek i za ovaj problem postoji elegantno VBA reลกenje.

U sledeฤ‡em VBA programskom kodu videฤ‡ete kako moลพete vrlo brzo (naravno, uz pomoฤ‡ petlji) da proฤ‘ete kroz listu brojeva i uklonite duplicirane. Pre toga, pre pozivanja makroa, bitno je samo da sortirate listu brojeva:


Public CurRow, oZ, uY, Qq

Sub Brisi_Duplikate()
Sheets("Sheet1").Activate
Qq = Application.CountA(ActiveSheet.Range("A:A"))
{prebrojte celije pre pocetka}
For uY = 1 To 6
{prva petlja prolazi 6 puta}
For oZ = 2 To Qq
{glavna petlja}
If Cells(oZ, 1) = Cells(oZ – 1, 1) Then
{provera duplikata}
Cells(oZ, 1).Select
{selekcija celije sa dupliciranom vrednoscu}
Selection.Delete Shift:=xlUp
{Brisanje celije}
Qq = Qq – 1
{promena kriterija petlje, jer date celije vise nema}
End If
Next
{unutrasnja petlja}
Next
{spoljna petlja}
End Sub

Pratite Krstaricu na www.krstarica.com