Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel VBA - Formátovanie

Zdravím,
chcel by som poprosiť o riešenie, ktoré by z vygenerovanej tabuľky, naformátovalo list pre tlačenie údajov nasledovne( neovládam VBA):

Na liste „PrvaSK4“ mám vygenerovanú tabuľku, ktorá obsahuje vždy trojice opakujúcich sa stĺpcov (t.j. B3:D24; E3:G24; H3:J24; ...atd až do max. 50 troj-stĺpcov – posledný je ES3:EU24) s rôznymi údajmi. Počet stĺpcov a riadkov sa dynamicky mení a to tak, že počet troj-stĺpcov sa mení podľa obsahu bunky D17 na liste 2 a počet riadkov sa mení podľa obsahu bunky D20 na liste 2.
Každý troj-stĺpec má v druhom stĺpci v riadku 25 ( C25, F25, I25, .... ET25) vygenerovanú nejakú hodnotu.
Rovnakým spôsobom je na liste „DruhaSK4“ vygenerovaná rovnaká tabuľka ako predchádzajúca, s inými údajmi.

Prvé makro:
Pri zmene niektorej z buniek D17 alebo D20 potrebujem , aby sa z aktuálneho počtu troj-stĺpcov s počtom riadkov= D20 z listu „PrvaSK4“, prekopírovala vždy prvá dvojica stĺpcov (t.j. B,C; E,F; H,I; .... až do počtu= D17) do listu „PTPRVA“ a to tak, že sa od bunky A1 kopíruje max. 12 dvoj-stĺpcov, ďalších max. 12 dvoj-stĺpcov sa kopíruje pod prázdny riadok pod predchádzajúce skopírované dvoj-stĺpce. Prázdny riadok treba vždy vytvoriť. Kopírovať len hodnoty, nie formáty buniek.
Kopírovať stĺpce je možné po riadok 44 t.j. kopírovaný stĺpec nemôže byť rozdelený riadkom 44. Ak je takýto prípad, musí kopírovanie stĺpca začínať na riadku 45 (Napr. 43 stĺpcov a 13 riadkov bude rozdelených nasledovne: A1:X13, A15:X27, A29:X41, A45:N57).
Kopírovanie sa vmestí do A1:X88.
Bunky do ktorých sa nekopíruje sa musia vynulovať – musia byť prázdne.

Druhé makro:
Kopírovanie stĺpcov s väčšou hodnotou
Ak je na liste 1 v bunke K21 = 0, skryť na liste 1 stĺpce G, H a súčasne skryť listy „DruhaSK4“ , „PT21“ a „PT22“. Ak K =1 tak uvedené stĺpce a listy zobraz.
Ak K21 = 1, potom porovnaj zodpovedajúce hodnoty v riadku 25 (C25, F25, I25, .... ET25 - viď začiatok textu) v daných stĺpcoch na listoch „PrvaSK4“ a „DruhaSK4“. Ak je hodnota na liste „PrvaSK4“ >= hodnote na liste „DruhaSK4“ , skopíruj dvoj-stĺpec z „PrvaSK4“ do listu „PT21“ rovnakým spôsobom ako pri prvom makre. Ak je hodnota na liste „PrvaSK4“ < ako hodnota na liste „DruhaSK4“ , skopíruj dvoj-stĺpec z „DruhaSK4“ do listu „PT22“ rovnakým spôsobom ako pri prvom makre.
Excel 2003, Windows XP.
Vopred ďakujem

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny