Brisanje vrstic

Pomoč pri izdelavi makrov
Odgovori
sonofagun
Prispevkov: 119
Pridružen: Če Mar 26, 2009 11:05 am

Brisanje vrstic

Odgovor Napisal/-a sonofagun »

Pozdravljeni.

Spet imam problem, kako nek dokument urediti v Excelu oz. spisati primeren makro. Izbrisal bi namreč rad "neuporabne" vrstice... Da bolj podrobno razložim:
na sliki (povezava) je razvidno, da je celica z imenom, ki ji sledi celica s številko "uporabna" in bi jo rad obdržal (1. Gregor, 2. Marko, 3. Janez, 8. Uroš), celico, ki ji ne sledi vrstica s številko, pa bi želel izbrisati (celo vrstico z "neuporabno" celico vred ; 4. Gašper - vrstica 11, 5. Jaka - 12, 7. Mirko - 13). Najbolj smiselna stvar se mi zdi, da bi izdelal zapis, ki bi na določenem območju izbrisal vse vrstice, ki imajo v celici "." in je celica diagonalna od njih (spodaj desno) prazna., saj bi s tem obdržal vrstico, ki vsebuje celico s vsebino "IME". Lepo bi prosil, če bi mi lahko pomagali pri oblikovanju tega zapisa.

http://picasaweb.google.si/lh/photo/ep6 ... directlink

Lp, Gregor
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Brisanje vrstic

Odgovor Napisal/-a admin »

Uf, kje pa... stvar je čisto preprosta.
  1. Začnete v neki vrstici in se v while zanki premikate po vrsticah navzdol
  2. Če pridete do vrstice, kjer sta koloni B in C prazni končate
  3. Sicer samo pogledate, če je kolona B polna, potem mora biti v naslednji vrstici kolona C polna - če ni jo izbrišete in nadaljujete, sicer povečate števec vrstic za 1
Torej samo ena while zanka in to je to...
lp,
Matjaž Prtenjak
Administrator
sonofagun
Prispevkov: 119
Pridružen: Če Mar 26, 2009 11:05 am

Re: Brisanje vrstic

Odgovor Napisal/-a sonofagun »

Nisem prepričan, da je to to?? To pomeni, da bi izbrisal tudi vrstico s celico "IME", tega pa ne želim, ker predstavlja neko "skupino" postavk v nadaljevanju... Ravno to vse skupaj stvar zakomplicira...
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Brisanje vrstic

Odgovor Napisal/-a admin »

:? Ah bova prej, če vam kar napišem...

Tisto, ker ste želeli v uvodnem vprašanju vam naredi spodnji makro:

Koda: Izberi vse

Sub delaj()
  Dim vrstica As Long
  
  vrstica = 5
  While (Cells(vrstica, 2) <> "")
    If (Cells(vrstica + 1, 3) = "") Then
      Rows(vrstica).Delete
    Else
      vrstica = vrstica + 2
    End If
  Wend
End Sub
V koliko pa iščete nekaj drugega, pa ste vprašanje postavili napačno....
lp,
Matjaž Prtenjak
Administrator
sonofagun
Prispevkov: 119
Pridružen: Če Mar 26, 2009 11:05 am

Re: Brisanje vrstic

Odgovor Napisal/-a sonofagun »

Sem ugotovil, da res nisem dovolj dobro predstavil problema. Dodajam še eno sliko http://picasaweb.google.si/lh/photo/nL- ... directlink. Vrstici s celicama "IME" in "PRIIMEK" ne bi rad v nobenem primeru izbrisal...
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Brisanje vrstic

Odgovor Napisal/-a admin »

Pač vprašate se, če je v celici besedica IME ali PRIIMEK in v tem primeru celico preskočite...

Koda: Izberi vse

Sub delaj()
  Dim vrstica As Long
 
  vrstica = 5
  While (Cells(vrstica, 2) <> "")
    If (Cells(vrstica, 2) = "IME") Or (Cells(vrstica, 2) = "PRIIMEK") Then
      vrstica = vrstica + 1
    Else
      If (Cells(vrstica + 1, 3) = "") Then
        Rows(vrstica).Delete
      Else
        vrstica = vrstica + 2
      End If
    End If
  Wend
End Sub
lp,
Matjaž Prtenjak
Administrator
Odgovori