Public Function Unizu(S As Range) As Boolean Dim Nizz As Range Set Nizz = Range("M16", Range("M16").End(xlDown)) 'gde su celije za proveru Unizu = False For Each st In Nizz.Cells If (S = st) Then Unizu = True GoTo kraj End If Next st kraj: End Function Public Sub slozi() Dim r As Range Dim uzorak As Range Dim selekcija As Range Dim pocetna As Range Set pocetna = Range("B2") 'odakle krece Set uzorak = Range("A2") 'prva celija sa kojom uporedjujemo For m = 1 To 5 Set r = pocetna For i = 1 To 40 If Unizu(r) Then 'proveravamo da li se vocka nalazi u grupi za slaganje Do Until r = uzorak Set selekcija = Range(r, r.End(xlDown)) 'pomeramo celiju i sve povezane selekcija.Select 'ispod nje za po jedno mesto na dole Selection.Cut ActiveCell.Offset(1, 0).Range("A1").Select ActiveSheet.Paste Set uzorak = uzorak.Offset(1, 0) 'pa uzimamo sledecu ispod za uporedjivanje 'i tako dok ne poklopimo sa prvom kolonom Loop End If Set r = r.Offset(1, 0) Set uzorak = uzorak.Offset(1, 0) Next i Set pocetna = pocetna.Offset(0, 1) 'prelazak na sledecu kolonu Set uzorak = Range("A2") Next m End Sub