[ intelekt @ 11.03.2009. 10:28 ] @
Pretrazio sam ceo es i par drugih foruma ali odgovor na sledece nisam nasao:
u Sheet1 imam spisak stavki po redovima, npr:
1. Belo
2. Zeleno
3. Belo
4. Zuto
5. Plavo
6. Crno
7. Crno
8. Plavo
itd

U Sheet2 dva su boje:
1. Plavo
2. Zeleno

Na osnovu spiska iz Sheet2, potrebno je da u Sheet1 budu izbrisani svi redovi OSIM onih sa Sheet2. Dakle, da ostanu samo Plavo i Zeleno, sve ostalo da se izbrise.
Kako to moze da se uradi?
[ momsab @ 11.03.2009. 16:58 ] @
programiranjem makroa (skripte) u kojoj napises da proedi to sto hoces i da brise ako nije TRUE
[ timmy @ 11.03.2009. 20:34 ] @
1. Dodaj novi modul (pritisni Alt+F11, pa Insert Module)
2. Ubaci sledeci kod

Code:

Public Sub Brisi()
Dim s1 As String
Dim s2 As String
   
    s1 = [Sheet2!A1].Value
    s2 = [Sheet2!A2].Value
    
    Sheets("Sheet1").Activate
    Range("A1").Select
    Do
        If ActiveCell.Value <> s1 And ActiveCell.Value <> s2 Then
            ActiveCell.Rows("1:1").EntireRow.Select
            Selection.Delete Shift:=xlUp
            ActiveCell.Select
        Else
            ActiveCell.Offset(1, 0).Range("A1").Select
        End If
    Loop Until ActiveCell.Value = ""

End Sub


Ovaj kod ce sa Sheet1 obrisati sve one redove u kojima se u koloni A nalaze vrednosti kojih nema u celijama A1 i A2 na listu Sheet2

3. Zatvori VB Editor
4. Startuj Makro (Alt+F8, nadji na spisku Brisi i pritini Run)

Pozdrav
[ intelekt @ 12.03.2009. 10:33 ] @
Hvala, radi.