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, QqSub 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