Pozdravljeni
Vprašanje moram malo bolj pojasniti.
Za gasilsko društvo sem pripravil obrazec za vnos poročil o akcijah in postopek za pripravo zbirnega poročila.
Postopek je naslednji:
1. V prvem (zagonskem) zvezku je le gumb za naročilo priprave novega poročila in drug gumb za naročilo zbirnega poročila.
2. Obrazec za vnos sem pripravil v posebnem "INIT" zvezku v katerem sem pustil "odptre" le celice za vnos, ostale sem pa zaščitil.
V "INIT" zvezku je tudi precej VBA kode za logično in vezano kontrolo, za obdelavo ListBox-ov, itd.
3. Posamezno poročilo naredim takole:
3.1 Z gumbom za novo poročilo zaženem makro ki naredi:
- Odpre INIT poročilo
- Določi naslednjo številko poročila ("Porocilo_NN")
- Shrani INIT poročilo z imenom "Porocilo_NN.xlsm"
- Odpre poročilo "Porocilo_NN.xlsm" ( prazno poročilo )
3.2 Uporabnik vnese podatke, izpiše poročilo, pošlje poročilo na gasilsko zvezo in zapre zvezek (poročilo).
Po nekaj-mesečni uporabi sem dobil predloge za nekaj dopolnitev. Popravil naj bi tudi že narejena poročila.
Pripravil sem makro, ki v zanki obdela vsa poročila in popravi vsebino zvezka (formati celic, formule, barve, nove rubrike, ... vse to znam narediti).
V poročilih je pa tudi VBA koda, ki bi jo tudi rad popravil. TEGA PA NE ZNAM.
Zato prosim za pomoč.
ps.
Mogoče sem se pa nerodno lotil zadeve. Verjetno ste o tovrstni uporabi Excel-a kaj pisali. prosim za link, do te vsebine.
Lepo pozdravljeni in vnaprej hvala za pomoč
Drago
Popravek VBA kode z VBA kodo
Re: Popravek VBA kode z VBA kodo
Pozdravljeni,
To česar ste se lotili ni preprosto, je pa izvedljivo. Jaz se osebno tega sicer nebi lotil tako, da bi "popravljal" VBA kodo, temveč bi:
Kodo, ki se nahaja v tem, delovnem zvezku sem pobral na spletu a izvora ne vem, saj je koda že stara. Mogoče lahko po ključnih besedah v kodi najdete tudi izvor.
PS:
Tega problema bi ne imeli, če bi se držali relativno preprostega načela, da kode na pišite v sam delovni zvezek, temveč naredite delovni zvezek z makri in dajte vso kodo v ta delovni zvezek, ki potem upravlja z drugimi delovnimi zvezki. V tem primeru morate torej kodo popraviti na enem mestu.
To česar ste se lotili ni preprosto, je pa izvedljivo. Jaz se osebno tega sicer nebi lotil tako, da bi "popravljal" VBA kodo, temveč bi:
- Kodo popravil
- Jo izvozil na disk
- Iz diska uvozil nazaj v vse DZ, ki bi jih bilo potrebno popraviti
Kodo, ki se nahaja v tem, delovnem zvezku sem pobral na spletu a izvora ne vem, saj je koda že stara. Mogoče lahko po ključnih besedah v kodi najdete tudi izvor.
PS:
Tega problema bi ne imeli, če bi se držali relativno preprostega načela, da kode na pišite v sam delovni zvezek, temveč naredite delovni zvezek z makri in dajte vso kodo v ta delovni zvezek, ki potem upravlja z drugimi delovnimi zvezki. V tem primeru morate torej kodo popraviti na enem mestu.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Popravek VBA kode z VBA kodo
Hvala za hiter odgovor.
Se strinjam, uvoz kode je boljša rešitev kot popravljanje.
PS
Razmišljal sem že o rešitvi, da bi dal vso kodo v poseben zvezek. Motilo me le to, da moram imeti v tem primeru vedno odprta dva zvezka - zvezek s kodo in trenutno poročilo.
Spraševal sem kakšni problemi bi nastali pri pošiljanju obrazca drugemu uporabniku ( bi moral prilagati vedno tudi zvezek s kodo ?), kaj, če ima uporabnik odprtih več zvezkov, kaj če zapre zvezek s kodo itd.
Uporabniki imajo le osnovno znanje excel-a. Zato sem poskušal narediti obrazec, ki ga ne morejo "pokvariti".
Vsekakor bom pa naredil vsaj en resen test te variante. Verjetno bom tako dobil odgovore na pomisleke. Sicer se pa vrnem.
Še enkrat hvala in lep pozdrav,
Drago
Se strinjam, uvoz kode je boljša rešitev kot popravljanje.
PS
Razmišljal sem že o rešitvi, da bi dal vso kodo v poseben zvezek. Motilo me le to, da moram imeti v tem primeru vedno odprta dva zvezka - zvezek s kodo in trenutno poročilo.
Spraševal sem kakšni problemi bi nastali pri pošiljanju obrazca drugemu uporabniku ( bi moral prilagati vedno tudi zvezek s kodo ?), kaj, če ima uporabnik odprtih več zvezkov, kaj če zapre zvezek s kodo itd.
Uporabniki imajo le osnovno znanje excel-a. Zato sem poskušal narediti obrazec, ki ga ne morejo "pokvariti".
Vsekakor bom pa naredil vsaj en resen test te variante. Verjetno bom tako dobil odgovore na pomisleke. Sicer se pa vrnem.
Še enkrat hvala in lep pozdrav,
Drago
Re: Popravek VBA kode z VBA kodo
Mogoče bo še koga zanimalo.
Malo sem obrnil zadevo:
Namesto, da bi popravljal stare zvezke sem s predlogo ustvaril nov dopolnjen (tudi z novo VBA kodo) zvezek, potem sem pa iz starega v nov zvezek prepisal samo podatke.
Seveda sem najprej naredil kopijo starih zvezkov in nove zvezke poimenoval in shranil s starimi imeni.
Lep pozdrav,
Drago
Malo sem obrnil zadevo:
Namesto, da bi popravljal stare zvezke sem s predlogo ustvaril nov dopolnjen (tudi z novo VBA kodo) zvezek, potem sem pa iz starega v nov zvezek prepisal samo podatke.
Seveda sem najprej naredil kopijo starih zvezkov in nove zvezke poimenoval in shranil s starimi imeni.
Lep pozdrav,
Drago