Ponavljanje dela kode

Pomoč pri izdelavi makrov
Odgovori
jumanjy
Prispevkov: 134
Pridružen: To Jan 12, 2010 1:00 pm

Ponavljanje dela kode

Odgovor Napisal/-a jumanjy »

Pozdravljeni,

V excelu tiskam neke obrazce, ki so oštevilčeni, z Do Until zanko. Se pravi določim do katere številke obrazca naj se tiska. Zanima pa me kako bi določil, da se ta del kode ponovi x krat. Recimo rabim 5 obrazcev in se del kode v makru 5x ponovi.

Hvala!
admin
Site Admin
Prispevkov: 3704
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Ponavljanje dela kode

Odgovor Napisal/-a admin »

Da bi vam lahko pomagal, boste morali priložiti ustrezno kodo oz. vsaj del kode, saj si iz opisa ne morem predstavljati, kako to trenutno počnete.
lp,
Matjaž Prtenjak
Administrator
jumanjy
Prispevkov: 134
Pridružen: To Jan 12, 2010 1:00 pm

Re: Ponavljanje dela kode

Odgovor Napisal/-a jumanjy »

Koda: Izberi vse

Do Until Range("A1") = Range ("A2") + 1
PrintOut
Range("A1") .Value = Range("A1"). Value+ 1
Loop

Takole približno izgleda del kode ki se ponovi toliko krat dokler A1 ni enako A2. Se pravi v celico A2 napišem 50 in natisne obrazece od prejšnje številke do 50. Hotel pa bi da nekam zapišemo koliko obrazcev želim natisniti ne glede na zadnjo zaporedno številko.
Upam da ste me sedaj razumeli kaj sem imel v mislih . :oops:
admin
Site Admin
Prispevkov: 3704
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Ponavljanje dela kode

Odgovor Napisal/-a admin »

Pozdravljeni,

če vas razumem pravilno, morate pač zapisati še eno zanko v zanki. Če torej želite, da se notranji del zanke ponovi še 5x ob vsakem izvajanju potem to naredite takole

Koda: Izberi vse

  Do Until Range("A1") = Range ("A2") + 1
    for i = 1 to 5
      PrintOut  ' ta del se bo izvedel 5x ob vsakem prehodu
    next
    
    Range("A1") .Value = Range("A1"). Value+ 1
  Loop
lp,
Matjaž Prtenjak
Administrator
jumanjy
Prispevkov: 134
Pridružen: To Jan 12, 2010 1:00 pm

Re: Ponavljanje dela kode

Odgovor Napisal/-a jumanjy »

Jaz pobrišem mojo Du Until zanko v vaši for-i pa tisto 5ko zamenjam z Range("B1") in deluje. :D
Takole pa izgleda nov makro.

Koda: Izberi vse

      For i = 1 to Range("B1")
      PrintOut  ' ta del se bo izvedel x krat ob vsakem prehodu
      Range("A1") .Value = Range("A1"). Value+ 1
      Next
Najlepša hvala
Odgovori